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-903: build
|
||||||
Only in com.discord-900: dist
|
Only in com.discord-903: dist
|
||||||
diff -crB com.discord-900-base/smali/com/discord/stores/StoreMessages.smali com.discord-900/smali/com/discord/stores/StoreMessages.smali
|
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-900-base/smali/com/discord/stores/StoreMessages.smali 2019-05-19 21:52:46.439797252 +0300
|
*** com.discord-903-base/smali/com/discord/models/domain/ModelChannel.smali 2019-05-24 23:40:49.520802264 +0300
|
||||||
--- com.discord-900/smali/com/discord/stores/StoreMessages.smali 2019-05-21 19:28:27.037730466 +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,437 ****
|
||||||
--- 432,441 ----
|
--- 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;
|
+ 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 ****
|
*** 948,953 ****
|
||||||
--- 952,3465 ----
|
--- 952,3537 ----
|
||||||
return-void
|
return-void
|
||||||
.end method
|
.end method
|
||||||
|
|
||||||
|
@ -2197,6 +2219,62 @@ diff -crB com.discord-900-base/smali/com/discord/stores/StoreMessages.smali com.
|
||||||
+ return-object p0
|
+ return-object p0
|
||||||
+ .end method
|
+ .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;
|
+ .method public static final slashCommands(Ljava/lang/String;)Ljava/lang/String;
|
||||||
+ .locals 1
|
+ .locals 1
|
||||||
+
|
+
|
||||||
|
@ -2474,7 +2552,7 @@ diff -crB com.discord-900-base/smali/com/discord/stores/StoreMessages.smali com.
|
||||||
+
|
+
|
||||||
+ move-result v0
|
+ 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;
|
+ 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
|
+ 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
|
+ :cond_0
|
||||||
+ :goto_0
|
+ :goto_0
|
||||||
+ # And finally, trim output before sending it back
|
+ # 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;
|
.annotation system Ldalvik/annotation/Signature;
|
||||||
***************
|
***************
|
||||||
*** 977,982 ****
|
*** 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;
|
+ 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
|
const/4 v0, 0x1
|
||||||
|
|
||||||
if-eqz p6, :cond_0
|
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")
|
- /flip -> Flips text (like "ʇɥıs")
|
||||||
- /clap -> Please :clap: clap
|
- /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.
|
Commands like fw can be generated by `textreplacegen.py` or `textreplacegen-array.py` provided in this folder.
|
||||||
|
|
||||||
#### Available and tested on:
|
#### Available and tested on:
|
||||||
|
|
Loading…
Reference in a new issue