forked from distok/cutthecord
		
	Move nohiddenchannels into slashcommands
This commit is contained in:
		
							parent
							
								
									a7f878d29f
								
							
						
					
					
						commit
						bcd2c620e9
					
				
					 4 changed files with 158 additions and 70 deletions
				
			
		|  | @ -1,49 +0,0 @@ | |||
| diff -crB com.discord-903-base/smali/com/discord/models/domain/ModelChannel.smali com.discord-903/smali/com/discord/models/domain/ModelChannel.smali
 | ||||
| *** com.discord-903-base/smali/com/discord/models/domain/ModelChannel.smali	2019-05-24 23:40:49.520802264 +0300 | ||||
| --- com.discord-903/smali/com/discord/models/domain/ModelChannel.smali	2019-05-25 02:48:42.334585852 +0300
 | ||||
| *************** | ||||
| *** 431,437 **** | ||||
|   .end method | ||||
|    | ||||
|   .method private computeName()Ljava/lang/String; | ||||
| !     .locals 1
 | ||||
|    | ||||
|       .line 272 | ||||
|       invoke-virtual {p0}, Lcom/discord/models/domain/ModelChannel;->isPrivate()Z | ||||
| --- 431,437 ----
 | ||||
|   .end method | ||||
|    | ||||
|   .method private computeName()Ljava/lang/String; | ||||
| !     .locals 2
 | ||||
|    | ||||
|       .line 272 | ||||
|       invoke-virtual {p0}, Lcom/discord/models/domain/ModelChannel;->isPrivate()Z | ||||
| *************** | ||||
| *** 2083,2095 **** | ||||
|       .end annotation | ||||
|    | ||||
|       .line 246 | ||||
| !     iget-object v0, p0, Lcom/discord/models/domain/ModelChannel;->permissionOverwrites:Ljava/util/Map;
 | ||||
|    | ||||
| !     if-eqz v0, :cond_0
 | ||||
|    | ||||
| !     return-object v0
 | ||||
|    | ||||
| !     :cond_0
 | ||||
|       sget-object v0, Lcom/discord/models/domain/ModelChannel;->EMPTY_PERMISSION_OVERWRITES:Ljava/util/Map; | ||||
|    | ||||
|       return-object v0 | ||||
| --- 2083,2095 ----
 | ||||
|       .end annotation | ||||
|    | ||||
|       .line 246 | ||||
| !     #iget-object v0, p0, Lcom/discord/models/domain/ModelChannel;->permissionOverwrites:Ljava/util/Map;
 | ||||
|    | ||||
| !     #if-eqz v0, :cond_0
 | ||||
|    | ||||
| !     #return-object v0
 | ||||
|    | ||||
| !     #:cond_0
 | ||||
|       sget-object v0, Lcom/discord/models/domain/ModelChannel;->EMPTY_PERMISSION_OVERWRITES:Ljava/util/Map; | ||||
|    | ||||
|       return-object v0 | ||||
|  | @ -1,11 +0,0 @@ | |||
| ## DisTok CutTheCord: No Hidden Channels Patch | ||||
| 
 | ||||
| This patch shows all channels in the channel list, even those you lack permissions to view. | ||||
| 
 | ||||
| #### Side effects / bugs | ||||
| - May break channel edits/creates, not sure | ||||
| - Currently no indicator is given if you can view a channel or not, I plan to prepend their name with smth later | ||||
| - Currently you can't turn this on or off, I'll also change that eventually | ||||
| 
 | ||||
| #### Available and tested on: | ||||
| - 9.0.3 | ||||
|  | @ -1,13 +1,35 @@ | |||
| Only in com.discord-900: build | ||||
| Only in com.discord-900: dist | ||||
| diff -crB com.discord-900-base/smali/com/discord/stores/StoreMessages.smali com.discord-900/smali/com/discord/stores/StoreMessages.smali
 | ||||
| *** com.discord-900-base/smali/com/discord/stores/StoreMessages.smali	2019-05-19 21:52:46.439797252 +0300 | ||||
| --- com.discord-900/smali/com/discord/stores/StoreMessages.smali	2019-05-21 19:28:27.037730466 +0300
 | ||||
| Only in com.discord-903: build | ||||
| Only in com.discord-903: dist | ||||
| diff -crB com.discord-903-base/smali/com/discord/models/domain/ModelChannel.smali com.discord-903/smali/com/discord/models/domain/ModelChannel.smali
 | ||||
| *** com.discord-903-base/smali/com/discord/models/domain/ModelChannel.smali	2019-05-24 23:40:49.520802264 +0300 | ||||
| --- com.discord-903/smali/com/discord/models/domain/ModelChannel.smali	2019-05-25 05:00:46.074702303 +0300
 | ||||
| *************** | ||||
| *** 2082,2087 **** | ||||
| --- 2082,2097 ----
 | ||||
|           } | ||||
|       .end annotation | ||||
|    | ||||
| +     invoke-static {}, Lcom/discord/stores/StoreStream;->getUserSettings()Lcom/discord/stores/StoreUserSettings;
 | ||||
| + 
 | ||||
| +     move-result-object v0
 | ||||
| + 
 | ||||
| +     invoke-virtual {v0}, Lcom/discord/stores/StoreUserSettings;->getLeakChannels()Z
 | ||||
| + 
 | ||||
| +     move-result v0
 | ||||
| + 
 | ||||
| +     if-eqz v0, :cond_0
 | ||||
| + 
 | ||||
|       .line 246 | ||||
|       iget-object v0, p0, Lcom/discord/models/domain/ModelChannel;->permissionOverwrites:Ljava/util/Map; | ||||
|    | ||||
| diff -crB com.discord-903-base/smali/com/discord/stores/StoreMessages.smali com.discord-903/smali/com/discord/stores/StoreMessages.smali
 | ||||
| *** com.discord-903-base/smali/com/discord/stores/StoreMessages.smali	2019-05-24 23:40:49.670802999 +0300 | ||||
| --- com.discord-903/smali/com/discord/stores/StoreMessages.smali	2019-05-25 05:39:51.367962305 +0300
 | ||||
| *************** | ||||
| *** 432,437 **** | ||||
| --- 432,441 ----
 | ||||
|    | ||||
|       invoke-static {p5, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V | ||||
|       invoke-static {p5, v0}, Lkotlin/jvm/internal/k;->h(Ljava/lang/Object;Ljava/lang/String;)V | ||||
|    | ||||
| +     invoke-static {p5}, Lcom/discord/stores/StoreMessages;->interceptEditMessage(Ljava/lang/String;)Ljava/lang/String;
 | ||||
| + 
 | ||||
|  | @ -18,7 +40,7 @@ diff -crB com.discord-900-base/smali/com/discord/stores/StoreMessages.smali com. | |||
|    | ||||
| *************** | ||||
| *** 948,953 **** | ||||
| --- 952,3465 ----
 | ||||
| --- 952,3537 ----
 | ||||
|       return-void | ||||
|   .end method | ||||
|    | ||||
|  | @ -2197,6 +2219,62 @@ diff -crB com.discord-900-base/smali/com/discord/stores/StoreMessages.smali com. | |||
| +     return-object p0
 | ||||
| + .end method
 | ||||
| + 
 | ||||
| + .method public static final slashCtc(Ljava/lang/String;)Ljava/lang/String;
 | ||||
| +     .locals 2
 | ||||
| + 
 | ||||
| +     # Length of command + space
 | ||||
| +     const/4 v0, 0x5
 | ||||
| + 
 | ||||
| +     invoke-virtual {p0, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String;
 | ||||
| + 
 | ||||
| +     move-result-object p0
 | ||||
| + 
 | ||||
| +     invoke-virtual {p0}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
 | ||||
| + 
 | ||||
| +     move-result-object p0
 | ||||
| + 
 | ||||
| +     # Move to second word interpretation
 | ||||
| + 
 | ||||
| +     const-string v0, "channelleak "
 | ||||
| + 
 | ||||
| +     invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
 | ||||
| + 
 | ||||
| +     move-result v0
 | ||||
| + 
 | ||||
| +     if-eqz v0, :cond_1
 | ||||
| + 
 | ||||
| +     # Move to config value interpretation
 | ||||
| + 
 | ||||
| +     const/16 v0, 0xc
 | ||||
| + 
 | ||||
| +     invoke-virtual {p0, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String;
 | ||||
| + 
 | ||||
| +     move-result-object p0
 | ||||
| + 
 | ||||
| +     const-string v0, "false"
 | ||||
| + 
 | ||||
| +     invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
 | ||||
| + 
 | ||||
| +     move-result v1
 | ||||
| + 
 | ||||
| +     # Set value
 | ||||
| + 
 | ||||
| +     invoke-static {}, Lcom/discord/stores/StoreStream;->getUserSettings()Lcom/discord/stores/StoreUserSettings;
 | ||||
| + 
 | ||||
| +     move-result-object v0
 | ||||
| + 
 | ||||
| +     invoke-virtual {v0, v1}, Lcom/discord/stores/StoreUserSettings;->setLeakChannels(Z)V
 | ||||
| + 
 | ||||
| +     const-string p0, "CTC: Set leakchannels state. (Under ideal conditions this should only be visible to you, but the world isn't always that fair, is it now?)"
 | ||||
| + 
 | ||||
| +     return-object p0
 | ||||
| + 
 | ||||
| +     :cond_1
 | ||||
| +     const-string p0, "CTC: No known command supplied. (Under ideal conditions this should only be visible to you, but the world isn't always that fair, is it now?)"
 | ||||
| + 
 | ||||
| +     return-object p0
 | ||||
| + .end method
 | ||||
| + 
 | ||||
| + .method public static final slashCommands(Ljava/lang/String;)Ljava/lang/String;
 | ||||
| +     .locals 1
 | ||||
| + 
 | ||||
|  | @ -2474,7 +2552,7 @@ diff -crB com.discord-900-base/smali/com/discord/stores/StoreMessages.smali com. | |||
| + 
 | ||||
| +     move-result v0
 | ||||
| + 
 | ||||
| +     if-eqz v0, :cond_0
 | ||||
| +     if-eqz v0, :cond_17
 | ||||
| + 
 | ||||
| +     invoke-static {p0}, Lcom/discord/stores/StoreMessages;->slashMorse(Ljava/lang/String;)Ljava/lang/String;
 | ||||
| + 
 | ||||
|  | @ -2482,6 +2560,22 @@ diff -crB com.discord-900-base/smali/com/discord/stores/StoreMessages.smali com. | |||
| + 
 | ||||
| +     goto :goto_0
 | ||||
| + 
 | ||||
| +     # ctc command
 | ||||
| +     :cond_17
 | ||||
| +     const-string v0, "/ctc "
 | ||||
| + 
 | ||||
| +     invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
 | ||||
| + 
 | ||||
| +     move-result v0
 | ||||
| + 
 | ||||
| +     if-eqz v0, :cond_0
 | ||||
| + 
 | ||||
| +     invoke-static {p0}, Lcom/discord/stores/StoreMessages;->slashCtc(Ljava/lang/String;)Ljava/lang/String;
 | ||||
| + 
 | ||||
| +     move-result-object p0
 | ||||
| + 
 | ||||
| +     goto :goto_0
 | ||||
| + 
 | ||||
| +     :cond_0
 | ||||
| +     :goto_0
 | ||||
| +     # And finally, trim output before sending it back
 | ||||
|  | @ -2535,9 +2629,9 @@ diff -crB com.discord-900-base/smali/com/discord/stores/StoreMessages.smali com. | |||
|       .annotation system Ldalvik/annotation/Signature; | ||||
| *************** | ||||
| *** 977,982 **** | ||||
| --- 3489,3498 ----
 | ||||
| --- 3561,3570 ----
 | ||||
|    | ||||
|       invoke-static {p4, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V | ||||
|       invoke-static {p4, v0}, Lkotlin/jvm/internal/k;->h(Ljava/lang/Object;Ljava/lang/String;)V | ||||
|    | ||||
| +     invoke-static {p4}, Lcom/discord/stores/StoreMessages;->interceptSendMessage(Ljava/lang/String;)Ljava/lang/String;
 | ||||
| + 
 | ||||
|  | @ -2546,3 +2640,54 @@ diff -crB com.discord-900-base/smali/com/discord/stores/StoreMessages.smali com. | |||
|       const/4 v0, 0x1 | ||||
|    | ||||
|       if-eqz p6, :cond_0 | ||||
| Only in com.discord-903/smali/com/discord/stores: StoreMessages.smali.orig | ||||
| diff -crB com.discord-903-base/smali/com/discord/stores/StoreUserSettings.smali com.discord-903/smali/com/discord/stores/StoreUserSettings.smali
 | ||||
| *** com.discord-903-base/smali/com/discord/stores/StoreUserSettings.smali	2019-05-24 23:40:49.700803146 +0300 | ||||
| --- com.discord-903/smali/com/discord/stores/StoreUserSettings.smali	2019-05-25 04:41:00.951108339 +0300
 | ||||
| *************** | ||||
| *** 1272,1277 **** | ||||
| --- 1272,1315 ----
 | ||||
|       return v0 | ||||
|   .end method | ||||
|    | ||||
| + .method public getLeakChannels()Z
 | ||||
| +     .locals 3
 | ||||
| + 
 | ||||
| +     .line 179
 | ||||
| +     iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->prefs:Landroid/content/SharedPreferences;
 | ||||
| + 
 | ||||
| +     const-string v1, "CACHE_KEY_CTC_LEAK_CHANNELS"
 | ||||
| + 
 | ||||
| +     const/4 v2, 0x1
 | ||||
| + 
 | ||||
| +     invoke-interface {v0, v1, v2}, Landroid/content/SharedPreferences;->getBoolean(Ljava/lang/String;Z)Z
 | ||||
| + 
 | ||||
| +     move-result v0
 | ||||
| + 
 | ||||
| +     return v0
 | ||||
| + .end method
 | ||||
| + 
 | ||||
| + .method public setLeakChannels(Z)V
 | ||||
| +     .locals 2
 | ||||
| + 
 | ||||
| +     .line 331
 | ||||
| +     iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->prefs:Landroid/content/SharedPreferences;
 | ||||
| + 
 | ||||
| +     invoke-interface {v0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor;
 | ||||
| + 
 | ||||
| +     move-result-object v0
 | ||||
| + 
 | ||||
| +     const-string v1, "CACHE_KEY_CTC_LEAK_CHANNELS"
 | ||||
| + 
 | ||||
| +     invoke-interface {v0, v1, p1}, Landroid/content/SharedPreferences$Editor;->putBoolean(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor;
 | ||||
| + 
 | ||||
| +     move-result-object p1
 | ||||
| + 
 | ||||
| +     invoke-interface {p1}, Landroid/content/SharedPreferences$Editor;->apply()V
 | ||||
| + 
 | ||||
| +     return-void
 | ||||
| + .end method
 | ||||
| + 
 | ||||
|   .method handleConnectionOpen(Lcom/discord/models/domain/ModelPayload;)V | ||||
|       .locals 0 | ||||
|    | ||||
|  |  | |||
|  | @ -22,6 +22,9 @@ Following commands are supported, but create less accessible text (so you should | |||
| - /flip -> Flips text (like "ʇɥıs") | ||||
| - /clap -> Please :clap: clap | ||||
| 
 | ||||
| CutTheCord has a couple features that can be enabled or disabled with slash commands as well: | ||||
| - /ctc channelleak true/false -> Shows all channels, even those you don't have permissions to view (might mess with channel editing or editing while it's enabled) | ||||
| 
 | ||||
| Commands like fw can be generated by `textreplacegen.py` or `textreplacegen-array.py` provided in this folder. | ||||
| 
 | ||||
| #### Available and tested on: | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue