95.6 - Alpha (95206)

Also fixed patchport again
I'm also running out of steam for this project and don't really wanna continue it much longer.
If official CTC gets slashcommands, I'll update this, but don't expect many updates for the next few months.
This commit is contained in:
46620 2021-10-02 15:40:24 -04:00
parent c14fdb77d7
commit 1863fb57ea
40 changed files with 59377 additions and 4 deletions

View file

@ -2,7 +2,7 @@
Modular Client Mod for Discord's Android app.
**Latest supported Discord Android version:** 90.3 - Alpha (90203), released on 2021-09-29.
**Latest supported Discord Android version:** 90.3 - Alpha (90203), released on 2021-10-02.
New patch development will be done for the latest supported version.

View file

@ -0,0 +1,37 @@
diff -crB from/smali_classes2/com/discord/widgets/home/WidgetHomeHeaderManager$getOnConfigureAction$1.smali to/smali_classes2/com/discord/widgets/home/WidgetHomeHeaderManager$getOnConfigureAction$1.smali
*** from/smali_classes2/com/discord/widgets/home/WidgetHomeHeaderManager$getOnConfigureAction$1.smali 2021-08-25 09:34:32.258629097 -0400
--- to/smali_classes2/com/discord/widgets/home/WidgetHomeHeaderManager$getOnConfigureAction$1.smali 2021-08-25 09:44:08.748632748 -0400
***************
*** 245,251 ****
invoke-static {v3, v11}, Ld0/z/d/m;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
! invoke-interface {v3, v1}, Landroid/view/MenuItem;->setVisible(Z)Landroid/view/MenuItem;
.line 9
invoke-interface {p1, v8}, Landroid/view/Menu;->findItem(I)Landroid/view/MenuItem;
--- 245,251 ----
invoke-static {v3, v11}, Ld0/z/d/m;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
! invoke-interface {v3, v2}, Landroid/view/MenuItem;->setVisible(Z)Landroid/view/MenuItem;
.line 9
invoke-interface {p1, v8}, Landroid/view/Menu;->findItem(I)Landroid/view/MenuItem;
***************
*** 452,458 ****
invoke-static {v3, v9}, Ld0/z/d/m;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
! invoke-interface {v3, v1}, Landroid/view/MenuItem;->setVisible(Z)Landroid/view/MenuItem;
goto :goto_d
--- 452,458 ----
invoke-static {v3, v9}, Ld0/z/d/m;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
! invoke-interface {v3, v2}, Landroid/view/MenuItem;->setVisible(Z)Landroid/view/MenuItem;
goto :goto_d

View file

@ -58,5 +58,6 @@ As of 89207, the patch is now split into an xml and smali patch
- 93.5 - Alpha
- 94.0 - Alpha
- 95.2 - Alpha
- 95.6 - Alpha
- 94.3 - Alpha
- 94.1 - Alpha

View file

@ -0,0 +1,225 @@
diff --color -crB com.discord-base/AndroidManifest.xml com.discord/AndroidManifest.xml
*** com.discord-base/AndroidManifest.xml 2021-06-01 20:30:56.781349523 +0000
--- com.discord/AndroidManifest.xml 2021-06-01 20:38:49.344651420 +0000
***************
*** 1,4 ****
! <?xml version="1.0" encoding="utf-8" standalone="no"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" android:compileSdkVersion="30" android:compileSdkVersionCodename="11" android:installLocation="auto" package="com.discord" platformBuildVersionCode="30" platformBuildVersionName="11">
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
<uses-feature android:name="android.hardware.faketouch" android:required="false"/>
--- 1,4 ----
! <?xml version="1.0" encoding="utf-8" standalone="no"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" android:compileSdkVersion="30" android:compileSdkVersionCodename="11" android:installLocation="auto" package="com.cutthecord.CTCBRANCH" platformBuildVersionCode="95206" platformBuildVersionName="95.6">
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
<uses-feature android:name="android.hardware.faketouch" android:required="false"/>
***************
*** 22,28 ****
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
! <permission android:description="@string/app_permission_connect_desc" android:label="@string/app_permission_connect_label" android:name="com.discord.permission.CONNECT" android:protectionLevel="dangerous"/>
<uses-feature android:name="android.hardware.camera.any" android:required="false"/>
<queries>
<package android:name="com.samsung.android.game.gametools"/>
--- 22,28 ----
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
! <permission android:description="@string/app_permission_connect_desc" android:label="@string/app_permission_connect_label" android:name="com.cutthecord.CTCBRANCH.permission.CONNECT" android:protectionLevel="dangerous"/>
<uses-feature android:name="android.hardware.camera.any" android:required="false"/>
<queries>
<package android:name="com.samsung.android.game.gametools"/>
***************
*** 35,41 ****
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>
<uses-permission android:name="com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
! <application android:allowBackup="false" android:appCategory="social" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:icon="@mipmap/ic_logo_square_canary" android:label="@string/discord" android:largeHeap="true" android:name="com.discord.app.App" android:networkSecurityConfig="@xml/network_security_config" android:roundIcon="@mipmap/ic_logo_round_canary" android:supportsRtl="true" android:theme="@style/AppTheme.Dark">
<activity android:name="com.discord.samsung.SamsungConnectActivity" android:theme="@style/AppTheme.Translucent"/>
<activity android:name="com.discord.app.AppActivity" android:screenOrientation="fullUser" android:theme="@style/AppTheme.Dark" android:windowSoftInputMode="adjustResize|stateHidden"/>
<activity android:exported="true" android:launchMode="singleTask" android:name="com.discord.app.AppActivity$Main" android:screenOrientation="fullUser" android:theme="@style/AppTheme.Loading" android:windowSoftInputMode="adjustResize|stateHidden">
--- 35,41 ----
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>
<uses-permission android:name="com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
! <application android:allowBackup="true" android:debuggable="true" android:appCategory="social" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:icon="@mipmap/ic_logo_square_canary" android:label="@string/discord" android:largeHeap="true" android:name="com.discord.app.App" android:networkSecurityConfig="@xml/network_security_config" android:roundIcon="@mipmap/ic_logo_round_canary" android:supportsRtl="true" android:theme="@style/AppTheme.Dark">
<activity android:name="com.discord.samsung.SamsungConnectActivity" android:theme="@style/AppTheme.Translucent"/>
<activity android:name="com.discord.app.AppActivity" android:screenOrientation="fullUser" android:theme="@style/AppTheme.Dark" android:windowSoftInputMode="adjustResize|stateHidden"/>
<activity android:exported="true" android:launchMode="singleTask" android:name="com.discord.app.AppActivity$Main" android:screenOrientation="fullUser" android:theme="@style/AppTheme.Loading" android:windowSoftInputMode="adjustResize|stateHidden">
***************
*** 143,149 ****
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
</intent-filter>
</service>
! <service android:exported="true" android:name="com.discord.app.DiscordConnectService" android:permission="com.discord.permission.CONNECT">
<intent-filter>
<action android:name="com.discord.intent.action.CONNECT"/>
<data android:host="app" android:pathPattern="/connect/.*" android:scheme="discord"/>
--- 143,149 ----
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
</intent-filter>
</service>
! <service android:exported="true" android:name="com.discord.app.DiscordConnectService" android:permission="com.cutthecord.CTCBRANCH.permission.CONNECT">
<intent-filter>
<action android:name="com.discord.intent.action.CONNECT"/>
<data android:host="app" android:pathPattern="/connect/.*" android:scheme="discord"/>
***************
*** 166,172 ****
</intent-filter>
</receiver>
<service android:foregroundServiceType="mediaProjection" android:name="com.discord.utilities.voice.VoiceEngineForegroundService"/>
! <provider android:authorities="com.discord.file-provider" android:exported="false" android:grantUriPermissions="true" android:name="androidx.core.content.FileProvider">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths"/>
</provider>
<meta-data android:name="firebase_crashlytics_collection_enabled" android:value="true"/>
--- 166,172 ----
</intent-filter>
</receiver>
<service android:foregroundServiceType="mediaProjection" android:name="com.discord.utilities.voice.VoiceEngineForegroundService"/>
! <provider android:authorities="com.cutthecord.CTCBRANCH.file-provider" android:exported="false" android:grantUriPermissions="true" android:name="androidx.core.content.FileProvider">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths"/>
</provider>
<meta-data android:name="firebase_crashlytics_collection_enabled" android:value="true"/>
***************
*** 210,218 ****
<receiver android:enabled="true" android:exported="false" android:name="com.google.android.gms.measurement.AppMeasurementReceiver"/>
<service android:enabled="true" android:exported="false" android:name="com.google.android.gms.measurement.AppMeasurementService"/>
<service android:enabled="true" android:exported="false" android:name="com.google.android.gms.measurement.AppMeasurementJobService" android:permission="android.permission.BIND_JOB_SERVICE"/>
! <provider android:authorities="com.discord.firebaseinitprovider" android:directBootAware="true" android:exported="false" android:initOrder="100" android:name="com.google.firebase.provider.FirebaseInitProvider"/>
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
! <provider android:authorities="com.discord.workmanager-init" android:directBootAware="false" android:exported="false" android:multiprocess="true" android:name="androidx.work.impl.WorkManagerInitializer"/>
<service android:directBootAware="false" android:enabled="@bool/enable_system_alarm_service_default" android:exported="false" android:name="androidx.work.impl.background.systemalarm.SystemAlarmService"/>
<service android:directBootAware="false" android:enabled="@bool/enable_system_job_service_default" android:exported="true" android:name="androidx.work.impl.background.systemjob.SystemJobService" android:permission="android.permission.BIND_JOB_SERVICE"/>
<service android:directBootAware="false" android:enabled="@bool/enable_system_foreground_service_default" android:exported="false" android:name="androidx.work.impl.foreground.SystemForegroundService"/>
--- 210,218 ----
<receiver android:enabled="true" android:exported="false" android:name="com.google.android.gms.measurement.AppMeasurementReceiver"/>
<service android:enabled="true" android:exported="false" android:name="com.google.android.gms.measurement.AppMeasurementService"/>
<service android:enabled="true" android:exported="false" android:name="com.google.android.gms.measurement.AppMeasurementJobService" android:permission="android.permission.BIND_JOB_SERVICE"/>
! <provider android:authorities="com.cutthecord.CTCBRANCH.firebaseinitprovider" android:directBootAware="true" android:exported="false" android:initOrder="100" android:name="com.google.firebase.provider.FirebaseInitProvider"/>
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
! <provider android:authorities="com.cutthecord.CTCBRANCH.workmanager-init" android:directBootAware="false" android:exported="false" android:multiprocess="true" android:name="androidx.work.impl.WorkManagerInitializer"/>
<service android:directBootAware="false" android:enabled="@bool/enable_system_alarm_service_default" android:exported="false" android:name="androidx.work.impl.background.systemalarm.SystemAlarmService"/>
<service android:directBootAware="false" android:enabled="@bool/enable_system_job_service_default" android:exported="true" android:name="androidx.work.impl.background.systemjob.SystemJobService" android:permission="android.permission.BIND_JOB_SERVICE"/>
<service android:directBootAware="false" android:enabled="@bool/enable_system_foreground_service_default" android:exported="false" android:name="androidx.work.impl.foreground.SystemForegroundService"/>
***************
*** 267,270 ****
<activity android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize" android:exported="false" android:name="com.android.billingclient.api.ProxyBillingActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
<meta-data android:name="com.android.vending.derived.apk.id" android:value="1"/>
</application>
! </manifest>
\ No newline at end of file
--- 267,270 ----
<activity android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize" android:exported="false" android:name="com.android.billingclient.api.ProxyBillingActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
<meta-data android:name="com.android.vending.derived.apk.id" android:value="1"/>
</application>
! </manifest>
diff --color -crB com.discord-base/apktool.yml com.discord/apktool.yml
*** com.discord-base/apktool.yml 2021-06-01 17:16:48.545258394 +0000
--- com.discord/apktool.yml 2021-06-01 21:07:32.119096655 +0000
***************
*** 1,5 ****
!!brut.androlib.meta.MetaInfo
! apkFileName: com.discord-95206.apk
compressionType: false
doNotCompress:
- resources.arsc
--- 1,5 ----
!!brut.androlib.meta.MetaInfo
! apkFileName: com.cutthecord.CTCBRANCH-95206.apk
compressionType: false
doNotCompress:
- resources.arsc
diff --color -crB com.discord-base/res/values/strings.xml com.discord/res/values/strings.xml
*** com.discord-base/res/values/strings.xml 2021-06-01 17:16:48.953260531 +0000
--- com.discord/res/values/strings.xml 2021-06-01 21:46:44.631007562 +0000
***************
*** 2201,2207 ****
<string name="disconnect_other">Disconnect</string>
<string name="disconnect_self">Disconnect</string>
<string name="disconnect_user_success">User has been disconnected from voice.</string>
! <string name="discord">Discord-Canary</string>
<string name="discord_desc_long">Join over 100 million people who use Discord to talk and hang out with communities and friends.</string>
<string name="discord_desc_short">Imagine a place</string>
<string name="discord_gg">discord.gg/</string>
--- 2201,2207 ----
<string name="disconnect_other">Disconnect</string>
<string name="disconnect_self">Disconnect</string>
<string name="disconnect_user_success">User has been disconnected from voice.</string>
! <string name="discord">CTCNAME</string>
<string name="discord_desc_long">Join over 100 million people who use Discord to talk and hang out with communities and friends.</string>
<string name="discord_desc_short">Imagine a place</string>
<string name="discord_gg">discord.gg/</string>
***************
*** 6233,6239 ****
<string name="notification_reply_failed">Failed to reply to {recipient}</string>
<string name="notification_reply_success">Replied to {recipient}</string>
<string name="notification_settings">Notification Settings</string>
! <string name="notification_title_discord">Discord</string>
<string name="notification_title_start_game">"Somebody Playin'"</string>
<string name="notifications">Notifications</string>
<string name="notifications_muted">Notifications, muted</string>
--- 6233,6239 ----
<string name="notification_reply_failed">Failed to reply to {recipient}</string>
<string name="notification_reply_success">Replied to {recipient}</string>
<string name="notification_settings">Notification Settings</string>
! <string name="notification_title_discord">CTCNAME</string>
<string name="notification_title_start_game">"Somebody Playin'"</string>
<string name="notifications">Notifications</string>
<string name="notifications_muted">Notifications, muted</string>
***************
*** 8894,8900 ****
<string name="suggested_friends_list_header">Suggested Friends</string>
<string name="suggested_languages">Suggested languages</string>
! <string name="suggestions">Suggestions</string>
<string name="summary_collapsed_preference_list">%1$s, %2$s</string>
<string name="support">Support</string>
<string name="suppress_all_embeds">Remove all embeds</string>
<string name="suppress_embed_body">This will remove all embeds on this message for everyone.</string>
--- 8894,8900 ----
<string name="suggested_friends_list_header">Suggested Friends</string>
<string name="suggested_languages">Suggested languages</string>
! <string name="suggestions">Gitea Repo</string>
<string name="summary_collapsed_preference_list">%1$s, %2$s</string>
<string name="support">Support</string>
<string name="suppress_all_embeds">Remove all embeds</string>
<string name="suppress_embed_body">This will remove all embeds on this message for everyone.</string>
diff --color -crB com.discord-base/smali/com/discord/utilities/captcha/CaptchaHelper$showCaptchaHelpDialog$$inlined$let$lambda$1.smali com.discord/smali/com/discord/utilities/captcha/CaptchaHelper$showCaptchaHelpDialog$$inlined$let$lambda$1.smali
*** com.discord-base/smali/com/discord/utilities/captcha/CaptchaHelper$showCaptchaHelpDialog$$inlined$let$lambda$1.smali 2021-06-01 17:16:49.173261683 +0000
--- com.discord/smali/com/discord/utilities/captcha/CaptchaHelper$showCaptchaHelpDialog$$inlined$let$lambda$1.smali 2021-06-01 21:50:33.255916346 +0000
***************
*** 104,110 ****
.line 3
new-instance v0, Landroid/content/Intent;
! const-string v1, "https://discord.com/app"
.line 4
invoke-static {v1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
--- 104,110 ----
.line 3
new-instance v0, Landroid/content/Intent;
! const-string v1, "https://gitdab.com/distok/cutthecord/issues/22#issuecomment-82"
.line 4
invoke-static {v1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
diff --color -crB com.discord-base/smali_classes2/com/discord/widgets/settings/WidgetSettings$onViewBound$1$21.smali com.discord/smali_classes2/com/discord/widgets/settings/WidgetSettings$onViewBound$1$21.smali
*** com.discord-base/smali_classes2/com/discord/widgets/settings/WidgetSettings$onViewBound$1$21.smali 2021-06-01 17:16:49.461263192 +0000
--- com.discord/smali_classes2/com/discord/widgets/settings/WidgetSettings$onViewBound$1$21.smali 2021-06-01 21:59:39.038419446 +0000
***************
*** 89,95 ****
invoke-static {v1, p1}, Ld0/z/d/m;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
! const-string v2, "https://support.discord.com"
const/4 v3, 0x0
--- 89,95 ----
invoke-static {v1, p1}, Ld0/z/d/m;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
! const-string v2, "https://booba.tech/CutTheCord-Femboy/cutthecord"
const/4 v3, 0x0

View file

@ -70,5 +70,6 @@ You can use the following line to patch authorities:
- 93.5 - Alpha
- 94.0 - Alpha
- 95.2 - Alpha
- 95.6 - Alpha
- 94.3 - Alpha
- 94.1 - Alpha

View file

@ -0,0 +1,20 @@
diff -crB from/smali_classes2/com/discord/widgets/tabs/WidgetTabsHost$configureSystemStatusBar$1.smali to/smali_classes2/com/discord/widgets/tabs/WidgetTabsHost$configureSystemStatusBar$1.smali
*** from/smali_classes2/com/discord/widgets/tabs/WidgetTabsHost$configureSystemStatusBar$1.smali 2020-12-13 04:52:13.078109887 +0000
--- to/smali_classes2/com/discord/widgets/tabs/WidgetTabsHost$configureSystemStatusBar$1.smali 2020-12-13 04:52:26.076186978 +0000
***************
*** 107,113 ****
.line 3
iget-object v0, p0, Lcom/discord/widgets/tabs/WidgetTabsHost$configureSystemStatusBar$1;->this$0:Lcom/discord/widgets/tabs/WidgetTabsHost;
! const v1, 0x7f0602f2
invoke-static {v0, v1}, Lcom/discord/utilities/color/ColorCompat;->getColor(Landroidx/fragment/app/Fragment;I)I
--- 107,113 ----
.line 3
iget-object v0, p0, Lcom/discord/widgets/tabs/WidgetTabsHost$configureSystemStatusBar$1;->this$0:Lcom/discord/widgets/tabs/WidgetTabsHost;
! const v1, 0x7f060024
invoke-static {v0, v1}, Lcom/discord/utilities/color/ColorCompat;->getColor(Landroidx/fragment/app/Fragment;I)I

View file

@ -23,6 +23,7 @@ Self note: Top bar color is set by `setStatusBarColorResourceId`
- 93.5 - Alpha
- 94.0 - Alpha
- 95.2 - Alpha
- 95.6 - Alpha
- 94.3 - Alpha
- 94.1 - Alpha

View file

@ -0,0 +1,20 @@
diff --color -crB com.discord-base/smali_classes2/com/discord/widgets/settings/WidgetSettings.smali com.discord/smali_classes2/com/discord/widgets/settings/WidgetSettings.smali
*** com.discord-base/smali_classes2/com/discord/widgets/settings/WidgetSettings.smali 2021-06-03 15:00:16.364008616 +0000
--- com.discord/smali_classes2/com/discord/widgets/settings/WidgetSettings.smali 2021-06-03 15:14:42.460701540 +0000
***************
*** 750,756 ****
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
! const-string v1, " - 95.6 - Alpha (95206)"
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
--- 750,756 ----
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
! const-string v1, " - 99.99.99 (95206 - Alpha), made with love"
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

View file

@ -56,5 +56,6 @@ This patch replaces version string and adds mention of cutthecord in the user se
- 93.5 - Alpha
- 94.0 - Alpha
- 95.2 - Alpha
- 95.6 - Alpha
- 94.3 - Alpha
- 94.1 - Alpha

View file

@ -0,0 +1,92 @@
diff --color -crB from/smali/com/discord/utilities/analytics/AnalyticSuperProperties.smali to/smali/com/discord/utilities/analytics/AnalyticSuperProperties.smali
*** com.discord-base/smali/com/discord/utilities/analytics/AnalyticSuperProperties.smali 2021-06-01 17:16:49.169261662 +0000
--- com.discord/smali/com/discord/utilities/analytics/AnalyticSuperProperties.smali 2021-06-01 22:16:21.775478972 +0000
***************
*** 444,514 ****
.end method
.method private final setSuperProperties(Ljava/util/Map;)V
! .locals 3
! .annotation system Ldalvik/annotation/Signature;
! value = {
! "(",
! "Ljava/util/Map<",
! "Ljava/lang/String;",
! "+",
! "Ljava/lang/Object;",
! ">;)V"
! }
! .end annotation
!
! sget-object v0, Lcom/discord/utilities/analytics/AnalyticSuperProperties;->superProperties$delegate:Lkotlin/properties/ReadWriteProperty;
!
! sget-object v1, Lcom/discord/utilities/analytics/AnalyticSuperProperties;->$$delegatedProperties:[Lkotlin/reflect/KProperty;
!
! const/4 v2, 0x0
!
! aget-object v1, v1, v2
!
! invoke-interface {v0, p0, v1, p1}, Lkotlin/properties/ReadWriteProperty;->setValue(Ljava/lang/Object;Lkotlin/reflect/KProperty;Ljava/lang/Object;)V
return-void
.end method
.method private final declared-synchronized updateSuperProperties(Ljava/util/Map;)V
! .locals 1
! .annotation system Ldalvik/annotation/Signature;
! value = {
! "(",
! "Ljava/util/Map<",
! "Ljava/lang/String;",
! "+",
! "Ljava/lang/Object;",
! ">;)V"
! }
! .end annotation
!
! monitor-enter p0
!
! .line 1
! :try_start_0
! invoke-virtual {p0}, Lcom/discord/utilities/analytics/AnalyticSuperProperties;->getSuperProperties()Ljava/util/Map;
!
! move-result-object v0
!
! invoke-static {v0, p1}, Ld0/t/h0;->plus(Ljava/util/Map;Ljava/util/Map;)Ljava/util/Map;
!
! move-result-object p1
!
! invoke-direct {p0, p1}, Lcom/discord/utilities/analytics/AnalyticSuperProperties;->setSuperProperties(Ljava/util/Map;)V
! :try_end_0
! .catchall {:try_start_0 .. :try_end_0} :catchall_0
!
! .line 2
! monitor-exit p0
return-void
-
- :catchall_0
- move-exception p1
-
- monitor-exit p0
-
- throw p1
.end method
--- 444,458 ----
.end method
.method private final setSuperProperties(Ljava/util/Map;)V
! .locals 0
return-void
.end method
.method private final declared-synchronized updateSuperProperties(Ljava/util/Map;)V
! .locals 0
return-void
.end method

View file

@ -41,5 +41,6 @@ Between 8.3.0 and 33.1: This patch replaces the browser name from "Discord Andro
- 93.5 - Alpha
- 94.0 - Alpha
- 95.2 - Alpha
- 95.6 - Alpha
- 94.3 - Alpha
- 94.1 - Alpha

View file

@ -0,0 +1,92 @@
diff -crB from/smali_classes2/com/discord/utilities/textprocessing/MessagePreprocessor.smali to/smali_classes2/com/discord/utilities/textprocessing/MessagePreprocessor.smali
*** from/smali_classes2/com/discord/utilities/textprocessing/MessagePreprocessor.smali 2021-08-04 19:45:53.005373900 +0100
--- to/smali_classes2/com/discord/utilities/textprocessing/MessagePreprocessor.smali 2021-08-04 21:16:24.965470600 +0100
***************
*** 773,851 ****
.end method
.method private final stripSimpleEmbedLink(Ljava/util/Collection;)V
! .locals 3
! .annotation system Ldalvik/annotation/Signature;
! value = {
! "(",
! "Ljava/util/Collection<",
! "Lcom/discord/simpleast/core/node/Node<",
! "Lcom/discord/utilities/textprocessing/MessageRenderContext;",
! ">;>;)V"
! }
! .end annotation
- .line 1
- invoke-interface {p1}, Ljava/util/Collection;->size()I
-
- move-result v0
-
- const/4 v1, 0x1
-
- if-ne v0, v1, :cond_2
-
- iget-object v0, p0, Lcom/discord/utilities/textprocessing/MessagePreprocessor;->embeds:Ljava/util/List;
-
- if-eqz v0, :cond_2
-
- invoke-interface {v0}, Ljava/util/List;->size()I
-
- move-result v0
-
- if-eq v0, v1, :cond_0
-
- goto :goto_0
-
- :cond_0
- const/4 v0, 0x0
-
- .line 2
- invoke-static {p1, v0}, Ld0/t/u;->elementAt(Ljava/lang/Iterable;I)Ljava/lang/Object;
-
- move-result-object v1
-
- check-cast v1, Lcom/discord/simpleast/core/node/Node;
-
- .line 3
- iget-object v2, p0, Lcom/discord/utilities/textprocessing/MessagePreprocessor;->embeds:Ljava/util/List;
-
- invoke-interface {v2, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
-
- move-result-object v0
-
- check-cast v0, Lcom/discord/api/message/embed/MessageEmbed;
-
- .line 4
- instance-of v1, v1, Lcom/discord/utilities/textprocessing/node/UrlNode;
-
- if-nez v1, :cond_1
-
- return-void
-
- .line 5
- :cond_1
- sget-object v1, Lcom/discord/utilities/embed/EmbedResourceUtils;->INSTANCE:Lcom/discord/utilities/embed/EmbedResourceUtils;
-
- invoke-virtual {v1, v0}, Lcom/discord/utilities/embed/EmbedResourceUtils;->isSimpleEmbed(Lcom/discord/api/message/embed/MessageEmbed;)Z
-
- move-result v0
-
- if-eqz v0, :cond_2
-
- .line 6
- invoke-interface {p1}, Ljava/util/Collection;->clear()V
-
- :cond_2
- :goto_0
return-void
.end method
--- 773,780 ----
.end method
.method private final stripSimpleEmbedLink(Ljava/util/Collection;)V
! .locals 0
return-void
.end method

View file

@ -21,5 +21,6 @@ to
- 93.5 - Alpha
- 94.0 - Alpha
- 95.2 - Alpha
- 95.6 - Alpha
- 94.3 - Alpha
- 94.1 - Alpha

File diff suppressed because it is too large Load diff

View file

@ -29,6 +29,7 @@ Various scripts are provided to help building of custom patches easier.
- 93.5 - Alpha
- 94.0 - Alpha
- 95.2 - Alpha
- 95.6 - Alpha
- 94.3 - Alpha
- 94.1 - Alpha

View file

@ -0,0 +1,58 @@
diff -crB from/smali/com/discord/api/message/attachment/MessageAttachment.smali to/smali/com/discord/api/message/attachment/MessageAttachment.smali
*** from/smali/com/discord/api/message/attachment/MessageAttachment.smali 2021-08-04 19:45:36.435878400 +0100
--- to/smali/com/discord/api/message/attachment/MessageAttachment.smali 2021-08-04 21:31:37.148568400 +0100
***************
*** 376,398 ****
.end method
.method public final h()Z
! .locals 5
!
! .line 1
! iget-object v0, p0, Lcom/discord/api/message/attachment/MessageAttachment;->filename:Ljava/lang/String;
!
! const-string v1, "SPOILER_"
!
! const/4 v2, 0x0
!
! const/4 v3, 0x2
!
! const/4 v4, 0x0
!
! invoke-static {v0, v1, v2, v3, v4}, Ld0/g0/t;->startsWith$default(Ljava/lang/String;Ljava/lang/String;ZILjava/lang/Object;)Z
!
! move-result v0
!
return v0
.end method
--- 376,383 ----
.end method
.method public final h()Z
! .locals 1
! const/4 v0, 0x0
return v0
.end method
diff -crB from/smali_classes2/com/discord/utilities/textprocessing/node/SpoilerNode.smali to/smali_classes2/com/discord/utilities/textprocessing/node/SpoilerNode.smali
*** from/smali_classes2/com/discord/utilities/textprocessing/node/SpoilerNode.smali 2020-12-10 17:59:08.345855134 +0000
--- to/smali_classes2/com/discord/utilities/textprocessing/node/SpoilerNode.smali 2020-12-10 18:00:01.624468003 +0000
***************
*** 249,256 ****
.method public isRevealed()Z
.locals 1
! .line 1
! iget-boolean v0, p0, Lcom/discord/utilities/textprocessing/node/SpoilerNode;->isRevealed:Z
return v0
.end method
--- 249,255 ----
.method public isRevealed()Z
.locals 1
! const/4 v0, 0x1
return v0
.end method

View file

@ -17,5 +17,6 @@ I personally won't be using it as I like to use them as CWs, but I do acknowledg
- 93.5 - Alpha
- 94.0 - Alpha
- 95.2 - Alpha
- 95.6 - Alpha
- 94.3 - Alpha
- 94.1 - Alpha

View file

@ -0,0 +1 @@
#!/bin/bash

File diff suppressed because it is too large Load diff

View file

@ -19,5 +19,6 @@ Fuck telemetry.
- 93.5 - Alpha
- 94.0 - Alpha
- 95.2 - Alpha
- 95.6 - Alpha
- 94.3 - Alpha
- 94.1 - Alpha

View file

@ -0,0 +1,34 @@
diff -crB from/smali/com/discord/gateway/GatewaySocket.smali to/smali/com/discord/gateway/GatewaySocket.smali
*** from/smali/com/discord/gateway/GatewaySocket.smali 2021-08-04 19:45:39.263375300 +0100
--- to/smali/com/discord/gateway/GatewaySocket.smali 2021-08-04 23:26:38.221788200 +0100
***************
*** 1410,1416 ****
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
! const-string p1, "/?encoding=json&v=9&compress=zlib-stream"
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
--- 1410,1416 ----
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
! const-string p1, "/?encoding=json&v=9"
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
diff -crB from/smali/com/discord/gateway/io/OutgoingPayload$Identify.smali to/smali/com/discord/gateway/io/OutgoingPayload$Identify.smali
*** from/smali/com/discord/gateway/io/OutgoingPayload$Identify.smali 2021-08-04 19:45:39.360374800 +0100
--- to/smali/com/discord/gateway/io/OutgoingPayload$Identify.smali 2021-08-04 23:28:01.288223200 +0100
***************
*** 115,120 ****
--- 115,122 ----
iput p2, p0, Lcom/discord/gateway/io/OutgoingPayload$Identify;->largeThreshold:I
+ const/4 p3, 0x0
+
iput-boolean p3, p0, Lcom/discord/gateway/io/OutgoingPayload$Identify;->compress:Z
iput-wide p4, p0, Lcom/discord/gateway/io/OutgoingPayload$Identify;->capabilities:J

View file

@ -15,5 +15,6 @@ This patch disables zlib-stream field on wss, making it easier to parse it.
- 93.5 - Alpha
- 94.0 - Alpha
- 95.2 - Alpha
- 95.6 - Alpha
- 94.3 - Alpha
- 94.1 - Alpha

View file

@ -0,0 +1,96 @@
*** discord/com.discord/smali_classes2/com/discord/widgets/chat/list/adapter/WidgetChatListAdapterEventsHandler.smali 2021-08-21 10:13:37.752083749 +0000
--- com.discord/smali_classes2/com/discord/widgets/chat/list/adapter/WidgetChatListAdapterEventsHandler.smali 2021-08-21 10:11:39.864132196 +0000
***************
*** 747,827 ****
.end method
.method public onMessageAuthorAvatarClicked(Lcom/discord/models/message/Message;J)V
! .locals 12
- const-string v0, "message"
-
- invoke-static {p1, v0}, Ld0/z/d/m;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
-
- .line 1
- sget-object v0, Lcom/discord/utilities/guilds/PublicGuildUtils;->INSTANCE:Lcom/discord/utilities/guilds/PublicGuildUtils;
-
- invoke-virtual {v0, p1}, Lcom/discord/utilities/guilds/PublicGuildUtils;->isPublicGuildSystemMessage(Lcom/discord/models/message/Message;)Z
-
- move-result v0
-
- if-nez v0, :cond_1
-
- invoke-virtual {p1}, Lcom/discord/models/message/Message;->isCrosspost()Z
-
- move-result v0
-
- if-eqz v0, :cond_0
-
- goto :goto_0
-
- .line 2
- :cond_0
- invoke-virtual {p1}, Lcom/discord/models/message/Message;->getAuthor()Lcom/discord/api/user/User;
-
- move-result-object v0
-
- if-eqz v0, :cond_2
-
- .line 3
- sget-object v1, Lcom/discord/widgets/user/usersheet/WidgetUserSheet;->Companion:Lcom/discord/widgets/user/usersheet/WidgetUserSheet$Companion;
-
- invoke-virtual {v0}, Lcom/discord/api/user/User;->i()J
-
- move-result-wide v2
-
- invoke-virtual {p1}, Lcom/discord/models/message/Message;->getChannelId()J
-
- move-result-wide v4
-
- invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
-
- move-result-object v4
-
- invoke-direct {p0}, Lcom/discord/widgets/chat/list/adapter/WidgetChatListAdapterEventsHandler;->getFragmentManager()Landroidx/fragment/app/FragmentManager;
-
- move-result-object v5
-
- invoke-static {p2, p3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
-
- move-result-object v6
-
- const/4 v7, 0x0
-
- const/4 v8, 0x0
-
- const/4 v9, 0x0
-
- const/16 v10, 0x70
-
- const/4 v11, 0x0
-
- invoke-static/range {v1 .. v11}, Lcom/discord/widgets/user/usersheet/WidgetUserSheet$Companion;->show$default(Lcom/discord/widgets/user/usersheet/WidgetUserSheet$Companion;JLjava/lang/Long;Landroidx/fragment/app/FragmentManager;Ljava/lang/Long;Ljava/lang/Boolean;Lcom/discord/widgets/user/usersheet/WidgetUserSheet$StreamPreviewClickBehavior;Ljava/lang/String;ILjava/lang/Object;)V
-
- goto :goto_1
-
- .line 4
- :cond_1
- :goto_0
invoke-virtual {p0, p1, p2, p3}, Lcom/discord/widgets/chat/list/adapter/WidgetChatListAdapterEventsHandler;->onMessageAuthorNameClicked(Lcom/discord/models/message/Message;J)V
- :cond_2
- :goto_1
return-void
.end method
--- 747,756 ----
.end method
.method public onMessageAuthorAvatarClicked(Lcom/discord/models/message/Message;J)V
! .locals 4
invoke-virtual {p0, p1, p2, p3}, Lcom/discord/widgets/chat/list/adapter/WidgetChatListAdapterEventsHandler;->onMessageAuthorNameClicked(Lcom/discord/models/message/Message;J)V
return-void
.end method

View file

@ -15,5 +15,6 @@ This patch restores the behavior where tapping a user's profile picture adds the
- 93.5 - Alpha
- 94.0 - Alpha
- 95.2 - Alpha
- 95.6 - Alpha
- 94.3 - Alpha
- 94.1 - Alpha

View file

@ -0,0 +1 @@

View file

@ -30,5 +30,6 @@ As of 78.4 - Alpha, it also appends `#discriminator` to username.
- 93.5 - Alpha
- 94.0 - Alpha
- 95.2 - Alpha
- 95.6 - Alpha
- 94.3 - Alpha
- 94.1 - Alpha

View file

@ -0,0 +1,453 @@
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-11-16 13:22:49.331198415 +0000
--- to/smali/com/discord/gateway/io/IncomingParser.smali 2020-11-16 13:57:09.234000134 +0000
***************
*** 968,973 ****
--- 968,984 ----
.line 70
: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;-><init>()V
diff -crB from/smali/com/discord/api/channel/Channel.smali to/smali/com/discord/api/channel/Channel.smali
*** from/smali/com/discord/api/channel/Channel.smali 2021-08-10 20:23:56.976468100 +0100
--- to/smali/com/discord/api/channel/Channel.smali 2021-08-11 17:13:48.876902500 +0100
***************
*** 1774,1783 ****
}
.end annotation
! .line 1
! iget-object v0, p0, Lcom/discord/api/channel/Channel;->permissionOverwrites:Ljava/util/List;
return-object v0
.end method
.method public final t()I
--- 1774,1800 ----
}
.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
+ invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
+
+ move-result-object v0
+
+ :goto_0
return-object v0
+
+ :cond_0
+ iget-object v0, p0, Lcom/discord/api/channel/Channel;->permissionOverwrites:Ljava/util/List;
+
+ goto :goto_0
.end method
.method public final t()I
diff -crB from/smali/com/discord/stores/StoreUserSettings.smali to/smali/com/discord/stores/StoreUserSettings.smali
*** from/smali/com/discord/stores/StoreUserSettings.smali 2020-11-16 13:22:49.513198310 +0000
--- to/smali/com/discord/stores/StoreUserSettings.smali 2020-11-16 13:57:09.234000134 +0000
***************
*** 2899,2904 ****
--- 2899,3178 ----
return-void
.end method
+ .method public getLeakChannels()Z
+ .locals 3
+
+ .line 1
+ invoke-virtual {p0}, Lcom/discord/stores/Store;->getPrefs()Landroid/content/SharedPreferences;
+
+ move-result-object v0
+
+ 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
+
+ invoke-virtual {p0}, Lcom/discord/stores/Store;->getPrefs()Landroid/content/SharedPreferences;
+
+ move-result-object v0
+
+ 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
+
+ .line 1
+ invoke-virtual {p0}, Lcom/discord/stores/Store;->getPrefs()Landroid/content/SharedPreferences;
+
+ move-result-object v0
+
+ const-string v1, "CACHE_KEY_CTC_IMAGE_SPOILER"
+
+ 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 setImageSpoiler(Z)V
+ .locals 2
+
+ invoke-virtual {p0}, Lcom/discord/stores/Store;->getPrefs()Landroid/content/SharedPreferences;
+
+ move-result-object v0
+
+ 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
+
+ .line 1
+ invoke-virtual {p0}, Lcom/discord/stores/Store;->getPrefs()Landroid/content/SharedPreferences;
+
+ move-result-object v0
+
+ const-string v1, "CACHE_KEY_CTC_NO_DELETE"
+
+ 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 setNoDelete(Z)V
+ .locals 2
+
+ invoke-virtual {p0}, Lcom/discord/stores/Store;->getPrefs()Landroid/content/SharedPreferences;
+
+ move-result-object v0
+
+ 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
+
+ .line 1
+ invoke-virtual {p0}, Lcom/discord/stores/Store;->getPrefs()Landroid/content/SharedPreferences;
+
+ move-result-object v0
+
+ 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
+
+ invoke-virtual {p0}, Lcom/discord/stores/Store;->getPrefs()Landroid/content/SharedPreferences;
+
+ move-result-object v0
+
+ 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
+
+ invoke-virtual {p0}, Lcom/discord/stores/Store;->getPrefs()Landroid/content/SharedPreferences;
+
+ move-result-object v0
+
+ 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
+
+ invoke-virtual {p0}, Lcom/discord/stores/Store;->getPrefs()Landroid/content/SharedPreferences;
+
+ move-result-object v0
+
+ 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;-><init>(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
+
+ invoke-virtual {p0}, Lcom/discord/stores/Store;->getPrefs()Landroid/content/SharedPreferences;
+
+ move-result-object v0
+
+ 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;-><init>(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
+
+ invoke-virtual {p0}, Lcom/discord/stores/Store;->getPrefs()Landroid/content/SharedPreferences;
+
+ move-result-object v0
+
+ 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 public final updateCustomStatus(Lcom/discord/models/domain/ModelCustomStatusSetting;)Lrx/Observable;
.locals 2
.annotation system Ldalvik/annotation/Signature;
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-11-16 13:22:49.577198273 +0000
--- to/smali/com/discord/utilities/rest/SendUtils$getPart$1$1.smali 2020-11-16 13:57:09.234000134 +0000
***************
*** 75,80 ****
--- 75,113 ----
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;-><init>(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;
***************
*** 108,113 ****
--- 141,150 ----
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_classes2/com/discord/widgets/chat/input/WidgetChatInputEditText$setOnTextChangedListener$1.smali to/smali_classes2/com/discord/widgets/chat/input/WidgetChatInputEditText$setOnTextChangedListener$1.smali
*** from/smali_classes2/com/discord/widgets/chat/input/WidgetChatInputEditText$setOnTextChangedListener$1.smali 2020-11-16 13:22:49.677198215 +0000
--- to/smali_classes2/com/discord/widgets/chat/input/WidgetChatInputEditText$setOnTextChangedListener$1.smali 2020-11-16 13:57:09.234000134 +0000
***************
*** 101,106 ****
--- 101,116 ----
move-result v0
+ 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 4
iget-boolean v1, p0, Lcom/discord/widgets/chat/input/WidgetChatInputEditText$setOnTextChangedListener$1;->empty:Z
diff -crB from/smali_classes2/com/discord/widgets/chat/input/WidgetChatInputEditText.smali to/smali_classes2/com/discord/widgets/chat/input/WidgetChatInputEditText.smali
*** from/smali_classes2/com/discord/widgets/chat/input/WidgetChatInputEditText.smali 2020-11-16 13:22:49.677198215 +0000
--- to/smali_classes2/com/discord/widgets/chat/input/WidgetChatInputEditText.smali 2020-11-16 14:09:59.478815215 +0000
***************
*** 80,86 ****
# instance fields
.field private channelId:J
! .field private final editText:Lcom/lytefast/flexinput/widget/FlexEditText;
.field private final emptyTextSubject:Lrx/subjects/Subject;
.annotation system Ldalvik/annotation/Signature;
--- 80,86 ----
# instance fields
.field private channelId:J
! .field public final editText:Lcom/lytefast/flexinput/widget/FlexEditText;
.field private final emptyTextSubject:Lrx/subjects/Subject;
.annotation system Ldalvik/annotation/Signature;

View file

@ -17,5 +17,6 @@ This patch adds various helper functions that were previously part of slashcomma
- 93.5 - Alpha
- 94.0 - Alpha
- 95.2 - Alpha
- 95.6 - Alpha
- 94.3 - Alpha
- 94.1 - Alpha

View file

@ -1 +1 @@
{"versionname": "94.0 - Alpha", "versioncode": "94200"}
{"versionname": "95.6 - Alpha", "versioncode": "95206"}

View file

@ -1 +0,0 @@
{"versionname": "95.2 - Alpha", "versioncode": "95202"}

View file

@ -315,7 +315,7 @@ ctcr_text = ctcr_text.replace(in_datestamp, out_datestamp)
with open(ctcreadme_path, "w") as f:
f.write(ctcr_text)
with open("patchport-state.json", "w") as f:
with open("/opt/cutthecord/cutthecord/resources/patchport-state.json", "w") as f:
jout = {"versionname": to_versionname, "versioncode": to_versioncode}
json.dump(jout, f)

View file

@ -0,0 +1,7 @@
<diffs>
<diff file="res/menu/menu_chat_toolbar.xml" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
<replace sel="menu/item[@android:icon='@drawable/ic_call_24dp']/@app:showAsAction">never</replace>
<replace sel="menu/item[@android:icon='@drawable/ic_videocam_white_24dp']/@app:showAsAction">never</replace>
<replace sel="menu/item[@android:icon='@drawable/ic_search_white_24dp']/@app:showAsAction">always</replace>
</diff>
</diffs>

View file

@ -58,5 +58,6 @@ As of 89207, the patch is now split into an xml and smali patch
- 93.5 - Alpha
- 94.0 - Alpha
- 95.2 - Alpha
- 95.6 - Alpha
- 94.3 - Alpha
- 94.1 - Alpha

View file

@ -0,0 +1,6 @@
<diffs>
<diff file="AndroidManifest.xml" xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Remove android:screenOrientation entry -->
<remove msel="manifest/application/activity/@android:screenOrientation"/>
</diff>
</diffs>

View file

@ -0,0 +1,78 @@
<diffs>
<diff file="res/drawable/drawable_circle_black.xml" xmlns:android="http://schemas.android.com/apk/res/android">
<replace sel="shape/solid/@android:color">@android:color/transparent</replace>
</diff>
<diff file="res/drawable/drawable_overlay_channels_active_dark.xml" xmlns:android="http://schemas.android.com/apk/res/android">
<replace sel="layer-list/item/shape/solid/@android:color">@color/primary_500</replace>
</diff>
<diff file="res/layout/widget_chat_input.xml" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
<replace sel="LinearLayout/LinearLayout/RelativeLayout/@android:background">@color/primary_600</replace>
</diff>
<diff file="res/values/colors.xml">
<replace sel="resources/color[@name='dark_grey_2']/text()">#ff000000</replace>
<replace sel="resources/color[@name='dark_grey_2_alpha_10']/text()">#ff000000</replace>
<replace sel="resources/color[@name='design_dark_default_color_background']/text()">#ff000000</replace>
<replace sel="resources/color[@name='design_dark_default_color_surface']/text()">#ff000000</replace>
<replace sel="resources/color[@name='grey_unread']/text()">#ff000000</replace>
<replace sel="resources/color[@name='link']/text()">#ff50f148</replace>
<replace sel="resources/color[@name='primary_500']/text()">#ff333333</replace>
<replace sel="resources/color[@name='primary_500_alpha_20']/text()">#330f0f0f</replace>
<replace sel="resources/color[@name='primary_500_alpha_30']/text()">#4d0f0f0f</replace>
<replace sel="resources/color[@name='primary_500_alpha_32']/text()">#510f0f0f</replace>
<replace sel="resources/color[@name='primary_500_alpha_60']/text()">#990f0f0f</replace>
<replace sel="resources/color[@name='primary_600']/text()">#ff000000</replace>
<replace sel="resources/color[@name='primary_600_alpha_60']/text()">#99000000</replace>
<replace sel="resources/color[@name='primary_630']/text()">#ff000000</replace>
<replace sel="resources/color[@name='primary_630_alpha_60']/text()">#99000000</replace>
<replace sel="resources/color[@name='primary_630_alpha_90']/text()">#e6000000</replace>
<replace sel="resources/color[@name='primary_660']/text()">#ff000000</replace>
<replace sel="resources/color[@name='primary_660_alpha_90']/text()">#e6000000</replace>
<replace sel="resources/color[@name='primary_700']/text()">#ff000000</replace>
<replace sel="resources/color[@name='primary_700_alpha_50']/text()">#80000000</replace>
<replace sel="resources/color[@name='primary_700_alpha_60']/text()">#990f0f0f</replace>
<replace sel="resources/color[@name='primary_dark_600']/text()">#ff000000</replace>
<replace sel="resources/color[@name='primary_dark_630']/text()">#ff000000</replace>
<replace sel="resources/color[@name='primary_dark_660']/text()">#ff000000</replace>
<replace sel="resources/color[@name='primary_dark_700']/text()">#ff000000</replace>
<replace sel="resources/color[@name='tooltip_background_dark']/text()">#e6000000</replace>
<replace sel="resources/color[@name='brand']/text()">#ff9c4249</replace>
<replace sel="resources/color[@name='brand_500']/text()">#ff9c4249</replace>
<replace sel="resources/color[@name='brand_500_alpha_10']/text()">#1a5865f2</replace>
<replace sel="resources/color[@name='brand_500_alpha_20']/text()">#335865f2</replace>
</diff>
<diff file="res/values/styles.xml">
<replace sel="resources/style[@name='AppTheme.AutoGenerated.Dark']/item[@name='colorBackgroundMentioned']/text()">#1a9c4249</replace>
<replace sel="resources/style[@name='AppTheme.AutoGenerated.Dark']/item[@name='colorBackgroundMentionedHover']/text()">#149c4249</replace>
<replace sel="resources/style[@name='AppTheme.Base.Dark']/item[@name='theme_chat_mention_background']/text()">#4d9c4249</replace>
<replace sel="resources/style[@name='AppTheme.Base.Dark']/item[@name='theme_chat_mentioned_me']/text()">#1a9c4249</replace>
</diff>
<diff file="res/mipmap-anydpi-v26/ic_logo_round.xml" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
<replace sel="adaptive-icon/background/@android:drawable">@color/primary_500</replace>
</diff>
<diff file="res/mipmap-anydpi-v26/ic_logo_round_beta.xml" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
<replace sel="adaptive-icon/background/@android:drawable">@color/primary_500</replace>
</diff>
<diff file="res/mipmap-anydpi-v26/ic_logo_round_canary.xml" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
<replace sel="adaptive-icon/background/@android:drawable">@color/primary_500</replace>
</diff>
<diff file="res/mipmap-anydpi-v26/ic_logo_square.xml" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
<replace sel="adaptive-icon/background/@android:drawable">@color/primary_500</replace>
</diff>
<diff file="res/mipmap-anydpi-v26/ic_logo_square_beta.xml" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
<replace sel="adaptive-icon/background/@android:drawable">@color/primary_500</replace>
</diff>
<diff file="res/mipmap-anydpi-v26/ic_logo_square_canary.xml" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
<replace sel="adaptive-icon/background/@android:drawable">@color/primary_500</replace>
</diff>
</diffs>

View file

@ -23,6 +23,7 @@ Self note: Top bar color is set by `setStatusBarColorResourceId`
- 93.5 - Alpha
- 94.0 - Alpha
- 95.2 - Alpha
- 95.6 - Alpha
- 94.3 - Alpha
- 94.1 - Alpha

View file

@ -0,0 +1,13 @@
<diffs>
<diff file="res/layout/widget_chat_list_adapter_item_blocked.xml" xmlns:android="http://schemas.android.com/apk/res/android">
<replace sel="RelativeLayout/@android:paddingLeft">0px</replace>
<replace sel="RelativeLayout/@android:paddingTop">0px</replace>
<replace sel="RelativeLayout/@android:paddingRight">0px</replace>
<replace sel="RelativeLayout/@android:layout_width">0px</replace>
<replace sel="RelativeLayout/@android:layout_height">0px</replace>
<replace sel="RelativeLayout/@android:layout_marginLeft">0px</replace>
<replace sel="RelativeLayout/TextView/@android:textSize">0sp</replace>
<replace sel="RelativeLayout/TextView/@android:paddingTop">0dip</replace>
<replace sel="RelativeLayout/TextView/@android:paddingBottom">0dip</replace>
</diff>
</diffs>

View file

@ -0,0 +1,5 @@
<diffs>
<diff file="res/values/strings.xml">
<replace sel="resources/string[@name='com.crashlytics.android.build_id']/text()">00000000-0000-0000-0000-000000000000</replace>
</diff>
</diffs>

View file

@ -19,5 +19,6 @@ Fuck telemetry.
- 93.5 - Alpha
- 94.0 - Alpha
- 95.2 - Alpha
- 95.6 - Alpha
- 94.3 - Alpha
- 94.1 - Alpha

View file

@ -0,0 +1,9 @@
<diffs>
<diff file="res/values/dimens.xml">
<replace sel="/resources/dimen[@name='guild_icon_radius']/text()">0.0dp</replace>
</diff>
<diff file="res/values/styles.xml">
<replace sel="resources/style[@name='Avatar']/item[@name='roundAsCircle']/text()">false</replace>
<add pos="after" sel="resources/style[@name='Avatar']/item[@name='roundAsCircle']"><item name="roundedCornerRadius">3dp</item></add>
</diff>
</diffs>