diff -crB from/smali/com/discord/gateway/io/IncomingParser.smali to/smali/com/discord/gateway/io/IncomingParser.smali *** from/smali/com/discord/gateway/io/IncomingParser.smali 2020-12-10 17:59:07.689847584 +0000 --- to/smali/com/discord/gateway/io/IncomingParser.smali 2020-12-10 18:02:12.309967819 +0000 *************** *** 750,755 **** --- 750,766 ---- .line 57 :goto_2 + + invoke-static {}, Lcom/discord/stores/StoreStream;->getUserSettings()Lcom/discord/stores/StoreUserSettings; + + move-result-object v0 + + invoke-virtual {v0}, Lcom/discord/stores/StoreUserSettings;->getNoDelete()Z + + move-result v4 + + if-nez v4, :cond_b + new-instance v0, Lcom/discord/models/domain/ModelMessageDelete; invoke-direct {v0}, Lcom/discord/models/domain/ModelMessageDelete;->()V diff -crB from/smali/com/discord/models/domain/ModelChannel.smali to/smali/com/discord/models/domain/ModelChannel.smali *** from/smali/com/discord/models/domain/ModelChannel.smali 2020-12-10 17:59:07.711847836 +0000 --- to/smali/com/discord/models/domain/ModelChannel.smali 2020-12-10 18:02:12.311967842 +0000 *************** *** 2292,2297 **** --- 2292,2307 ---- } .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 1 iget-object v0, p0, Lcom/discord/models/domain/ModelChannel;->permissionOverwrites:Ljava/util/Map; diff -crB from/smali/com/discord/models/domain/ModelMessageEmbed.smali to/smali/com/discord/models/domain/ModelMessageEmbed.smali *** from/smali/com/discord/models/domain/ModelMessageEmbed.smali 2020-12-10 17:59:07.733848090 +0000 --- to/smali/com/discord/models/domain/ModelMessageEmbed.smali 2020-12-10 18:02:12.311967842 +0000 *************** *** 2089,2095 **** .end method .method public isVideo()Z ! .locals 2 .line 1 iget-object v0, p0, Lcom/discord/models/domain/ModelMessageEmbed;->type:Ljava/lang/String; --- 2089,2095 ---- .end method .method public isVideo()Z ! .locals 3 .line 1 iget-object v0, p0, Lcom/discord/models/domain/ModelMessageEmbed;->type:Ljava/lang/String; *************** *** 2098,2106 **** invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ! move-result v0 ! return v0 .end method .method public toString()Ljava/lang/String; --- 2098,2125 ---- invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ! move-result v1 ! invoke-static {}, Lcom/discord/stores/StoreStream;->getUserSettings()Lcom/discord/stores/StoreUserSettings; ! ! move-result-object v2 ! ! invoke-virtual {v2}, Lcom/discord/stores/StoreUserSettings;->getAutoplayGifs()Z ! ! move-result v2 ! ! if-nez v2, :cond_0 ! ! const-string/jumbo v2, "gifv" ! ! invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z ! ! move-result v2 ! ! or-int v1, v1, v2 ! ! :cond_0 ! return v1 .end method .method public toString()Ljava/lang/String; diff -crB from/smali/com/discord/stores/StoreUserSettings.smali to/smali/com/discord/stores/StoreUserSettings.smali *** from/smali/com/discord/stores/StoreUserSettings.smali 2020-12-10 17:59:08.075852027 +0000 --- to/smali/com/discord/stores/StoreUserSettings.smali 2020-12-10 18:02:12.311967842 +0000 *************** *** 403,408 **** --- 403,692 ---- return-void .end method + .method public getAutoplayGifs()Z + .locals 3 + + iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->prefs:Landroid/content/SharedPreferences; + + const-string v1, "CACHE_KEY_CTC_AUTOPLAY_GIFS" + + 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 setAutoplayGifs(Z)V + .locals 2 + + 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_AUTOPLAY_GIFS" + + 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 public getLeakChannels()Z + .locals 3 + + 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 + + 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 public getImageSpoiler()Z + .locals 3 + + iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->prefs:Landroid/content/SharedPreferences; + + const-string v1, "CACHE_KEY_CTC_IMAGE_SPOILER" + + const/4 v2, 0x0 + + invoke-interface {v0, v1, v2}, Landroid/content/SharedPreferences;->getBoolean(Ljava/lang/String;Z)Z + + move-result v0 + + return v0 + .end method + + .method public setImageSpoiler(Z)V + .locals 2 + + 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_IMAGE_SPOILER" + + 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 public getNoDelete()Z + .locals 3 + + iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->prefs:Landroid/content/SharedPreferences; + + const-string v1, "CACHE_KEY_CTC_NO_DELETE" + + const/4 v2, 0x0 + + invoke-interface {v0, v1, v2}, Landroid/content/SharedPreferences;->getBoolean(Ljava/lang/String;Z)Z + + move-result v0 + + return v0 + .end method + + .method public setNoDelete(Z)V + .locals 2 + + 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_NO_DELETE" + + 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 public getShowTyping()Z + .locals 3 + + iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->prefs:Landroid/content/SharedPreferences; + + const-string v1, "CACHE_KEY_CTC_SHOW_TYPING" + + 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 setShowTyping(Z)V + .locals 2 + + 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_SHOW_TYPING" + + 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 public getStoredToken()Ljava/lang/String; + .locals 3 + + iget-object v0, p0, Lcom/discord/stores/StoreAuthentication;->prefs:Landroid/content/SharedPreferences; + + const-string v1, "none" + + const-string v2, "STORE_AUTHED_TOKEN" + + invoke-interface {v0, v2, v1}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; + + move-result-object v0 + + return-object v0 + .end method + + + .method public setStoredToken(Ljava/lang/String;)V + .locals 2 + + iget-object v0, p0, Lcom/discord/stores/StoreAuthentication;->prefs:Landroid/content/SharedPreferences; + + invoke-interface {v0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor; + + move-result-object v0 + + const-string v1, "STORE_AUTHED_TOKEN" + + invoke-interface {v0, v1, p1}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; + + move-result-object p1 + + invoke-interface {p1}, Landroid/content/SharedPreferences$Editor;->apply()V + + return-void + .end method + + .method public getAccountToken(Ljava/lang/String;)Ljava/lang/String; + .locals 3 + + const-string v2, "STORE_AUTHED_TOKEN_CTC_USER_" + + invoke-virtual {p1}, Ljava/lang/String;->toUpperCase()Ljava/lang/String; + + move-result-object p1 + + new-instance v0, Ljava/lang/StringBuilder; + + invoke-direct {v0, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V + + invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v2 + + iget-object v0, p0, Lcom/discord/stores/StoreAuthentication;->prefs:Landroid/content/SharedPreferences; + + const-string v1, "none" + + invoke-interface {v0, v2, v1}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; + + move-result-object v0 + + return-object v0 + .end method + + + .method public setAccountToken(Ljava/lang/String;Ljava/lang/String;)V + .locals 2 + + const-string v1, "STORE_AUTHED_TOKEN_CTC_USER_" + + invoke-virtual {p1}, Ljava/lang/String;->toUpperCase()Ljava/lang/String; + + move-result-object p1 + + new-instance v0, Ljava/lang/StringBuilder; + + invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V + + invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; + + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v1 + + iget-object v0, p0, Lcom/discord/stores/StoreAuthentication;->prefs:Landroid/content/SharedPreferences; + + invoke-interface {v0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor; + + move-result-object v0 + + invoke-interface {v0, v1, p2}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; + + move-result-object p1 + + invoke-interface {p1}, Landroid/content/SharedPreferences$Editor;->apply()V + + return-void + .end method + .method private getAdjustedTheme(Ljava/lang/String;)Ljava/lang/String; .locals 1 diff -crB from/smali/com/discord/utilities/rest/SendUtils$getPart$1$1.smali to/smali/com/discord/utilities/rest/SendUtils$getPart$1$1.smali *** from/smali/com/discord/utilities/rest/SendUtils$getPart$1$1.smali 2020-12-10 17:59:08.321854859 +0000 --- to/smali/com/discord/utilities/rest/SendUtils$getPart$1$1.smali 2020-12-10 18:02:12.311967842 +0000 *************** *** 46,51 **** --- 46,85 ---- return-void .end method + .method public static final interceptFilename(Ljava/lang/String;)Ljava/lang/String; + .locals 3 + + invoke-static {}, Lcom/discord/stores/StoreStream;->getUserSettings()Lcom/discord/stores/StoreUserSettings; + + move-result-object v0 + + invoke-virtual {v0}, Lcom/discord/stores/StoreUserSettings;->getImageSpoiler()Z + + move-result v1 + + if-eqz v1, :cond_1 + + new-instance v2, Ljava/lang/StringBuilder; + + const-string v1, "SPOILER_" + + invoke-direct {v2, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V + + invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p0 + + # I commented this out and do this in StoreMessages now as this'd only work for a single image + # const/4 v1, 0x0 + + # invoke-virtual {v0, v1}, Lcom/discord/stores/StoreUserSettings;->setImageSpoiler(Z)V + + :cond_1 + return-object p0 + .end method + # virtual methods .method public final invoke(Lokhttp3/RequestBody;Ljava/lang/String;Landroid/graphics/Bitmap$CompressFormat;)Lcom/discord/utilities/rest/SendUtils$FileUpload; *************** *** 79,84 **** --- 113,122 ---- move-result-object v2 + invoke-static {v2}, Lcom/discord/utilities/rest/SendUtils$getPart$1$1;->interceptFilename(Ljava/lang/String;)Ljava/lang/String; + + move-result-object v2 + .line 4 iget-object p1, p0, Lcom/discord/utilities/rest/SendUtils$getPart$1$1;->this$0:Lcom/discord/utilities/rest/SendUtils$getPart$1; diff -crB from/smali/com/discord/widgets/chat/input/WidgetChatInputEditText$setOnTextChangedListener$1.smali to/smali/com/discord/widgets/chat/input/WidgetChatInputEditText$setOnTextChangedListener$1.smali *** from/smali/com/discord/widgets/chat/input/WidgetChatInputEditText$setOnTextChangedListener$1.smali 2020-12-10 17:59:08.543857415 +0000 --- to/smali/com/discord/widgets/chat/input/WidgetChatInputEditText$setOnTextChangedListener$1.smali 2020-12-10 18:08:09.674051117 +0000 *************** *** 89,94 **** --- 89,104 ---- move-result p1 + invoke-static {}, Lcom/discord/stores/StoreStream;->getUserSettings()Lcom/discord/stores/StoreUserSettings; + + move-result-object v0 + + invoke-virtual {v0}, Lcom/discord/stores/StoreUserSettings;->getShowTyping()Z + + move-result v0 + + if-eqz v0, :cond_1 + .line 5 iget-boolean v0, p0, Lcom/discord/widgets/chat/input/WidgetChatInputEditText$setOnTextChangedListener$1;->empty:Z diff -crB from/smali/com/discord/widgets/chat/input/WidgetChatInputEditText.smali to/smali/com/discord/widgets/chat/input/WidgetChatInputEditText.smali *** from/smali/com/discord/widgets/chat/input/WidgetChatInputEditText.smali 2020-12-10 17:59:08.543857415 +0000 --- to/smali/com/discord/widgets/chat/input/WidgetChatInputEditText.smali 2020-12-10 18:04:27.407514045 +0000 *************** *** 20,26 **** .field private final chatInputCommands:Lcom/discord/widgets/chat/input/WidgetChatInputAutocomplete; ! .field private final editText:Lcom/lytefast/flexinput/widget/FlexEditText; .field private final emptyTextSubject:Lrx/subjects/Subject; .annotation system Ldalvik/annotation/Signature; --- 20,26 ---- .field private final chatInputCommands:Lcom/discord/widgets/chat/input/WidgetChatInputAutocomplete; ! .field public final editText:Lcom/lytefast/flexinput/widget/FlexEditText; .field private final emptyTextSubject:Lrx/subjects/Subject; .annotation system Ldalvik/annotation/Signature; diff -crB from/smali/com/discord/widgets/chat/input/WidgetChatInputSend.smali to/smali/com/discord/widgets/chat/input/WidgetChatInputSend.smali *** from/smali/com/discord/widgets/chat/input/WidgetChatInputSend.smali 2020-12-10 17:59:08.549857484 +0000 --- to/smali/com/discord/widgets/chat/input/WidgetChatInputSend.smali 2020-12-10 18:02:35.414232527 +0000 *************** *** 64,69 **** --- 64,96 ---- return p0 .end method + .method public static final access$SetInput(Lcom/discord/widgets/chat/input/WidgetChatInputSend;Lcom/discord/widgets/chat/input/WidgetChatInputEditText;Ljava/lang/CharSequence;)Z + .locals 1 + + .line 147 + iget-object v0, p1, Lcom/discord/widgets/chat/input/WidgetChatInputEditText;->editText:Lcom/lytefast/flexinput/widget/FlexEditText; + + .line 148 + invoke-virtual {v0, p2}, Lcom/lytefast/flexinput/widget/FlexEditText;->setText(Ljava/lang/CharSequence;)V + + .line 149 + invoke-virtual {p1}, Lcom/discord/widgets/chat/input/WidgetChatInputEditText;->clearLastTypingEmission()V + + .line 150 + invoke-static {}, Lcom/discord/stores/StoreStream;->getChat()Lcom/discord/stores/StoreChat; + + move-result-object p1 + + const/4 v0, 0x0 + + .line 152 + invoke-virtual {p1, v0}, Lcom/discord/stores/StoreChat;->setEditingMessage(Lcom/discord/stores/StoreChat$EditingMessage;)V + + const/4 p1, 0x1 + + return p1 + .end method + .method private final clearInput(Lcom/discord/widgets/chat/input/WidgetChatInputEditText;Lcom/discord/widgets/chat/input/AppFlexInputViewModel;Ljava/lang/Boolean;)Z .locals 1 diff -crB from/smali/com/discord/widgets/chat/list/InlineMediaView.smali to/smali/com/discord/widgets/chat/list/InlineMediaView.smali *** from/smali/com/discord/widgets/chat/list/InlineMediaView.smali 2020-12-10 17:59:08.625858359 +0000 --- to/smali/com/discord/widgets/chat/list/InlineMediaView.smali 2020-12-10 18:02:35.414232527 +0000 *************** *** 1256,1261 **** --- 1256,1271 ---- move-result v1 + invoke-static {}, Lcom/discord/stores/StoreStream;->getUserSettings()Lcom/discord/stores/StoreUserSettings; + + move-result-object v7 + + invoke-virtual {v7}, Lcom/discord/stores/StoreUserSettings;->getAutoplayGifs()Z + + move-result v7 + + and-int v1, v1, v7 + if-eqz v1, :cond_6 const/4 v7, 0x1