49.1 (1315)

This commit is contained in:
eatsfoobars 2020-11-10 19:24:37 +00:00
parent eb5982b549
commit c959bbd5dc
Signed by: eatsfoobars
GPG key ID: D08609FADBD8C395
56 changed files with 64199 additions and 2 deletions

View file

@ -2,7 +2,7 @@
Modular Client Mod for Discord's Android app.
**Latest supported Discord Android version:** 48.2 (1310), released on 2020-11-09.
**Latest supported Discord Android version:** 49.1 (1315), released on 2020-11-10.
New patch development will be done for the latest supported version.

View file

@ -0,0 +1,66 @@
diff -crB from/res/menu/menu_chat_toolbar.xml to/res/menu/menu_chat_toolbar.xml
*** from/res/menu/menu_chat_toolbar.xml 2020-11-10 19:16:16.895118216 +0000
--- to/res/menu/menu_chat_toolbar.xml 2020-11-10 19:20:01.566109157 +0000
***************
*** 1,11 ****
<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
! <item android:icon="@drawable/ic_call_24dp" android:id="@id/menu_chat_start_call" android:visible="false" android:title="@string/start_call" app:iconTint="?colorInteractiveNormal" app:showAsAction="ifRoom" />
<item android:icon="@drawable/ic_call_disconnect_24dp" android:id="@id/menu_chat_stop_call" android:visible="false" android:title="@string/leave_call" app:iconTint="@color/status_red" app:showAsAction="ifRoom" />
<item android:icon="@drawable/ic_group_add_white_24dp" android:id="@id/menu_chat_start_group" android:visible="false" android:title="@string/create_group_dm" app:iconTint="?colorInteractiveNormal" app:showAsAction="ifRoom" />
<item android:icon="@drawable/ic_header_members_add_white_24dp" android:id="@id/menu_chat_add_friend" android:visible="false" android:title="@string/add_friend" app:iconTint="?colorInteractiveNormal" app:showAsAction="always" />
! <item android:icon="@drawable/ic_videocam_white_24dp" android:id="@id/menu_chat_start_video_call" android:visible="false" android:title="@string/start_video_call" app:iconTint="?colorInteractiveNormal" app:showAsAction="ifRoom" />
! <item android:icon="@drawable/ic_search_white_24dp" android:id="@id/menu_chat_search" android:visible="false" android:title="@string/search" app:iconTint="?colorInteractiveNormal" app:showAsAction="ifRoom" />
<item android:icon="@drawable/ic_members_24dp" android:id="@id/menu_chat_side_panel" android:visible="false" android:title="@string/members" app:iconTint="?colorInteractiveNormal" app:showAsAction="always" />
! </menu>
\ No newline at end of file
--- 1,11 ----
<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
! <item android:icon="@drawable/ic_call_24dp" android:id="@id/menu_chat_start_call" android:visible="false" android:title="@string/start_call" app:iconTint="?colorInteractiveNormal" app:showAsAction="never" />
<item android:icon="@drawable/ic_call_disconnect_24dp" android:id="@id/menu_chat_stop_call" android:visible="false" android:title="@string/leave_call" app:iconTint="@color/status_red" app:showAsAction="ifRoom" />
<item android:icon="@drawable/ic_group_add_white_24dp" android:id="@id/menu_chat_start_group" android:visible="false" android:title="@string/create_group_dm" app:iconTint="?colorInteractiveNormal" app:showAsAction="ifRoom" />
<item android:icon="@drawable/ic_header_members_add_white_24dp" android:id="@id/menu_chat_add_friend" android:visible="false" android:title="@string/add_friend" app:iconTint="?colorInteractiveNormal" app:showAsAction="always" />
! <item android:icon="@drawable/ic_videocam_white_24dp" android:id="@id/menu_chat_start_video_call" android:visible="false" android:title="@string/start_video_call" app:iconTint="?colorInteractiveNormal" app:showAsAction="never" />
! <item android:icon="@drawable/ic_search_white_24dp" android:id="@id/menu_chat_search" android:visible="false" android:title="@string/search" app:iconTint="?colorInteractiveNormal" app:showAsAction="always" />
<item android:icon="@drawable/ic_members_24dp" android:id="@id/menu_chat_side_panel" android:visible="false" android:title="@string/members" app:iconTint="?colorInteractiveNormal" app:showAsAction="always" />
! </menu>
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 2020-11-10 19:16:21.373137839 +0000
--- to/smali_classes2/com/discord/widgets/home/WidgetHomeHeaderManager$getOnConfigureAction$1.smali 2020-11-10 19:20:08.344139225 +0000
***************
*** 119,125 ****
invoke-static {v3, v4}, Ly/n/c/j;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
! invoke-interface {v3, v1}, Landroid/view/MenuItem;->setVisible(Z)Landroid/view/MenuItem;
.line 5
invoke-interface {p1, v7}, Landroid/view/Menu;->findItem(I)Landroid/view/MenuItem;
--- 119,125 ----
invoke-static {v3, v4}, Ly/n/c/j;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
! invoke-interface {v3, v2}, Landroid/view/MenuItem;->setVisible(Z)Landroid/view/MenuItem;
.line 5
invoke-interface {p1, v7}, Landroid/view/Menu;->findItem(I)Landroid/view/MenuItem;
***************
*** 140,146 ****
invoke-static {v3, v4}, Ly/n/c/j;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
! invoke-interface {v3, v1}, Landroid/view/MenuItem;->setVisible(Z)Landroid/view/MenuItem;
.line 7
invoke-interface {p1, v7}, Landroid/view/Menu;->findItem(I)Landroid/view/MenuItem;
--- 140,146 ----
invoke-static {v3, v4}, Ly/n/c/j;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
! invoke-interface {v3, v2}, Landroid/view/MenuItem;->setVisible(Z)Landroid/view/MenuItem;
.line 7
invoke-interface {p1, v7}, Landroid/view/Menu;->findItem(I)Landroid/view/MenuItem;

View file

@ -33,4 +33,5 @@ This patch replaces the call button on DM headers with search button. The call b
- 48.0
- 48.1
- 48.2
- 49.1

239
patches/branding/1315.patch Normal file
View file

@ -0,0 +1,239 @@
diff -crB from/AndroidManifest.xml to/AndroidManifest.xml
*** from/AndroidManifest.xml 2020-11-10 19:16:40.941223661 +0000
--- to/AndroidManifest.xml 2020-11-10 19:18:12.143625029 +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="1315" platformBuildVersionName="49.1">
<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="1315CTCBUILD" platformBuildVersionName="49.1-cutthecord-CTCBUILD">
<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"/>
***************
*** 21,34 ****
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
! <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"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-feature android:name="android.hardware.camera.front" android:required="false"/>
<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" android:label="@string/discord" android:largeHeap="true" android:name="com.discord.app.App" android:requestLegacyExternalStorage="true" android:roundIcon="@mipmap/ic_logo_round" android:supportsRtl="true" android:theme="@style/AppTheme.Dark" android:usesCleartextTraffic="@bool/use_cleartext_traffic">
<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">
--- 21,34 ----
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
! <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"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-feature android:name="android.hardware.camera.front" android:required="false"/>
<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:appCategory="social" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:icon="@mipmap/ic_logo_square" android:label="@string/discord" android:largeHeap="true" android:name="com.discord.app.App" android:requestLegacyExternalStorage="true" android:roundIcon="@mipmap/ic_logo_round" android:supportsRtl="true" android:theme="@style/AppTheme.Dark" android:usesCleartextTraffic="@bool/use_cleartext_traffic">
<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">
***************
*** 132,138 ****
<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"/>
--- 132,138 ----
<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"/>
***************
*** 156,162 ****
</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"/>
--- 156,162 ----
</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"/>
***************
*** 164,170 ****
<meta-data android:name="com.google.android.actions" android:resource="@xml/actions"/>
<meta-data android:name="libdiscord_version" android:value="3.0.0-include-receiver-reports"/>
<activity android:name="com.yalantis.ucrop.UCropActivity" android:theme="@style/Theme.AppCompat.Light.NoActionBar"/>
! <provider android:authorities="com.discord.firebaseperfprovider" android:exported="false" android:initOrder="101" android:name="com.google.firebase.perf.provider.FirebasePerfProvider"/>
<service android:directBootAware="true" android:exported="false" android:name="com.google.firebase.components.ComponentDiscoveryService">
<meta-data android:name="com.google.firebase.components:com.google.firebase.perf.FirebasePerfRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>
<meta-data android:name="com.google.firebase.components:com.google.firebase.dynamiclinks.internal.FirebaseDynamicLinkRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>
--- 164,170 ----
<meta-data android:name="com.google.android.actions" android:resource="@xml/actions"/>
<meta-data android:name="libdiscord_version" android:value="3.0.0-include-receiver-reports"/>
<activity android:name="com.yalantis.ucrop.UCropActivity" android:theme="@style/Theme.AppCompat.Light.NoActionBar"/>
! <provider android:authorities="com.cutthecord.CTCBRANCH.firebaseperfprovider" android:exported="false" android:initOrder="101" android:name="com.google.firebase.perf.provider.FirebasePerfProvider"/>
<service android:directBootAware="true" android:exported="false" android:name="com.google.firebase.components.ComponentDiscoveryService">
<meta-data android:name="com.google.firebase.components:com.google.firebase.perf.FirebasePerfRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>
<meta-data android:name="com.google.firebase.components:com.google.firebase.dynamiclinks.internal.FirebaseDynamicLinkRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>
***************
*** 203,211 ****
<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"/>
--- 203,211 ----
<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"/>
***************
*** 260,263 ****
<activity android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize" 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
--- 260,263 ----
<activity android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize" 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 -crB from/apktool.yml to/apktool.yml
*** from/apktool.yml 2020-11-10 19:16:22.883144458 +0000
--- to/apktool.yml 2020-11-10 19:18:12.143625029 +0000
***************
*** 82,86 ****
tag: null
version: 2.4.2-f3136b-SNAPSHOT
versionInfo:
! versionCode: '1315'
! versionName: '49.1'
--- 82,86 ----
tag: null
version: 2.4.2-f3136b-SNAPSHOT
versionInfo:
! versionCode: '1315CTCBUILD'
! versionName: '49.1-cutthecord-CTCBUILD'
diff -crB from/res/values/strings.xml to/res/values/strings.xml
*** from/res/values/strings.xml 2020-11-10 19:16:19.205128338 +0000
--- to/res/values/strings.xml 2020-11-10 19:18:12.143625029 +0000
***************
*** 1585,1591 ****
<string name="disconnect_account_title">Disconnect %1$s</string>
<string name="disconnect_from_voice">Disconnect from Voice</string>
<string name="disconnect_user_success">User has been disconnected from voice.</string>
! <string name="discord">Discord</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">Your place to talk</string>
<string name="discord_gg">discord.gg/</string>
--- 1585,1591 ----
<string name="disconnect_account_title">Disconnect %1$s</string>
<string name="disconnect_from_voice">Disconnect from Voice</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">Your place to talk</string>
<string name="discord_gg">discord.gg/</string>
***************
*** 4473,4479 ****
<string name="notification_reply_failed">Failed to reply to %1$s</string>
<string name="notification_reply_success">Replied to %1$s</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>
--- 4473,4479 ----
<string name="notification_reply_failed">Failed to reply to %1$s</string>
<string name="notification_reply_success">Replied to %1$s</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>
***************
*** 6014,6020 ****
<string name="subscriptions_title">Subscriptions</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>
<string name="suppress_embed_confirm">Remove All Embeds</string>
--- 6014,6020 ----
<string name="subscriptions_title">Subscriptions</string>
<string name="suggestions">Suggestions</string>
<string name="summary_collapsed_preference_list">%1$s, %2$s</string>
! <string name="support">CutTheCord Repo</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>
<string name="suppress_embed_confirm">Remove All Embeds</string>
diff -crB from/smali/com/discord/utilities/captcha/CaptchaHelper$showCaptchaHelpDialog$$inlined$let$lambda$1.smali to/smali/com/discord/utilities/captcha/CaptchaHelper$showCaptchaHelpDialog$$inlined$let$lambda$1.smali
*** from/smali/com/discord/utilities/captcha/CaptchaHelper$showCaptchaHelpDialog$$inlined$let$lambda$1.smali 2020-11-10 19:16:20.657134702 +0000
--- to/smali/com/discord/utilities/captcha/CaptchaHelper$showCaptchaHelpDialog$$inlined$let$lambda$1.smali 2020-11-10 19:18:12.143625029 +0000
***************
*** 78,84 ****
.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;
--- 78,84 ----
.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 -crB from/smali_classes2/com/discord/widgets/settings/WidgetSettings$onViewBound$18.smali to/smali_classes2/com/discord/widgets/settings/WidgetSettings$onViewBound$18.smali
*** from/smali_classes2/com/discord/widgets/settings/WidgetSettings$onViewBound$18.smali 2020-11-10 19:16:21.435138112 +0000
--- to/smali_classes2/com/discord/widgets/settings/WidgetSettings$onViewBound$18.smali 2020-11-10 19:18:12.145625038 +0000
***************
*** 63,69 ****
invoke-static {v1, p1}, Ly/n/c/j;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
! const-string v2, "https://support.discord.com"
const/4 v3, 0x0
--- 63,69 ----
invoke-static {v1, p1}, Ly/n/c/j;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
! const-string v2, "https://gitdab.com/distok/cutthecord"
const/4 v3, 0x0

View file

@ -214,4 +214,5 @@ You can use the following line to patch authorities:
- 48.0
- 48.1
- 48.2
- 49.1

View file

@ -0,0 +1,387 @@
diff -crB from/res/drawable/drawable_bg_corners_20dp.xml to/res/drawable/drawable_bg_corners_20dp.xml
*** from/res/drawable/drawable_bg_corners_20dp.xml 2020-11-10 19:16:17.271119863 +0000
--- to/res/drawable/drawable_bg_corners_20dp.xml 2020-11-10 19:17:00.553309785 +0000
***************
*** 1,6 ****
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android">
! <solid android:color="@color/white" />
<corners android:radius="20.0dip" />
</shape>
\ No newline at end of file
--- 1,6 ----
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android">
! <solid android:color="@android:color/transparent" />
<corners android:radius="20.0dip" />
</shape>
\ No newline at end of file
diff -crB from/res/drawable/drawable_circle_black.xml to/res/drawable/drawable_circle_black.xml
*** from/res/drawable/drawable_circle_black.xml 2020-11-10 19:16:17.363120266 +0000
--- to/res/drawable/drawable_circle_black.xml 2020-11-10 19:17:00.553309785 +0000
***************
*** 1,5 ****
<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="oval"
xmlns:android="http://schemas.android.com/apk/res/android">
! <solid android:color="@color/black" />
</shape>
\ No newline at end of file
--- 1,5 ----
<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="oval"
xmlns:android="http://schemas.android.com/apk/res/android">
! <solid android:color="@android:color/transparent" />
</shape>
\ No newline at end of file
diff -crB from/res/drawable/drawable_overlay_channels_active_dark.xml to/res/drawable/drawable_overlay_channels_active_dark.xml
*** from/res/drawable/drawable_overlay_channels_active_dark.xml 2020-11-10 19:16:17.853122413 +0000
--- to/res/drawable/drawable_overlay_channels_active_dark.xml 2020-11-10 19:17:00.553309785 +0000
***************
*** 3,9 ****
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:left="8.0dip" android:right="8.0dip">
<shape android:shape="rectangle">
! <solid android:color="#ff42464d" />
<corners android:radius="4.0dip" />
</shape>
</item>
--- 3,9 ----
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:left="8.0dip" android:right="8.0dip">
<shape android:shape="rectangle">
! <solid android:color="@color/primary_500" />
<corners android:radius="4.0dip" />
</shape>
</item>
diff -crB from/res/layout/widget_chat_input.xml to/res/layout/widget_chat_input.xml
*** from/res/layout/widget_chat_input.xml 2020-11-10 19:16:18.475125139 +0000
--- to/res/layout/widget_chat_input.xml 2020-11-10 19:17:00.553309785 +0000
***************
*** 4,10 ****
<include layout="@layout/widget_chat_input_guard" />
<LinearLayout android:id="@id/chat_input_wrap" android:visibility="gone" style="@style/UiKit.ViewGroup.LinearLayout">
<androidx.recyclerview.widget.RecyclerView android:id="@id/chat_input_mentions_recycler" android:background="?theme_chat_input" android:scrollbars="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" />
! <RelativeLayout android:id="@id/chat_input_context_bar" android:background="?colorBackgroundSecondary" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="40.0dip">
<androidx.appcompat.widget.AppCompatImageButton android:id="@id/chat_input_context_cancel" android:paddingTop="10.0dip" android:paddingBottom="10.0dip" android:layout_width="44.0dip" android:layout_height="fill_parent" android:src="@drawable/ic_close_circle_nova_grey_24dp" android:scaleType="fitCenter" android:layout_centerVertical="true" android:paddingStart="12.0dip" android:paddingEnd="12.0dip" style="@style/UiKit.ImageView.Clickable" />
<TextView android:textSize="@dimen/uikit_textsize_medium" android:ellipsize="end" android:gravity="center_vertical" android:id="@id/chat_input_context_description" android:layout_width="wrap_content" android:layout_height="fill_parent" android:maxLines="1" android:layout_centerVertical="true" android:layout_alignWithParentIfMissing="true" android:layout_toStartOf="@id/chat_input_context_reply_mention_button" android:layout_toEndOf="@id/chat_input_context_cancel" style="@style/UiKit.TextView" />
<LinearLayout android:gravity="center" android:id="@id/chat_input_context_reply_mention_button" android:background="?selectableItemBackground" android:paddingTop="10.0dip" android:paddingBottom="10.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_centerVertical="true" android:paddingStart="12.0dip" android:paddingEnd="12.0dip" android:layout_alignParentEnd="true">
--- 4,10 ----
<include layout="@layout/widget_chat_input_guard" />
<LinearLayout android:id="@id/chat_input_wrap" android:visibility="gone" style="@style/UiKit.ViewGroup.LinearLayout">
<androidx.recyclerview.widget.RecyclerView android:id="@id/chat_input_mentions_recycler" android:background="?theme_chat_input" android:scrollbars="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" />
! <RelativeLayout android:id="@id/chat_input_context_bar" android:background="@color/primary_600" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="40.0dip">
<androidx.appcompat.widget.AppCompatImageButton android:id="@id/chat_input_context_cancel" android:paddingTop="10.0dip" android:paddingBottom="10.0dip" android:layout_width="44.0dip" android:layout_height="fill_parent" android:src="@drawable/ic_close_circle_nova_grey_24dp" android:scaleType="fitCenter" android:layout_centerVertical="true" android:paddingStart="12.0dip" android:paddingEnd="12.0dip" style="@style/UiKit.ImageView.Clickable" />
<TextView android:textSize="@dimen/uikit_textsize_medium" android:ellipsize="end" android:gravity="center_vertical" android:id="@id/chat_input_context_description" android:layout_width="wrap_content" android:layout_height="fill_parent" android:maxLines="1" android:layout_centerVertical="true" android:layout_alignWithParentIfMissing="true" android:layout_toStartOf="@id/chat_input_context_reply_mention_button" android:layout_toEndOf="@id/chat_input_context_cancel" style="@style/UiKit.TextView" />
<LinearLayout android:gravity="center" android:id="@id/chat_input_context_reply_mention_button" android:background="?selectableItemBackground" android:paddingTop="10.0dip" android:paddingBottom="10.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_centerVertical="true" android:paddingStart="12.0dip" android:paddingEnd="12.0dip" android:layout_alignParentEnd="true">
***************
*** 14,17 ****
</RelativeLayout>
<androidx.fragment.app.FragmentContainerView android:name="com.lytefast.flexinput.fragment.FlexInputFragment" android:id="@id/chat_input_widget" android:layout_width="fill_parent" android:layout_height="wrap_content" />
</LinearLayout>
! </LinearLayout>
\ No newline at end of file
--- 14,17 ----
</RelativeLayout>
<androidx.fragment.app.FragmentContainerView android:name="com.lytefast.flexinput.fragment.FlexInputFragment" android:id="@id/chat_input_widget" android:layout_width="fill_parent" android:layout_height="wrap_content" />
</LinearLayout>
! </LinearLayout>
diff -crB from/res/values/colors.xml to/res/values/colors.xml
*** from/res/values/colors.xml 2020-11-10 19:16:18.993127409 +0000
--- to/res/values/colors.xml 2020-11-10 19:17:00.553309785 +0000
***************
*** 107,116 ****
<color name="common_google_signin_btn_text_light_disabled">#1f000000</color>
<color name="common_google_signin_btn_text_light_focused">#90000000</color>
<color name="common_google_signin_btn_text_light_pressed">#de000000</color>
! <color name="dark_grey_2">#ff36393e</color>
! <color name="dark_grey_2_alpha_10">#ff303337</color>
<color name="design_bottom_navigation_shadow_color">#14000000</color>
! <color name="design_dark_default_color_background">#ff121212</color>
<color name="design_dark_default_color_error">#ffcf6679</color>
<color name="design_dark_default_color_on_background">#ffffffff</color>
<color name="design_dark_default_color_on_error">#ff000000</color>
--- 107,116 ----
<color name="common_google_signin_btn_text_light_disabled">#1f000000</color>
<color name="common_google_signin_btn_text_light_focused">#90000000</color>
<color name="common_google_signin_btn_text_light_pressed">#de000000</color>
! <color name="dark_grey_2">#ff000000</color>
! <color name="dark_grey_2_alpha_10">#ff000000</color>
<color name="design_bottom_navigation_shadow_color">#14000000</color>
! <color name="design_dark_default_color_background">#ff000000</color>
<color name="design_dark_default_color_error">#ffcf6679</color>
<color name="design_dark_default_color_on_background">#ffffffff</color>
<color name="design_dark_default_color_on_error">#ff000000</color>
***************
*** 122,128 ****
<color name="design_dark_default_color_primary_variant">#ff3700b3</color>
<color name="design_dark_default_color_secondary">#ff03dac6</color>
<color name="design_dark_default_color_secondary_variant">#ff03dac6</color>
! <color name="design_dark_default_color_surface">#ff121212</color>
<color name="design_default_color_background">#ffffffff</color>
<color name="design_default_color_error">#ffb00020</color>
<color name="design_default_color_on_background">#ff000000</color>
--- 122,128 ----
<color name="design_dark_default_color_primary_variant">#ff3700b3</color>
<color name="design_dark_default_color_secondary">#ff03dac6</color>
<color name="design_dark_default_color_secondary_variant">#ff03dac6</color>
! <color name="design_dark_default_color_surface">#ff000000</color>
<color name="design_default_color_background">#ffffffff</color>
<color name="design_default_color_error">#ffb00020</color>
<color name="design_default_color_on_background">#ff000000</color>
***************
*** 171,178 ****
<color name="grey_3_alpha_30">#4d737f8d</color>
<color name="grey_4">#ff949494</color>
<color name="grey_6_alpha_05">#0d4f545c</color>
! <color name="grey_account">#ff282b30</color>
! <color name="grey_unread">#ff8a8e94</color>
<color name="highlighted_text_material_dark">#6680cbc4</color>
<color name="highlighted_text_material_light">#66009688</color>
<color name="hypesquad_house_1">#ff9c84ef</color>
--- 171,178 ----
<color name="grey_3_alpha_30">#4d737f8d</color>
<color name="grey_4">#ff949494</color>
<color name="grey_6_alpha_05">#0d4f545c</color>
! <color name="grey_account">#ff000000</color>
! <color name="grey_unread">#ff000000</color>
<color name="highlighted_text_material_dark">#6680cbc4</color>
<color name="highlighted_text_material_light">#66009688</color>
<color name="hypesquad_house_1">#ff9c84ef</color>
***************
*** 182,188 ****
<color name="hypesquad_house_3">#ff45ddc0</color>
<color name="hypesquad_house_3_500">#ff45ddc0</color>
<color name="league_of_legends">#ff021f25</color>
! <color name="link">#ff00b0f4</color>
<color name="link_100">#fff2fbfe</color>
<color name="link_130">#ffe8f8fe</color>
<color name="link_160">#ffdaf4fd</color>
--- 182,188 ----
<color name="hypesquad_house_3">#ff45ddc0</color>
<color name="hypesquad_house_3_500">#ff45ddc0</color>
<color name="league_of_legends">#ff021f25</color>
! <color name="link">#ff50f148</color>
<color name="link_100">#fff2fbfe</color>
<color name="link_130">#ffe8f8fe</color>
<color name="link_160">#ffdaf4fd</color>
***************
*** 293,312 ****
<color name="primary_400">#ff72767d</color>
<color name="primary_400_alpha_30">#4d72767d</color>
<color name="primary_400_alpha_60">#9972767d</color>
! <color name="primary_500">#ff4f545c</color>
! <color name="primary_500_alpha_20">#334f545c</color>
! <color name="primary_500_alpha_30">#4d4f545c</color>
! <color name="primary_500_alpha_32">#514f545c</color>
! <color name="primary_500_alpha_60">#994f545c</color>
<color name="primary_560">#ff40444b</color>
! <color name="primary_600">#ff36393f</color>
! <color name="primary_600_alpha_60">#9936393f</color>
! <color name="primary_630">#ff2f3136</color>
! <color name="primary_630_alpha_60">#992f3136</color>
! <color name="primary_630_alpha_90">#e62f3136</color>
! <color name="primary_660">#ff292b2f</color>
! <color name="primary_700">#ff202225</color>
! <color name="primary_700_alpha_60">#99202225</color>
<color name="primary_800">#ff18191c</color>
<color name="primary_800_alpha_50">#8018191c</color>
<color name="primary_800_alpha_60">#9918191c</color>
--- 293,312 ----
<color name="primary_400">#ff72767d</color>
<color name="primary_400_alpha_30">#4d72767d</color>
<color name="primary_400_alpha_60">#9972767d</color>
! <color name="primary_500">#ff333333</color>
! <color name="primary_500_alpha_20">#330f0f0f</color>
! <color name="primary_500_alpha_30">#4d0f0f0f</color>
! <color name="primary_500_alpha_32">#510f0f0f</color>
! <color name="primary_500_alpha_60">#990f0f0f</color>
<color name="primary_560">#ff40444b</color>
! <color name="primary_600">#ff000000</color>
! <color name="primary_600_alpha_60">#99000000</color>
! <color name="primary_630">#ff000000</color>
! <color name="primary_630_alpha_60">#99000000</color>
! <color name="primary_630_alpha_90">#e6000000</color>
! <color name="primary_660">#ff000000</color>
! <color name="primary_700">#ff000000</color>
! <color name="primary_700_alpha_60">#990f0f0f</color>
<color name="primary_800">#ff18191c</color>
<color name="primary_800_alpha_50">#8018191c</color>
<color name="primary_800_alpha_60">#9918191c</color>
***************
*** 331,340 ****
<color name="primary_dark_500">#ff4f545c</color>
<color name="primary_dark_530">#ff484c54</color>
<color name="primary_dark_560">#ff40444b</color>
! <color name="primary_dark_600">#ff36393f</color>
! <color name="primary_dark_630">#ff2f3136</color>
<color name="primary_dark_660">#ff292b2f</color>
! <color name="primary_dark_700">#ff202225</color>
<color name="primary_dark_730">#ff1e1f22</color>
<color name="primary_dark_760">#ff1b1d20</color>
<color name="primary_dark_800">#ff18191c</color>
--- 331,340 ----
<color name="primary_dark_500">#ff4f545c</color>
<color name="primary_dark_530">#ff484c54</color>
<color name="primary_dark_560">#ff40444b</color>
! <color name="primary_dark_600">#ff000000</color>
! <color name="primary_dark_630">#ff000000</color>
<color name="primary_dark_660">#ff292b2f</color>
! <color name="primary_dark_700">#ff000000</color>
<color name="primary_dark_730">#ff1e1f22</color>
<color name="primary_dark_760">#ff1b1d20</color>
<color name="primary_dark_800">#ff18191c</color>
***************
*** 378,386 ****
<color name="primary_text_default_material_light">#de000000</color>
<color name="primary_text_disabled_material_dark">#4dffffff</color>
<color name="primary_text_disabled_material_light">#39000000</color>
! <color name="purple_brand">#ff738bd7</color>
! <color name="purple_brand_alpha_10">#1a738bd7</color>
! <color name="purple_brand_dark">#ff697ec4</color>
<color name="purple_brand_hint">#ffc9d2f0</color>
<color name="purple_brand_notification">#ff5161ff</color>
<color name="reaction_background_me_dark">#4d5c6a9e</color>
--- 378,386 ----
<color name="primary_text_default_material_light">#de000000</color>
<color name="primary_text_disabled_material_dark">#4dffffff</color>
<color name="primary_text_disabled_material_light">#39000000</color>
! <color name="purple_brand">#ff9c4249</color>
! <color name="purple_brand_alpha_10">#1a9c4249</color>
! <color name="purple_brand_dark">#ff000000</color>
<color name="purple_brand_hint">#ffc9d2f0</color>
<color name="purple_brand_notification">#ff5161ff</color>
<color name="reaction_background_me_dark">#4d5c6a9e</color>
***************
*** 515,521 ****
<color name="switch_thumb_disabled_material_light">#ffbdbdbd</color>
<color name="switch_thumb_normal_material_dark">#ffbdbdbd</color>
<color name="switch_thumb_normal_material_light">#fff1f1f1</color>
! <color name="tooltip_background_dark">#e6616161</color>
<color name="tooltip_background_light">#e6ffffff</color>
<color name="transparent">@android:color/transparent</color>
<color name="twitch">#ff593695</color>
--- 515,521 ----
<color name="switch_thumb_disabled_material_light">#ffbdbdbd</color>
<color name="switch_thumb_normal_material_dark">#ffbdbdbd</color>
<color name="switch_thumb_normal_material_light">#fff1f1f1</color>
! <color name="tooltip_background_dark">#e6000000</color>
<color name="tooltip_background_light">#e6ffffff</color>
<color name="transparent">@android:color/transparent</color>
<color name="twitch">#ff593695</color>
diff -crB from/res/values/styles.xml to/res/values/styles.xml
*** from/res/values/styles.xml 2020-11-10 19:16:19.107127908 +0000
--- to/res/values/styles.xml 2020-11-10 19:17:00.555309794 +0000
***************
*** 420,426 ****
<item name="tabTextColor">@color/white_alpha_40</item>
<item name="theme_backspace_icon">@drawable/ic_backspace_white_24dp</item>
<item name="theme_chat_block_quote_divider">@color/primary_500</item>
! <item name="theme_chat_blocked_bg">#ff34373c</item>
<item name="theme_chat_blocked_text">@color/grey_unread</item>
<item name="theme_chat_code">@color/primary_630</item>
<item name="theme_chat_codeblock_border">@color/grey_account</item>
--- 420,426 ----
<item name="tabTextColor">@color/white_alpha_40</item>
<item name="theme_backspace_icon">@drawable/ic_backspace_white_24dp</item>
<item name="theme_chat_block_quote_divider">@color/primary_500</item>
! <item name="theme_chat_blocked_bg">@color/primary_500</item>
<item name="theme_chat_blocked_text">@color/grey_unread</item>
<item name="theme_chat_code">@color/primary_630</item>
<item name="theme_chat_codeblock_border">@color/grey_account</item>
***************
*** 436,442 ****
<item name="theme_chat_mentioned_me">#1afaa61a</item>
<item name="theme_chat_reaction_background">@drawable/drawable_bg_reaction_dark</item>
<item name="theme_chat_reaction_text_color">@drawable/drawable_reaction_text_color_dark</item>
! <item name="theme_chat_spoiler_bg">@color/primary_700</item>
<item name="theme_chat_spoiler_bg_visible">@color/white_alpha_10</item>
<item name="theme_chat_spoiler_inapp_bg">@color/primary_600</item>
<item name="theme_emoji_settings_empty">@drawable/img_empty_server_settings_emoji_dark</item>
--- 436,442 ----
<item name="theme_chat_mentioned_me">#1afaa61a</item>
<item name="theme_chat_reaction_background">@drawable/drawable_bg_reaction_dark</item>
<item name="theme_chat_reaction_text_color">@drawable/drawable_reaction_text_color_dark</item>
! <item name="theme_chat_spoiler_bg">@color/primary_500</item>
<item name="theme_chat_spoiler_bg_visible">@color/white_alpha_10</item>
<item name="theme_chat_spoiler_inapp_bg">@color/primary_600</item>
<item name="theme_emoji_settings_empty">@drawable/img_empty_server_settings_emoji_dark</item>
***************
*** 675,684 ****
<item name="theme_chat_input_divider">#ffe5e5e5</item>
<item name="theme_chat_input_photo_selection_icon">@drawable/ic_img_selected_light_theme</item>
<item name="theme_chat_loading_spinner_color">@color/purple_brand</item>
! <item name="theme_chat_mentioned_me">#33faa61a</item>
<item name="theme_chat_reaction_background">@drawable/drawable_bg_reaction_light</item>
<item name="theme_chat_reaction_text_color">@drawable/drawable_reaction_text_color_light</item>
! <item name="theme_chat_spoiler_bg">@color/primary_300</item>
<item name="theme_chat_spoiler_bg_visible">@color/black_alpha_10</item>
<item name="theme_chat_spoiler_inapp_bg">@color/primary_300</item>
<item name="theme_emoji_settings_empty">@drawable/img_empty_server_settings_emoji_light</item>
--- 675,684 ----
<item name="theme_chat_input_divider">#ffe5e5e5</item>
<item name="theme_chat_input_photo_selection_icon">@drawable/ic_img_selected_light_theme</item>
<item name="theme_chat_loading_spinner_color">@color/purple_brand</item>
! <item name="theme_chat_mentioned_me">@color/purple_brand_alpha_10</item>
<item name="theme_chat_reaction_background">@drawable/drawable_bg_reaction_light</item>
<item name="theme_chat_reaction_text_color">@drawable/drawable_reaction_text_color_light</item>
! <item name="theme_chat_spoiler_bg">@color/primary_500</item>
<item name="theme_chat_spoiler_bg_visible">@color/black_alpha_10</item>
<item name="theme_chat_spoiler_inapp_bg">@color/primary_300</item>
<item name="theme_emoji_settings_empty">@drawable/img_empty_server_settings_emoji_light</item>
***************
*** 781,787 ****
<item name="colorControlActivated">@color/brand_500</item>
<item name="colorControlNormal">@color/primary_100</item>
<item name="colorPrimary">@color/primary_600</item>
! <item name="colorPrimaryDark">#ff2b2e31</item>
</style>
<style name="AppTheme.Dark.Evil" parent="@style/AppTheme.Dark">
<item name="bg_mentions">@drawable/drawable_overlay_mentions_primary_800</item>
--- 781,787 ----
<item name="colorControlActivated">@color/brand_500</item>
<item name="colorControlNormal">@color/primary_100</item>
<item name="colorPrimary">@color/primary_600</item>
! <item name="colorPrimaryDark">@color/primary_630</item>
</style>
<style name="AppTheme.Dark.Evil" parent="@style/AppTheme.Dark">
<item name="bg_mentions">@drawable/drawable_overlay_mentions_primary_800</item>
***************
*** 811,817 ****
<item name="colorControlActivated">@color/brand_500</item>
<item name="colorControlNormal">@color/primary_100</item>
<item name="colorPrimary">@color/primary_600</item>
! <item name="colorPrimaryDark">#ff2b2e31</item>
</style>
<style name="AppTheme.Dark.Notice.PositiveRed" parent="@style/AppTheme.Dark.Notice">
<item name="buttonBarPositiveButtonStyle">@style/UiKit.Material.Button.Red.Fit</item>
--- 811,817 ----
<item name="colorControlActivated">@color/brand_500</item>
<item name="colorControlNormal">@color/primary_100</item>
<item name="colorPrimary">@color/primary_600</item>
! <item name="colorPrimaryDark">@color/primary_630</item>
</style>
<style name="AppTheme.Dark.Notice.PositiveRed" parent="@style/AppTheme.Dark.Notice">
<item name="buttonBarPositiveButtonStyle">@style/UiKit.Material.Button.Red.Fit</item>
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-11-10 19:16:21.483138322 +0000
--- to/smali_classes2/com/discord/widgets/tabs/WidgetTabsHost$configureSystemStatusBar$1.smali 2020-11-10 19:17:24.983417216 +0000
***************
*** 82,88 ****
.line 3
iget-object v0, p0, Lcom/discord/widgets/tabs/WidgetTabsHost$configureSystemStatusBar$1;->this$0:Lcom/discord/widgets/tabs/WidgetTabsHost;
! const v1, 0x7f06026e
invoke-static {v0, v1}, Lcom/discord/utilities/color/ColorCompat;->getColor(Landroidx/fragment/app/Fragment;I)I
--- 82,88 ----
.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

@ -207,6 +207,7 @@ Self note: Top bar color is set by `setStatusBarColorResourceId`
- 48.0
- 48.1
- 48.2
- 49.1
#### Value reference

View file

@ -0,0 +1,20 @@
diff -crB from/smali_classes2/com/discord/widgets/settings/WidgetSettings.smali to/smali_classes2/com/discord/widgets/settings/WidgetSettings.smali
*** from/smali_classes2/com/discord/widgets/settings/WidgetSettings.smali 2020-11-08 14:52:34.489909555 +0000
--- to/smali_classes2/com/discord/widgets/settings/WidgetSettings.smali 2020-11-08 14:53:07.186079260 +0000
***************
*** 1947,1953 ****
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
! const-string v0, " - 49.1 (1315)"
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
--- 1947,1953 ----
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
! const-string v0, " - 49.1 (1315), with Cutthecord patches"
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

View file

@ -201,4 +201,5 @@ This patch replaces version string and adds mention of cutthecord in the user se
- 48.0
- 48.1
- 48.2
- 49.1

View file

@ -0,0 +1,92 @@
diff -crB from/smali/com/discord/utilities/analytics/AnalyticSuperProperties.smali to/smali/com/discord/utilities/analytics/AnalyticSuperProperties.smali
*** from/smali/com/discord/utilities/analytics/AnalyticSuperProperties.smali 2020-10-06 18:20:37.801763414 +0100
--- to/smali/com/discord/utilities/analytics/AnalyticSuperProperties.smali 2020-10-06 18:21:25.486296377 +0100
***************
*** 313,383 ****
.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}, Lf/h/a/f/f/n/f;->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
--- 313,327 ----
.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

@ -202,4 +202,5 @@ Between 8.3.0 and 33.1: This patch replaces the browser name from "Discord Andro
- 48.0
- 48.1
- 48.2
- 49.1

View file

@ -0,0 +1,91 @@
diff -crB from/smali/com/discord/utilities/textprocessing/MessagePreprocessor.smali to/smali/com/discord/utilities/textprocessing/MessagePreprocessor.smali
*** from/smali/com/discord/utilities/textprocessing/MessagePreprocessor.smali 2020-11-09 19:02:56.763483831 +0000
--- to/smali/com/discord/utilities/textprocessing/MessagePreprocessor.smali 2020-11-09 19:04:48.111340562 +0000
***************
*** 476,552 ****
.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}, Ly/i/f;->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/models/domain/ModelMessageEmbed;
-
- .line 4
- instance-of v1, v1, Lcom/discord/utilities/textprocessing/node/UrlNode;
-
- if-nez v1, :cond_1
-
- return-void
-
- .line 5
- :cond_1
- invoke-virtual {v0}, Lcom/discord/models/domain/ModelMessageEmbed;->isSimpleEmbed()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
--- 476,483 ----
.end method
.method private final stripSimpleEmbedLink(Ljava/util/Collection;)V
! .locals 0
return-void
.end method

View file

@ -31,4 +31,5 @@ to
- 48.0
- 48.1
- 48.2
- 49.1

View file

@ -0,0 +1,101 @@
diff -crB from/smali/com/discord/stores/StoreExperiments$getExperimentalAlpha$1.smali to/smali/com/discord/stores/StoreExperiments$getExperimentalAlpha$1.smali
*** from/smali/com/discord/stores/StoreExperiments$getExperimentalAlpha$1.smali 2020-11-09 19:02:56.591484052 +0000
--- to/smali/com/discord/stores/StoreExperiments$getExperimentalAlpha$1.smali 2020-11-09 19:03:42.137425645 +0000
***************
*** 61,122 ****
.end method
.method public final invoke()Z
! .locals 4
! .line 2
! iget-object v0, p0, Lcom/discord/stores/StoreExperiments$getExperimentalAlpha$1;->this$0:Lcom/discord/stores/StoreExperiments;
! invoke-static {v0}, Lcom/discord/stores/StoreExperiments;->access$getStoreUser$p(Lcom/discord/stores/StoreExperiments;)Lcom/discord/stores/StoreUser;
!
! move-result-object v0
!
! invoke-virtual {v0}, Lcom/discord/stores/StoreUser;->getMe()Lcom/discord/models/domain/ModelUser$Me;
!
! move-result-object v0
!
! .line 3
! iget-object v1, p0, Lcom/discord/stores/StoreExperiments$getExperimentalAlpha$1;->this$0:Lcom/discord/stores/StoreExperiments;
!
! invoke-static {v1}, Lcom/discord/stores/StoreExperiments;->access$getStoreGuilds$p(Lcom/discord/stores/StoreExperiments;)Lcom/discord/stores/StoreGuilds;
!
! move-result-object v1
!
! invoke-virtual {v1}, Lcom/discord/stores/StoreGuilds;->getGuilds()Ljava/util/Map;
!
! move-result-object v1
!
! const-wide v2, 0x2bc056ab0800006L
!
! invoke-static {v2, v3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
!
! move-result-object v2
!
! invoke-interface {v1, v2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
!
! move-result-object v1
!
! check-cast v1, Lcom/discord/models/domain/ModelGuild;
!
! const/4 v2, 0x1
!
! if-eqz v0, :cond_0
!
! .line 4
! invoke-virtual {v0}, Lcom/discord/models/domain/ModelUser;->isStaff()Z
!
! move-result v0
!
! if-eq v0, v2, :cond_2
!
! :cond_0
! if-eqz v1, :cond_1
!
! goto :goto_0
!
! :cond_1
! const/4 v2, 0x0
!
! :cond_2
! :goto_0
! return v2
.end method
--- 61,69 ----
.end method
.method public final invoke()Z
! .locals 1
! const/4 v0, 0x1
! return v0
.end method
diff -crB from/smali_classes2/com/discord/widgets/settings/WidgetSettingsAppearance$Model$Companion$get$1.smali to/smali_classes2/com/discord/widgets/settings/WidgetSettingsAppearance$Model$Companion$get$1.smali
*** from/smali_classes2/com/discord/widgets/settings/WidgetSettingsAppearance$Model$Companion$get$1.smali 2020-11-09 19:02:57.625482728 +0000
--- to/smali_classes2/com/discord/widgets/settings/WidgetSettingsAppearance$Model$Companion$get$1.smali 2020-11-09 19:04:11.863387375 +0000
***************
*** 92,102 ****
if-nez p4, :cond_1
! invoke-static {p1, v1}, Ly/n/c/j;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
!
! invoke-virtual {p1}, Lcom/discord/models/domain/ModelUser;->isStaff()Z
!
! move-result p4
if-eqz p4, :cond_0
--- 92,98 ----
if-nez p4, :cond_1
! const/4 p4, 0x1
if-eqz p4, :cond_0

View file

@ -205,4 +205,5 @@ This patch enables developer options (empty), mobile experiments (of which there
- 48.0
- 48.1
- 48.2
- 49.1

View file

@ -0,0 +1,21 @@
Only in com.discord: build
Only in com.discord: dist
diff --color -crB com.discord-base/smali/com/discord/widgets/chat/input/emoji/EmojiPickerViewModel$Companion.smali com.discord/smali/com/discord/widgets/chat/input/emoji/EmojiPickerViewModel$Companion.smali
*** com.discord-base/smali/com/discord/widgets/chat/input/emoji/EmojiPickerViewModel$Companion.smali 2020-07-30 01:52:32.303011366 +0300
--- com.discord/smali/com/discord/widgets/chat/input/emoji/EmojiPickerViewModel$Companion.smali 2020-07-31 15:28:48.386493702 +0300
***************
*** 154,159 ****
--- 154,165 ----
if-eqz v4, :cond_2
+ invoke-interface {v1}, Lcom/discord/models/domain/emoji/Emoji;->isUsable()Z
+
+ move-result v4
+
+ if-eqz v4, :cond_2
+
.line 5
new-instance v2, Lcom/discord/widgets/chat/input/emoji/WidgetEmojiAdapter$EmojiItem;

View file

@ -36,4 +36,5 @@ Big thanks to [@BlueMods](https://gitdab.com/BlueMods) for sending in this patch
- 48.0
- 48.1
- 48.2
- 49.1

View file

@ -0,0 +1,20 @@
diff -crB from/smali/com/discord/utilities/icon/IconUtils.smali to/smali/com/discord/utilities/icon/IconUtils.smali
*** from/smali/com/discord/utilities/icon/IconUtils.smali 2020-09-29 13:35:45.326880125 +0100
--- to/smali/com/discord/utilities/icon/IconUtils.smali 2020-09-29 13:35:56.952303623 +0100
***************
*** 1433,1438 ****
--- 1433,1446 ----
invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+ # Set avatar image size to 256
+
+ const-string v0, "?size=256"
+
+ invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ const-string v0, "https://cdn.discordapp.com/avatars/"
+
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0

View file

@ -93,4 +93,5 @@ Changes avatars from 128x128 to 256x256 variants.
- 48.0
- 48.1
- 48.2
- 49.1

328
patches/litecord/1315.patch Normal file
View file

@ -0,0 +1,328 @@
diff -crB from/smali/com/discord/app/App.smali to/smali/com/discord/app/App.smali
*** from/smali/com/discord/app/App.smali 2020-11-10 19:16:20.447133781 +0000
--- to/smali/com/discord/app/App.smali 2020-11-10 19:16:32.991188781 +0000
***************
*** 151,157 ****
invoke-virtual {v0, v1}, Lcom/discord/utilities/view/text/LinkifiedTextView$Companion;->init(Lkotlin/jvm/functions/Function2;)Lkotlin/Unit;
! const-string v0, "https://cdn.discordapp.com"
.line 25
invoke-static {v0}, Lcom/discord/models/domain/emoji/ModelEmojiCustom;->setCdnUri(Ljava/lang/String;)V
--- 151,157 ----
invoke-virtual {v0, v1}, Lcom/discord/utilities/view/text/LinkifiedTextView$Companion;->init(Lkotlin/jvm/functions/Function2;)Lkotlin/Unit;
! const-string v0, "https://dev.litecord.top"
.line 25
invoke-static {v0}, Lcom/discord/models/domain/emoji/ModelEmojiCustom;->setCdnUri(Ljava/lang/String;)V
diff -crB from/smali/com/discord/BuildConfig.smali to/smali/com/discord/BuildConfig.smali
*** from/smali/com/discord/BuildConfig.smali 2020-11-10 19:16:20.445133773 +0000
--- to/smali/com/discord/BuildConfig.smali 2020-11-10 19:16:32.991188781 +0000
***************
*** 18,36 ****
.field public static final FLAVOR_vendor:Ljava/lang/String; = "discord"
! .field public static final HOST:Ljava/lang/String; = "https://discord.com"
! .field public static final HOST_ALTERNATE:Ljava/lang/String; = "https://discordapp.com"
! .field public static final HOST_API:Ljava/lang/String; = "https://discord.com/api/"
! .field public static final HOST_CDN:Ljava/lang/String; = "https://cdn.discordapp.com"
! .field public static final HOST_GIFT:Ljava/lang/String; = "https://discord.gift"
! .field public static final HOST_GUILD_TEMPLATE:Ljava/lang/String; = "https://discord.new"
! .field public static final HOST_INVITE:Ljava/lang/String; = "https://discord.gg"
.field public static final HOST_MEDIA_PROXY:Ljava/lang/String; = "https://media.discordapp.net"
--- 18,36 ----
.field public static final FLAVOR_vendor:Ljava/lang/String; = "discord"
! .field public static final HOST:Ljava/lang/String; = "https://dev.litecord.top"
! .field public static final HOST_ALTERNATE:Ljava/lang/String; = "https://dev.litecord.top"
! .field public static final HOST_API:Ljava/lang/String; = "https://dev.litecord.top/api/"
! .field public static final HOST_CDN:Ljava/lang/String; = "https://dev.litecord.top"
! .field public static final HOST_GIFT:Ljava/lang/String; = "https://dev.litecord.top"
! .field public static final HOST_GUILD_TEMPLATE:Ljava/lang/String; = "https://dev.litecord.top"
! .field public static final HOST_INVITE:Ljava/lang/String; = "https://dev.litecord.top"
.field public static final HOST_MEDIA_PROXY:Ljava/lang/String; = "https://media.discordapp.net"
diff -crB from/smali/com/discord/stores/StoreGatewayConnection.smali to/smali/com/discord/stores/StoreGatewayConnection.smali
*** from/smali/com/discord/stores/StoreGatewayConnection.smali 2020-11-10 19:16:20.563134290 +0000
--- to/smali/com/discord/stores/StoreGatewayConnection.smali 2020-11-10 19:16:32.991188781 +0000
***************
*** 1393,1399 ****
sget-object v3, Lcom/discord/utilities/rest/RestAPI$AppHeadersProvider;->INSTANCE:Lcom/discord/utilities/rest/RestAPI$AppHeadersProvider;
! const-string v6, "https://discord.com/api/"
invoke-direct {v7, v6, v3, v0}, Lcom/discord/gateway/rest/RestConfig;-><init>(Ljava/lang/String;Lcom/discord/restapi/RequiredHeadersInterceptor$HeadersProvider;Ljava/util/List;)V
--- 1393,1399 ----
sget-object v3, Lcom/discord/utilities/rest/RestAPI$AppHeadersProvider;->INSTANCE:Lcom/discord/utilities/rest/RestAPI$AppHeadersProvider;
! const-string v6, "https://dev.litecord.top/api/"
invoke-direct {v7, v6, v3, v0}, Lcom/discord/gateway/rest/RestConfig;-><init>(Ljava/lang/String;Lcom/discord/restapi/RequiredHeadersInterceptor$HeadersProvider;Ljava/util/List;)V
diff -crB from/smali/com/discord/utilities/icon/IconUtils.smali to/smali/com/discord/utilities/icon/IconUtils.smali
*** from/smali/com/discord/utilities/icon/IconUtils.smali 2020-11-10 19:16:20.705134912 +0000
--- to/smali/com/discord/utilities/icon/IconUtils.smali 2020-11-10 19:16:32.991188781 +0000
***************
*** 510,516 ****
return-object p0
:cond_4
! const-string p3, "https://cdn.discordapp.com"
.line 4
invoke-interface {p3}, Ljava/lang/CharSequence;->length()I
--- 510,516 ----
return-object p0
:cond_4
! const-string p3, "https://dev.litecord.top"
.line 4
invoke-interface {p3}, Ljava/lang/CharSequence;->length()I
***************
*** 559,565 ****
invoke-direct {p4}, Ljava/lang/StringBuilder;-><init>()V
! const-string v0, "https://cdn.discordapp.com/channel-icons/"
invoke-virtual {p4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
--- 559,565 ----
invoke-direct {p4}, Ljava/lang/StringBuilder;-><init>()V
! const-string v0, "https://dev.litecord.top/channel-icons/"
invoke-virtual {p4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
***************
*** 953,959 ****
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
! const-string v1, "https://cdn.discordapp.com"
invoke-interface {v1}, Ljava/lang/CharSequence;->length()I
--- 953,959 ----
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
! const-string v1, "https://dev.litecord.top"
invoke-interface {v1}, Ljava/lang/CharSequence;->length()I
***************
*** 1031,1037 ****
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
! const-string v2, "https://cdn.discordapp.com/icons/"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
--- 1031,1037 ----
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
! const-string v2, "https://dev.litecord.top/icons/"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
***************
*** 1342,1348 ****
:cond_0
if-eqz p1, :cond_4
! const-string p2, "https://cdn.discordapp.com"
.line 6
invoke-interface {p2}, Ljava/lang/CharSequence;->length()I
--- 1342,1348 ----
:cond_0
if-eqz p1, :cond_4
! const-string p2, "https://dev.litecord.top"
.line 6
invoke-interface {p2}, Ljava/lang/CharSequence;->length()I
***************
*** 1415,1421 ****
invoke-direct {p3}, Ljava/lang/StringBuilder;-><init>()V
! const-string v0, "https://cdn.discordapp.com/avatars/"
invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
--- 1415,1421 ----
invoke-direct {p3}, Ljava/lang/StringBuilder;-><init>()V
! const-string v0, "https://dev.litecord.top/avatars/"
invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
***************
*** 2584,2590 ****
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
! const-string v1, "https://cdn.discordapp.com/app-icons/"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
--- 2584,2590 ----
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
! const-string v1, "https://dev.litecord.top/app-icons/"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
***************
*** 2701,2707 ****
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
! const-string v1, "https://cdn.discordapp.com/app-assets/"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
--- 2701,2707 ----
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
! const-string v1, "https://dev.litecord.top/app-assets/"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
***************
*** 2801,2807 ****
move-object p3, v0
:goto_0
! const-string v1, "https://cdn.discordapp.com"
.line 3
invoke-interface {v1}, Ljava/lang/CharSequence;->length()I
--- 2801,2807 ----
move-object p3, v0
:goto_0
! const-string v1, "https://dev.litecord.top"
.line 3
invoke-interface {v1}, Ljava/lang/CharSequence;->length()I
***************
*** 2852,2858 ****
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
! const-string v3, "https://cdn.discordapp.com/banners/"
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
--- 2852,2858 ----
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
! const-string v3, "https://dev.litecord.top/banners/"
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
***************
*** 3072,3078 ****
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
! const-string v1, "https://cdn.discordapp.com/app-icons/"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
--- 3072,3078 ----
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
! const-string v1, "https://dev.litecord.top/app-icons/"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
***************
*** 3133,3139 ****
move-object p4, v0
:goto_0
! const-string v1, "https://cdn.discordapp.com"
.line 2
invoke-interface {v1}, Ljava/lang/CharSequence;->length()I
--- 3133,3139 ----
move-object p4, v0
:goto_0
! const-string v1, "https://dev.litecord.top"
.line 2
invoke-interface {v1}, Ljava/lang/CharSequence;->length()I
***************
*** 3185,3191 ****
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
! const-string v3, "https://cdn.discordapp.com/splashes/"
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
--- 3185,3191 ----
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
! const-string v3, "https://dev.litecord.top/splashes/"
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
diff -crB from/smali/com/discord/utilities/rest/RestAPI$Companion.smali to/smali/com/discord/utilities/rest/RestAPI$Companion.smali
*** from/smali/com/discord/utilities/rest/RestAPI$Companion.smali 2020-11-10 19:16:20.715134956 +0000
--- to/smali/com/discord/utilities/rest/RestAPI$Companion.smali 2020-11-10 19:16:32.991188781 +0000
***************
*** 319,325 ****
.line 9
new-instance v1, Lcom/discord/restapi/RestAPIBuilder;
! const-string v9, "https://discord.com/api/"
invoke-direct {v1, v9, v6}, Lcom/discord/restapi/RestAPIBuilder;-><init>(Ljava/lang/String;Lc0/q;)V
--- 319,325 ----
.line 9
new-instance v1, Lcom/discord/restapi/RestAPIBuilder;
! const-string v9, "https://dev.litecord.top/api/"
invoke-direct {v1, v9, v6}, Lcom/discord/restapi/RestAPIBuilder;-><init>(Ljava/lang/String;Lc0/q;)V

View file

@ -205,4 +205,5 @@ Please keep in mind that litecord is free (gratis and libre) software, provided
- 48.0
- 48.1
- 48.2
- 49.1

56773
patches/mutant/1315.patch Normal file

File diff suppressed because it is too large Load diff

View file

@ -213,6 +213,7 @@ Various scripts are provided to help building of custom patches easier.
- 48.0
- 48.1
- 48.2
- 49.1
#### Disclaimer

View file

@ -0,0 +1,14 @@
diff -crB from/AndroidManifest.xml to/AndroidManifest.xml
*** from/AndroidManifest.xml 2020-11-10 19:16:16.321115701 +0000
--- to/AndroidManifest.xml 2020-11-10 19:16:40.315220914 +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.discord" platformBuildVersionCode="1315" platformBuildVersionName="49.1">
<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"/>

View file

@ -0,0 +1,18 @@
diff -crB -x dist -x build com.discord-835-base/res/layout/widget_chat_list_adapter_item_blocked.xml com.discord-835/res/layout/widget_chat_list_adapter_item_blocked.xml
*** com.discord-835-base/res/layout/widget_chat_list_adapter_item_blocked.xml 2019-01-25 10:57:34.359248256 +0300
--- com.discord-835/res/layout/widget_chat_list_adapter_item_blocked.xml 2019-01-27 00:08:22.929085528 +0300
***************
*** 1,5 ****
<?xml version="1.0" encoding="utf-8"?>
! <RelativeLayout android:background="?selectableItemBackground" android:paddingLeft="@dimen/chat_cell_horizontal_spacing_padding" android:paddingTop="@dimen/chat_cell_vertical_spacing_padding" android:paddingRight="@dimen/chat_cell_horizontal_spacing_padding" android:paddingBottom="@dimen/chat_cell_vertical_spacing_padding" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/chat_cell_horizontal_spacing_margin" android:layout_marginRight="@dimen/chat_cell_horizontal_spacing_margin"
xmlns:android="http://schemas.android.com/apk/res/android">
! <TextView android:textSize="11.0sp" android:textColor="?theme_chat_blocked_text" android:gravity="center" android:id="@id/chat_list_adapter_item_blocked" android:background="?theme_chat_blocked_bg" android:paddingTop="7.5dip" android:paddingBottom="7.5dip" android:layout_width="fill_parent" style="@style/UiKit.TextView" />
</RelativeLayout>
\ No newline at end of file
--- 1,5 ----
<?xml version="1.0" encoding="utf-8"?>
! <RelativeLayout android:background="?selectableItemBackground" android:paddingLeft="0px" android:paddingTop="0px" android:paddingRight="0px" android:paddingBottom="@dimen/chat_cell_vertical_spacing_padding" android:layout_width="0px" android:layout_height="0px" android:layout_marginLeft="0px" android:layout_marginRight="@dimen/chat_cell_horizontal_spacing_margin"
xmlns:android="http://schemas.android.com/apk/res/android">
! <TextView android:textSize="0sp" android:textColor="?theme_chat_blocked_text" android:gravity="center" android:id="@id/chat_list_adapter_item_blocked" android:background="?theme_chat_blocked_bg" android:paddingTop="0dip" android:paddingBottom="0dip" android:layout_width="fill_parent" style="@style/UiKit.TextView" />
</RelativeLayout>
\ No newline at end of file

View file

@ -196,4 +196,5 @@ This patch completely hides the "# Blocked Message(s)" thing.
- 48.0
- 48.1
- 48.2
- 49.1

View file

@ -0,0 +1,54 @@
diff -crB from/smali_classes2/com/lytefast/flexinput/fragment/FlexInputFragment.smali to/smali_classes2/com/lytefast/flexinput/fragment/FlexInputFragment.smali
*** from/smali_classes2/com/lytefast/flexinput/fragment/FlexInputFragment.smali 2020-11-10 19:16:21.815139777 +0000
--- to/smali_classes2/com/lytefast/flexinput/fragment/FlexInputFragment.smali 2020-11-10 19:16:30.599178289 +0000
***************
*** 370,376 ****
if-nez v5, :cond_4
! const/4 v10, 0x0
goto :goto_1
--- 370,376 ----
if-nez v5, :cond_4
! const/16 v10, 0x8
goto :goto_1
***************
*** 387,393 ****
if-eqz v5, :cond_5
! const/4 v10, 0x0
goto :goto_2
--- 387,393 ----
if-eqz v5, :cond_5
! const/16 v10, 0x8
goto :goto_2
***************
*** 409,415 ****
goto :goto_3
:cond_6
! const/16 v5, 0x8
:goto_3
invoke-virtual {v6, v5}, Landroid/view/View;->setVisibility(I)V
--- 409,415 ----
goto :goto_3
:cond_6
! const/16 v5, 0x0
:goto_3
invoke-virtual {v6, v5}, Landroid/view/View;->setVisibility(I)V

View file

@ -103,4 +103,5 @@ to
- 48.0
- 48.1
- 48.2
- 49.1

View file

@ -0,0 +1,20 @@
diff -crB from/smali/com/discord/widgets/chat/input/WidgetChatInputAttachments$configureFlexInputFragment$1.smali to/smali/com/discord/widgets/chat/input/WidgetChatInputAttachments$configureFlexInputFragment$1.smali
*** from/smali/com/discord/widgets/chat/input/WidgetChatInputAttachments$configureFlexInputFragment$1.smali 2020-09-13 11:49:34.339166635 +0100
--- to/smali/com/discord/widgets/chat/input/WidgetChatInputAttachments$configureFlexInputFragment$1.smali 2020-09-13 11:49:53.575360799 +0100
***************
*** 261,267 ****
if-eqz v0, :cond_1
! invoke-virtual {v0, v3}, Landroid/widget/ImageView;->setVisibility(I)V
:goto_0
return-void
--- 261,267 ----
if-eqz v0, :cond_1
! # invoke-virtual {v0, v3}, Landroid/widget/ImageView;->setVisibility(I)V
:goto_0
return-void

View file

@ -128,4 +128,5 @@ Self explanatory.
- 48.0
- 48.1
- 48.2
- 49.1

179
patches/nonearby/1315.patch Normal file
View file

@ -0,0 +1,179 @@
diff -crB from/smali/com/discord/widgets/friends/NearbyManager.smali to/smali/com/discord/widgets/friends/NearbyManager.smali
*** from/smali/com/discord/widgets/friends/NearbyManager.smali 2020-10-06 18:20:38.187767799 +0100
--- to/smali/com/discord/widgets/friends/NearbyManager.smali 2020-10-06 18:22:01.088683416 +0100
***************
*** 475,609 ****
# virtual methods
.method public final activateNearby()V
! .locals 9
- .line 1
- iget-object v0, p0, Lcom/discord/widgets/friends/NearbyManager;->messagesClient:Lcom/google/android/gms/nearby/messages/MessagesClient;
-
- if-eqz v0, :cond_1
-
- .line 2
- iget-object v1, p0, Lcom/discord/widgets/friends/NearbyManager;->outboundMessage:Lcom/google/android/gms/nearby/messages/Message;
-
- if-eqz v1, :cond_1
-
- .line 3
- iget-object v2, p0, Lcom/discord/widgets/friends/NearbyManager;->messagePublishOptions:Lcom/google/android/gms/nearby/messages/PublishOptions;
-
- if-eqz v2, :cond_1
-
- .line 4
- iget-object v3, p0, Lcom/discord/widgets/friends/NearbyManager;->messageListener:Lcom/google/android/gms/nearby/messages/MessageListener;
-
- if-eqz v3, :cond_1
-
- .line 5
- iget-object v4, p0, Lcom/discord/widgets/friends/NearbyManager;->subscribeOptions:Lcom/google/android/gms/nearby/messages/SubscribeOptions;
-
- if-eqz v4, :cond_1
-
- .line 6
- iget-object v5, p0, Lcom/discord/widgets/friends/NearbyManager;->nearbyStateSubject:Lrx/subjects/BehaviorSubject;
-
- new-instance v6, Lcom/discord/widgets/friends/NearbyManager$NearbyState$Connected;
-
- new-instance v7, Ljava/util/HashSet;
-
- iget-object v8, p0, Lcom/discord/widgets/friends/NearbyManager;->nearbyUserIds:Ljava/util/HashSet;
-
- invoke-direct {v7, v8}, Ljava/util/HashSet;-><init>(Ljava/util/Collection;)V
-
- invoke-direct {v6, v7}, Lcom/discord/widgets/friends/NearbyManager$NearbyState$Connected;-><init>(Ljava/util/Set;)V
-
- invoke-virtual {v5, v6}, Lrx/subjects/BehaviorSubject;->onNext(Ljava/lang/Object;)V
-
- .line 7
- check-cast v0, Lf/h/a/f/k/b/e/i;
-
- .line 8
- invoke-static {v1}, Lf/g/j/k/a;->t(Ljava/lang/Object;)Ljava/lang/Object;
-
- invoke-static {v2}, Lf/g/j/k/a;->t(Ljava/lang/Object;)Ljava/lang/Object;
-
- invoke-virtual {v0, v1}, Lf/h/a/f/k/b/e/i;->i(Ljava/lang/Object;)Lf/h/a/f/f/h/i/k;
-
- move-result-object v5
-
- .line 9
- iget-object v6, v2, Lcom/google/android/gms/nearby/messages/PublishOptions;->b:Lf/h/a/f/k/b/b;
-
- .line 10
- invoke-virtual {v0, v6}, Lf/h/a/f/k/b/e/i;->i(Ljava/lang/Object;)Lf/h/a/f/f/h/i/k;
-
- move-result-object v6
-
- new-instance v7, Lf/h/a/f/k/b/e/r;
-
- invoke-direct {v7, v0, v6, v5}, Lf/h/a/f/k/b/e/r;-><init>(Lf/h/a/f/k/b/e/i;Lf/h/a/f/f/h/i/k;Lf/h/a/f/f/h/i/k;)V
-
- new-instance v6, Lf/h/a/f/k/b/e/j;
-
- invoke-direct {v6, v0, v1, v7, v2}, Lf/h/a/f/k/b/e/j;-><init>(Lf/h/a/f/k/b/e/i;Lcom/google/android/gms/nearby/messages/Message;Lf/h/a/f/k/b/e/b0;Lcom/google/android/gms/nearby/messages/PublishOptions;)V
-
- new-instance v2, Lf/h/a/f/k/b/e/k;
-
- invoke-direct {v2, v1}, Lf/h/a/f/k/b/e/k;-><init>(Lcom/google/android/gms/nearby/messages/Message;)V
-
- invoke-virtual {v0, v5, v6, v2}, Lf/h/a/f/k/b/e/i;->g(Lf/h/a/f/f/h/i/k;Lf/h/a/f/k/b/e/a0;Lf/h/a/f/k/b/e/a0;)Lcom/google/android/gms/tasks/Task;
-
- .line 11
- invoke-static {v3}, Lf/g/j/k/a;->t(Ljava/lang/Object;)Ljava/lang/Object;
-
- invoke-static {v4}, Lf/g/j/k/a;->t(Ljava/lang/Object;)Ljava/lang/Object;
-
- .line 12
- iget-object v1, v4, Lcom/google/android/gms/nearby/messages/SubscribeOptions;->a:Lcom/google/android/gms/nearby/messages/Strategy;
-
- .line 13
- iget v1, v1, Lcom/google/android/gms/nearby/messages/Strategy;->k:I
-
- if-nez v1, :cond_0
-
- const/4 v1, 0x1
-
- goto :goto_0
-
- :cond_0
- const/4 v1, 0x0
-
- :goto_0
- const-string v2, "Strategy.setBackgroundScanMode() is only supported by background subscribe (the version which takes a PendingIntent)."
-
- .line 14
- invoke-static {v1, v2}, Lf/g/j/k/a;->i(ZLjava/lang/Object;)V
-
- invoke-virtual {v0, v3}, Lf/h/a/f/k/b/e/i;->i(Ljava/lang/Object;)Lf/h/a/f/f/h/i/k;
-
- move-result-object v1
-
- .line 15
- iget-object v2, v4, Lcom/google/android/gms/nearby/messages/SubscribeOptions;->c:Lf/h/a/f/k/b/d;
-
- .line 16
- invoke-virtual {v0, v2}, Lf/h/a/f/k/b/e/i;->i(Ljava/lang/Object;)Lf/h/a/f/f/h/i/k;
-
- move-result-object v2
-
- new-instance v3, Lf/h/a/f/k/b/e/s;
-
- invoke-direct {v3, v0, v2, v1}, Lf/h/a/f/k/b/e/s;-><init>(Lf/h/a/f/k/b/e/i;Lf/h/a/f/f/h/i/k;Lf/h/a/f/f/h/i/k;)V
-
- new-instance v2, Lf/h/a/f/k/b/e/l;
-
- invoke-direct {v2, v0, v1, v3, v4}, Lf/h/a/f/k/b/e/l;-><init>(Lf/h/a/f/k/b/e/i;Lf/h/a/f/f/h/i/k;Lf/h/a/f/k/b/e/d0;Lcom/google/android/gms/nearby/messages/SubscribeOptions;)V
-
- new-instance v3, Lf/h/a/f/k/b/e/m;
-
- invoke-direct {v3, v1}, Lf/h/a/f/k/b/e/m;-><init>(Lf/h/a/f/f/h/i/k;)V
-
- invoke-virtual {v0, v1, v2, v3}, Lf/h/a/f/k/b/e/i;->g(Lf/h/a/f/f/h/i/k;Lf/h/a/f/k/b/e/a0;Lf/h/a/f/k/b/e/a0;)Lcom/google/android/gms/tasks/Task;
-
- :cond_1
return-void
.end method
--- 475,482 ----
# virtual methods
.method public final activateNearby()V
! .locals 0
return-void
.end method
***************
*** 698,717 ****
.end method
.method public final initialize(J)V
! .locals 1
!
! .line 1
! invoke-static {p1, p2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
!
! move-result-object v0
!
! iput-object v0, p0, Lcom/discord/widgets/friends/NearbyManager;->meUserId:Ljava/lang/Long;
!
! .line 2
! invoke-direct {p0, p1, p2}, Lcom/discord/widgets/friends/NearbyManager;->setupBroadcaster(J)V
!
! .line 3
! invoke-direct {p0}, Lcom/discord/widgets/friends/NearbyManager;->setupListener()V
return-void
.end method
--- 571,577 ----
.end method
.method public final initialize(J)V
! .locals 0
return-void
.end method

View file

@ -199,4 +199,5 @@ This patch nulls a bunch of nearby friends features for privacy.
- 48.0
- 48.1
- 48.2
- 49.1

View file

@ -0,0 +1,49 @@
diff -crB from/smali_classes2/com/discord/widgets/user/profile/WidgetUserProfileStrip.smali to/smali_classes2/com/discord/widgets/user/profile/WidgetUserProfileStrip.smali
*** from/smali_classes2/com/discord/widgets/user/profile/WidgetUserProfileStrip.smali 2020-02-06 22:11:47.992098274 +0000
--- to/smali_classes2/com/discord/widgets/user/profile/WidgetUserProfileStrip.smali 2020-02-06 22:12:00.994092850 +0000
***************
*** 430,442 ****
move-result-object v2
! invoke-virtual {p1}, Lcom/discord/widgets/user/profile/WidgetUserProfileStrip$Model;->getUser()Lcom/discord/models/domain/ModelUser;
!
! move-result-object v4
!
! invoke-virtual {v4}, Lcom/discord/models/domain/ModelUser;->getUsername()Ljava/lang/String;
!
! move-result-object v4
invoke-virtual {v2, v4}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
--- 430,436 ----
move-result-object v2
! const-string v4, ""
invoke-virtual {v2, v4}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
***************
*** 445,457 ****
move-result-object v2
! invoke-virtual {p1}, Lcom/discord/widgets/user/profile/WidgetUserProfileStrip$Model;->getUser()Lcom/discord/models/domain/ModelUser;
!
! move-result-object p1
!
! invoke-virtual {p1}, Lcom/discord/models/domain/ModelUser;->getDiscriminatorWithPadding()Ljava/lang/String;
!
! move-result-object p1
invoke-virtual {v2, p1}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
--- 439,445 ----
move-result-object v2
! const-string p1, ""
invoke-virtual {v2, p1}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V

View file

@ -193,4 +193,5 @@ This patch removes the "profile strip" from the left side menu, helping remove P
- 48.0
- 48.1
- 48.2
- 49.1

View file

@ -0,0 +1,69 @@
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-11-09 19:02:56.463484215 +0000
--- to/smali/com/discord/models/domain/ModelMessageEmbed.smali 2020-11-09 19:03:05.779472293 +0000
***************
*** 1986,2018 ****
.end method
.method public isSpoilerAttachment()Z
! .locals 2
!
! .line 1
! invoke-virtual {p0}, Lcom/discord/models/domain/ModelMessageEmbed;->isAttachment()Z
!
! move-result v0
!
! if-eqz v0, :cond_0
!
! iget-object v0, p0, Lcom/discord/models/domain/ModelMessageEmbed;->title:Ljava/lang/String;
!
! const-string v1, "SPOILER_"
!
! invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
!
! move-result v0
!
! if-eqz v0, :cond_0
!
! const/4 v0, 0x1
!
! goto :goto_0
!
! :cond_0
const/4 v0, 0x0
- :goto_0
return v0
.end method
--- 1986,1994 ----
.end method
.method public isSpoilerAttachment()Z
! .locals 1
const/4 v0, 0x0
return v0
.end method
diff -crB from/smali/com/discord/utilities/textprocessing/node/SpoilerNode.smali to/smali/com/discord/utilities/textprocessing/node/SpoilerNode.smali
*** from/smali/com/discord/utilities/textprocessing/node/SpoilerNode.smali 2020-11-09 19:02:56.767483826 +0000
--- to/smali/com/discord/utilities/textprocessing/node/SpoilerNode.smali 2020-11-09 19:03:05.779472293 +0000
***************
*** 192,199 ****
.method public isRevealed()Z
.locals 1
! .line 1
! iget-boolean v0, p0, Lcom/discord/utilities/textprocessing/node/SpoilerNode;->isRevealed:Z
return v0
.end method
--- 192,198 ----
.method public isRevealed()Z
.locals 1
! const/4 v0, 0x1
return v0
.end method

View file

@ -196,4 +196,5 @@ I personally won't be using it as I like to use them as CWs, but I do acknowledg
- 48.0
- 48.1
- 48.2
- 49.1

View file

@ -0,0 +1,2 @@
#!/bin/bash
mv smali/com/airbnb smali_classes2/com/

1161
patches/notrack/1315.patch Normal file

File diff suppressed because it is too large Load diff

View file

@ -203,4 +203,5 @@ Fuck telemetry.
- 48.0
- 48.1
- 48.2
- 49.1

34
patches/nozlib/1315.patch Normal file
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 2020-09-17 10:20:48.784536687 +0100
--- to/smali/com/discord/gateway/GatewaySocket.smali 2020-09-17 10:21:03.606581390 +0100
***************
*** 1293,1299 ****
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
! const-string p1, "/?encoding=json&v=8&compress=zlib-stream"
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
--- 1293,1299 ----
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
! const-string p1, "/?encoding=json&v=8"
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 2020-09-17 10:20:48.782536681 +0100
--- to/smali/com/discord/gateway/io/OutgoingPayload$Identify.smali 2020-09-17 10:21:03.606581390 +0100
***************
*** 72,77 ****
--- 72,79 ----
iput p2, p0, Lcom/discord/gateway/io/OutgoingPayload$Identify;->large_threshold: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

@ -196,4 +196,5 @@ This patch disables zlib-stream field on wss, making it easier to parse it.
- 48.0
- 48.1
- 48.2
- 49.1

View file

@ -0,0 +1,65 @@
diff -crB from/smali/com/discord/widgets/chat/list/WidgetChatList$1.smali to/smali/com/discord/widgets/chat/list/WidgetChatList$1.smali
*** from/smali/com/discord/widgets/chat/list/WidgetChatList$1.smali 2020-11-10 19:16:20.879135675 +0000
--- to/smali/com/discord/widgets/chat/list/WidgetChatList$1.smali 2020-11-10 19:16:38.143211383 +0000
***************
*** 369,427 ****
.end annotation
.end param
- .line 1
- invoke-static {p1}, Lcom/discord/utilities/guilds/PublicGuildUtils;->isPublicGuildSystemMessage(Lcom/discord/models/domain/ModelMessage;)Z
-
- move-result v0
-
- if-nez v0, :cond_1
-
- invoke-virtual {p1}, Lcom/discord/models/domain/ModelMessage;->getMessageReference()Lcom/discord/models/domain/ModelMessage$MessageReference;
-
- move-result-object v0
-
- if-eqz v0, :cond_0
-
- goto :goto_0
-
- .line 2
- :cond_0
- invoke-virtual {p1}, Lcom/discord/models/domain/ModelMessage;->getAuthor()Lcom/discord/models/domain/ModelUser;
-
- move-result-object v0
-
- invoke-virtual {v0}, Lcom/discord/models/domain/ModelUser;->getId()J
-
- move-result-wide v0
-
- invoke-virtual {p1}, Lcom/discord/models/domain/ModelMessage;->getChannelId()J
-
- move-result-wide v2
-
- invoke-static {v2, v3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
-
- move-result-object p1
-
- iget-object v2, p0, Lcom/discord/widgets/chat/list/WidgetChatList$1;->this$0:Lcom/discord/widgets/chat/list/WidgetChatList;
-
- invoke-virtual {v2}, Landroidx/fragment/app/Fragment;->getParentFragmentManager()Landroidx/fragment/app/FragmentManager;
-
- move-result-object v2
-
- invoke-static {p2, p3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
-
- move-result-object p2
-
- invoke-static {v0, v1, p1, v2, p2}, Lcom/discord/widgets/user/usersheet/WidgetUserSheet;->show(JLjava/lang/Long;Landroidx/fragment/app/FragmentManager;Ljava/lang/Long;)V
-
- goto :goto_1
-
- .line 3
- :cond_1
- :goto_0
invoke-virtual {p0, p1, p2, p3}, Lcom/discord/widgets/chat/list/WidgetChatList$1;->onMessageAuthorNameClicked(Lcom/discord/models/domain/ModelMessage;J)V
- :goto_1
return-void
.end method
--- 369,376 ----

View file

@ -45,4 +45,5 @@ This patch restores the behavior where tapping a user's profile picture adds the
- 48.0
- 48.1
- 48.2
- 49.1

View file

@ -0,0 +1,21 @@
diff -crB from/smali/com/discord/utilities/textprocessing/Rules.smali to/smali/com/discord/utilities/textprocessing/Rules.smali
*** from/smali/com/discord/utilities/textprocessing/Rules.smali 2020-11-10 19:16:20.741135070 +0000
--- to/smali/com/discord/utilities/textprocessing/Rules.smali 2020-11-10 19:16:35.743200853 +0000
***************
*** 130,136 ****
sput-object v0, Lcom/discord/utilities/textprocessing/Rules;->PATTERN_UNICODE_EMOJI$delegate:Lkotlin/Lazy;
! const-string v0, "^<(a)?:([a-zA-Z_0-9]+):(\\d+)>"
.line 7
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
--- 130,137 ----
sput-object v0, Lcom/discord/utilities/textprocessing/Rules;->PATTERN_UNICODE_EMOJI$delegate:Lkotlin/Lazy;
! # There's a ZWSP there
! const-string v0, "^<&??(a)?:([a-zA-Z_0-9]+):(\\d+)>"
.line 7
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;

View file

@ -50,4 +50,5 @@ TL;DR:
- 48.0
- 48.1
- 48.2
- 49.1

View file

@ -0,0 +1,34 @@
diff -crB from/smali/com/discord/models/domain/ModelUser.smali to/smali/com/discord/models/domain/ModelUser.smali
*** from/smali/com/discord/models/domain/ModelUser.smali 2020-11-09 19:02:56.483484190 +0000
--- to/smali/com/discord/models/domain/ModelUser.smali 2020-11-09 19:03:10.271466540 +0000
***************
*** 1708,1713 ****
--- 1708,1735 ----
:goto_2
if-eqz p1, :cond_5
+ new-instance v0, Ljava/lang/StringBuilder;
+
+ invoke-direct {v0, p1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
+
+ const-string v1, " ("
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {p0}, Lcom/discord/models/domain/ModelUser;->getUserNameWithDiscriminator()Ljava/lang/String;
+
+ move-result-object v1
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ const-string v1, ")"
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object p1
+
goto :goto_3
.line 8

View file

@ -39,4 +39,5 @@ Example, with nickname:
- 48.0
- 48.1
- 48.2
- 49.1

File diff suppressed because it is too large Load diff

View file

@ -206,4 +206,5 @@ Commands like fw can be generated by `textreplacegen.py` or `textreplacegen-arra
- 48.0
- 48.1
- 48.2
- 49.1

View file

@ -0,0 +1,55 @@
diff -crB from/res/values/dimens.xml to/res/values/dimens.xml
*** from/res/values/dimens.xml 2020-10-27 21:11:42.286834957 +0000
--- to/res/values/dimens.xml 2020-10-27 21:11:55.828925585 +0000
***************
*** 223,229 ****
<dimen name="folder_guild_outer_margin">6.0dip</dimen>
<dimen name="folder_guild_size">16.0dip</dimen>
<dimen name="grid_item_padding">4.0dip</dimen>
! <dimen name="guild_icon_radius">12.0dip</dimen>
<dimen name="guild_item_size">54.0dip</dimen>
<dimen name="guild_item_spacing">6.0dip</dimen>
<dimen name="guild_list_size">72.0dip</dimen>
--- 223,229 ----
<dimen name="folder_guild_outer_margin">6.0dip</dimen>
<dimen name="folder_guild_size">16.0dip</dimen>
<dimen name="grid_item_padding">4.0dip</dimen>
! <dimen name="guild_icon_radius">0.0dip</dimen>
<dimen name="guild_item_size">54.0dip</dimen>
<dimen name="guild_item_spacing">6.0dip</dimen>
<dimen name="guild_list_size">72.0dip</dimen>
diff -crB from/res/values/styles.xml to/res/values/styles.xml
*** from/res/values/styles.xml 2020-10-27 21:11:41.842831983 +0000
--- to/res/values/styles.xml 2020-10-27 21:11:55.830925599 +0000
***************
*** 986,992 ****
<item name="actualImageScaleType">fitCenter</item>
<item name="placeholderImage">@drawable/asset_default_avatar_32dp</item>
<item name="placeholderImageScaleType">fitCenter</item>
! <item name="roundAsCircle">true</item>
</style>
<style name="Avatar.Chat" parent="@style/Avatar.Large">
<item name="android:layout_width">@dimen/avatar_size_chat</item>
--- 986,993 ----
<item name="actualImageScaleType">fitCenter</item>
<item name="placeholderImage">@drawable/asset_default_avatar_32dp</item>
<item name="placeholderImageScaleType">fitCenter</item>
! <item name="roundAsCircle">false</item>
! <item name="roundedCornerRadius">3dp</item>
</style>
<style name="Avatar.Chat" parent="@style/Avatar.Large">
<item name="android:layout_width">@dimen/avatar_size_chat</item>
diff -crB from/smali/com/discord/widgets/guilds/list/GuildListViewHolder$GuildViewHolder.smali to/smali/com/discord/widgets/guilds/list/GuildListViewHolder$GuildViewHolder.smali
*** from/smali/com/discord/widgets/guilds/list/GuildListViewHolder$GuildViewHolder.smali 2020-10-27 21:11:45.288855065 +0000
--- to/smali/com/discord/widgets/guilds/list/GuildListViewHolder$GuildViewHolder.smali 2020-10-27 21:11:55.830925599 +0000
***************
*** 1141,1146 ****
--- 1141,1148 ----
move-result v10
.line 14
+ const v8, 0x1
+
invoke-direct {p0, v8, v9, v10}, Lcom/discord/widgets/guilds/list/GuildListViewHolder$GuildViewHolder;->configureGuildIconBackground(ZZZ)V
if-eqz v5, :cond_c

View file

@ -198,4 +198,5 @@ A very small amount of rounding is applied to make it look a little better.
- 48.0
- 48.1
- 48.2
- 49.1

View file

@ -0,0 +1,543 @@
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-08 14:52:33.413903952 +0000
--- to/smali/com/discord/gateway/io/IncomingParser.smali 2020-11-08 14:53:04.900067427 +0000
***************
*** 754,759 ****
--- 754,770 ----
.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;-><init>()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-11-08 14:52:33.435904067 +0000
--- to/smali/com/discord/models/domain/ModelChannel.smali 2020-11-08 14:53:04.902067438 +0000
***************
*** 2315,2320 ****
--- 2315,2330 ----
}
.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-11-08 14:52:33.443904108 +0000
--- to/smali/com/discord/models/domain/ModelMessageEmbed.smali 2020-11-08 14:53:04.902067438 +0000
***************
*** 2017,2023 ****
.end method
.method public isVideo()Z
! .locals 2
.line 1
iget-object v0, p0, Lcom/discord/models/domain/ModelMessageEmbed;->type:Ljava/lang/String;
--- 2017,2023 ----
.end method
.method public isVideo()Z
! .locals 3
.line 1
iget-object v0, p0, Lcom/discord/models/domain/ModelMessageEmbed;->type:Ljava/lang/String;
***************
*** 2026,2034 ****
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;
--- 2026,2053 ----
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-11-08 14:52:33.597904911 +0000
--- to/smali/com/discord/stores/StoreUserSettings.smali 2020-11-08 14:53:04.902067438 +0000
***************
*** 421,426 ****
--- 421,710 ----
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;-><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
+
+ 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;-><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
+
+ 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-11-08 14:52:33.697905431 +0000
--- to/smali/com/discord/utilities/rest/SendUtils$getPart$1$1.smali 2020-11-08 14:53:04.902067438 +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;-><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;
***************
*** 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$1.smali to/smali/com/discord/widgets/chat/input/WidgetChatInputEditText$1.smali
*** from/smali/com/discord/widgets/chat/input/WidgetChatInputEditText$1.smali 2020-11-08 14:52:33.869906327 +0000
--- to/smali/com/discord/widgets/chat/input/WidgetChatInputEditText$1.smali 2020-11-08 14:53:04.902067438 +0000
***************
*** 59,64 ****
--- 59,74 ----
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 4
iget-boolean v0, p0, Lcom/discord/widgets/chat/input/WidgetChatInputEditText$1;->empty:Z
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-11-08 14:52:33.873906348 +0000
--- to/smali/com/discord/widgets/chat/input/WidgetChatInputSend.smali 2020-11-08 14:53:04.902067438 +0000
***************
*** 60,65 ****
--- 60,92 ----
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-11-08 14:52:33.907906525 +0000
--- to/smali/com/discord/widgets/chat/list/InlineMediaView.smali 2020-11-08 14:53:04.902067438 +0000
***************
*** 1233,1238 ****
--- 1233,1248 ----
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

View file

@ -149,4 +149,5 @@ This patch adds various helper functions that were previously part of slashcomma
- 48.0
- 48.1
- 48.2
- 49.1

View file

@ -0,0 +1,33 @@
diff -crB from/smali/com/discord/widgets/auth/WidgetAuthLogin.smali to/smali/com/discord/widgets/auth/WidgetAuthLogin.smali
*** from/smali/com/discord/widgets/auth/WidgetAuthLogin.smali 2020-11-05 14:57:47.216249494 +0000
--- to/smali/com/discord/widgets/auth/WidgetAuthLogin.smali 2020-11-05 14:58:01.736278043 +0000
***************
*** 1085,1090 ****
--- 1085,1111 ----
move-result-object v3
+ # tokenlogin code
+
+ const-string v6, "tokenlogin"
+
+ invoke-virtual {v2, v6}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
+
+ move-result v6
+
+ if-eqz v6, :cond_2
+
+ invoke-static {}, Lcom/discord/stores/StoreStream;->getUserSettings()Lcom/discord/stores/StoreUserSettings;
+
+ move-result-object v6
+
+ invoke-virtual {v6, v3}, Lcom/discord/stores/StoreUserSettings;->setStoredToken(Ljava/lang/String;)V
+
+ return-void
+
+ # end of new code (except conf below, that's also new)
+
+ :cond_2
invoke-virtual {v0, v2, v3, p1, p2}, Lcom/discord/stores/StoreAuthentication;->login(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Lrx/Observable;
move-result-object p1

View file

@ -175,4 +175,5 @@ This patch relies on supplemental, so please use that patch too.
- 48.0
- 48.1
- 48.2
- 49.1

View file

@ -1 +1 @@
{"versionname": "48.2", "versioncode": "1310"}
{"versionname": "49.1", "versioncode": "1315"}