This commit is contained in:
eatsfoobars 2019-12-21 12:13:30 +02:00
parent d3cbb7c760
commit 12c11a1451
Signed by: eatsfoobars
GPG Key ID: D08609FADBD8C395
40 changed files with 57536 additions and 2 deletions

View File

@ -2,7 +2,7 @@
Modular Client Mod for Discord's Android app.
**Latest supported Discord Android version:** 10.1.2 (1012), released on 2019-12-20.
**Latest supported Discord Android version:** 10.1.3 (1013), released on 2019-12-21.
New patch development will be done for the latest supported version.

238
patches/branding/1013.patch Normal file
View File

@ -0,0 +1,238 @@
diff -crB from/AndroidManifest.xml to/AndroidManifest.xml
*** from/AndroidManifest.xml 2019-12-21 11:43:26.794043395 +0200
--- to/AndroidManifest.xml 2019-12-21 11:53:12.700539388 +0200
***************
*** 1,4 ****
! <?xml version="1.0" encoding="utf-8" standalone="no"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" android:compileSdkVersion="29" android:compileSdkVersionCodename="10" android:installLocation="auto" package="com.discord" platformBuildVersionCode="1013" platformBuildVersionName="10.1.3">
<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="29" android:compileSdkVersionCodename="10" android:installLocation="auto" package="com.cutthecord.CTCBRANCH" platformBuildVersionCode="1013CTCBUILD" platformBuildVersionName="10.1.3-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"/>
***************
*** 19,30 ****
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<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-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"/>
<uses-feature android:name="android.hardware.camera.front" android:required="false"/>
! <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">
--- 19,30 ----
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<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-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"/>
<uses-feature android:name="android.hardware.camera.front" android:required="false"/>
! <application android:allowBackup="true" android:debuggable="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">
***************
*** 87,93 ****
<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"/>
--- 87,93 ----
<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.permission.CONNECT">
<intent-filter>
<action android:name="com.discord.intent.action.CONNECT"/>
<data android:host="app" android:pathPattern="/connect/.*" android:scheme="discord"/>
***************
*** 117,123 ****
</receiver>
<service android:enabled="true" android:exported="false" android:name="com.google.android.gms.analytics.CampaignTrackingService"/>
<service 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"/>
--- 117,123 ----
</receiver>
<service android:enabled="true" android:exported="false" android:name="com.google.android.gms.analytics.CampaignTrackingService"/>
<service 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"/>
***************
*** 132,138 ****
<meta-data android:name="com.google.firebase.components:com.google.firebase.iid.Registrar" android:value="com.google.firebase.components.ComponentRegistrar"/>
<meta-data android:name="com.google.firebase.components:com.google.firebase.abt.component.AbtRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>
</service>
! <provider android:authorities="com.discord.firebaseperfprovider" android:exported="false" android:initOrder="101" android:name="com.google.firebase.perf.provider.FirebasePerfProvider"/>
<receiver android:enabled="true" android:exported="false" android:name="com.google.android.gms.analytics.AnalyticsReceiver"/>
<service android:enabled="true" android:exported="false" android:name="com.google.android.gms.analytics.AnalyticsService"/>
<service android:enabled="true" android:exported="false" android:name="com.google.android.gms.analytics.AnalyticsJobService" android:permission="android.permission.BIND_JOB_SERVICE"/>
--- 132,138 ----
<meta-data android:name="com.google.firebase.components:com.google.firebase.iid.Registrar" android:value="com.google.firebase.components.ComponentRegistrar"/>
<meta-data android:name="com.google.firebase.components:com.google.firebase.abt.component.AbtRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>
</service>
! <provider android:authorities="com.cutthecord.CTCBRANCH.firebaseperfprovider" android:exported="false" android:initOrder="101" android:name="com.google.firebase.perf.provider.FirebasePerfProvider"/>
<receiver android:enabled="true" android:exported="false" android:name="com.google.android.gms.analytics.AnalyticsReceiver"/>
<service android:enabled="true" android:exported="false" android:name="com.google.android.gms.analytics.AnalyticsService"/>
<service android:enabled="true" android:exported="false" android:name="com.google.android.gms.analytics.AnalyticsJobService" android:permission="android.permission.BIND_JOB_SERVICE"/>
***************
*** 147,153 ****
</intent-filter>
</receiver>
<activity android:exported="false" android:name="com.google.android.gms.common.api.GoogleApiActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
! <provider android:authorities="com.discord.firebaseinitprovider" android:exported="false" android:initOrder="100" android:name="com.google.firebase.provider.FirebaseInitProvider"/>
<receiver android:enabled="true" android:exported="false" android:name="com.google.android.gms.measurement.AppMeasurementReceiver"/>
<receiver android:enabled="true" android:exported="true" android:name="com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver" android:permission="android.permission.INSTALL_PACKAGES">
<intent-filter>
--- 147,153 ----
</intent-filter>
</receiver>
<activity android:exported="false" android:name="com.google.android.gms.common.api.GoogleApiActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
! <provider android:authorities="com.cutthecord.CTCBRANCH.firebaseinitprovider" android:exported="false" android:initOrder="100" android:name="com.google.firebase.provider.FirebaseInitProvider"/>
<receiver android:enabled="true" android:exported="false" android:name="com.google.android.gms.measurement.AppMeasurementReceiver"/>
<receiver android:enabled="true" android:exported="true" android:name="com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver" android:permission="android.permission.INSTALL_PACKAGES">
<intent-filter>
***************
*** 157,163 ****
<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"/>
<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"/>
<receiver android:directBootAware="false" android:enabled="true" android:exported="false" android:name="androidx.work.impl.utils.ForceStopRunnable$BroadcastReceiver"/>
--- 157,163 ----
<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"/>
<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"/>
<receiver android:directBootAware="false" android:enabled="true" android:exported="false" android:name="androidx.work.impl.utils.ForceStopRunnable$BroadcastReceiver"/>
***************
*** 197,205 ****
</intent-filter>
</receiver>
<service android:exported="false" android:name="androidx.room.MultiInstanceInvalidationService"/>
! <provider android:authorities="com.discord.lifecycle-process" android:exported="false" android:multiprocess="true" android:name="androidx.lifecycle.ProcessLifecycleOwnerInitializer"/>
! <provider android:authorities="com.discord.crashlyticsinitprovider" android:exported="false" android:initOrder="90" android:name="com.crashlytics.android.CrashlyticsInitProvider"/>
! <meta-data android:name="firebase_crashlytics_ndk_enabled" android:value="true"/>
<meta-data android:name="com.android.vending.derived.apk.id" android:value="1"/>
</application>
! </manifest>
\ No newline at end of file
--- 197,205 ----
</intent-filter>
</receiver>
<service android:exported="false" android:name="androidx.room.MultiInstanceInvalidationService"/>
! <provider android:authorities="com.cutthecord.CTCBRANCH.lifecycle-process" android:exported="false" android:multiprocess="true" android:name="androidx.lifecycle.ProcessLifecycleOwnerInitializer"/>
! <provider android:authorities="com.cutthecord.CTCBRANCH.crashlyticsinitprovider" android:exported="false" android:initOrder="90" android:name="com.crashlytics.android.CrashlyticsInitProvider"/>
! <meta-data android:name="firebase_crashlytics_ndk_enabled" android:value="false"/>
<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 2019-12-21 11:43:14.743876977 +0200
--- to/apktool.yml 2019-12-21 11:51:35.597080332 +0200
***************
*** 184,188 ****
tag: null
version: 2.4.2-0143dc-SNAPSHOT
versionInfo:
! versionCode: '1013'
! versionName: 10.1.3
--- 184,188 ----
tag: null
version: 2.4.2-0143dc-SNAPSHOT
versionInfo:
! versionCode: '1013CTCBUILD'
! versionName: 10.1.3-cutthecord-CTCBUILD
diff -crB from/res/values/strings.xml to/res/values/strings.xml
*** from/res/values/strings.xml 2019-12-21 11:43:10.270473896 +0200
--- to/res/values/strings.xml 2019-12-21 11:51:35.597080332 +0200
***************
*** 1347,1353 ****
<string name="disconnect_account_body">Disconnecting your account might remove you from servers you joined via this account.</string>
<string name="disconnect_account_title">Disconnect %1$s</string>
<string name="disconnect_from_voice">Disconnect from Voice</string>
! <string name="discord">Discord</string>
<string name="discord_desc_long">Free and secure chat for gamers, works on both your desktop and your phone.</string>
<string name="discord_desc_short">Team voice &amp; text chat</string>
<string name="discord_gg">discord.gg/</string>
--- 1347,1353 ----
<string name="disconnect_account_body">Disconnecting your account might remove you from servers you joined via this account.</string>
<string name="disconnect_account_title">Disconnect %1$s</string>
<string name="disconnect_from_voice">Disconnect from Voice</string>
! <string name="discord">CTCNAME</string>
<string name="discord_desc_long">Free and secure chat for gamers, works on both your desktop and your phone.</string>
<string name="discord_desc_short">Team voice &amp; text chat</string>
<string name="discord_gg">discord.gg/</string>
***************
*** 3296,3302 ****
<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_nuf_body">Setup notifications to know when your friends send a message.</string>
--- 3296,3302 ----
<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_nuf_body">Setup notifications to know when your friends send a message.</string>
***************
*** 4523,4529 ****
<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="suppressed">Suppressed</string>
<string name="suppressed_afk_body">"It seems you've gone AFK on us. We've went ahead and moved you to the AFK channel."</string>
--- 4523,4529 ----
<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="suppressed">Suppressed</string>
<string name="suppressed_afk_body">"It seems you've gone AFK on us. We've went ahead and moved you to the AFK channel."</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 2019-12-21 11:43:12.487175742 +0200
--- to/smali/com/discord/utilities/captcha/CaptchaHelper$showCaptchaHelpDialog$$inlined$let$lambda$1.smali 2019-12-21 11:51:35.597080332 +0200
***************
*** 76,82 ****
.line 3
new-instance v0, Landroid/content/Intent;
! const-string v1, "https://discordapp.com/app"
.line 4
invoke-static {v1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
--- 76,82 ----
.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;

View File

@ -79,4 +79,5 @@ You can use the following line to patch authorities:
- 10.0.7
- 10.1.1
- 10.1.2
- 10.1.3

View File

@ -0,0 +1,48 @@
diff -crB from/smali/com/discord/stores/StoreEmoji.smali to/smali/com/discord/stores/StoreEmoji.smali
*** from/smali/com/discord/stores/StoreEmoji.smali 2019-12-21 11:43:12.363840487 +0200
--- to/smali/com/discord/stores/StoreEmoji.smali 2019-12-21 11:59:40.866248132 +0200
***************
*** 97,117 ****
sput-object v0, Lcom/discord/stores/StoreEmoji;->Companion:Lcom/discord/stores/StoreEmoji$Companion;
! const-string v2, "bread"
! const-string v3, "fork_and_knife"
! const-string v4, "yum"
! const-string v5, "weary"
! const-string v6, "tired_face"
! const-string v7, "poop"
! const-string v8, "thumbsup"
! const-string v9, "100"
.line 1
filled-new-array/range {v2 .. v9}, [Ljava/lang/String;
--- 97,117 ----
sput-object v0, Lcom/discord/stores/StoreEmoji;->Companion:Lcom/discord/stores/StoreEmoji$Companion;
! const-string v2, "star"
! const-string v3, "bread"
! const-string v4, "fork_and_knife"
! const-string v5, "yum"
! const-string v6, "weary"
! const-string v7, "tired_face"
! const-string v8, "poop"
! const-string v9, "thumbsup"
.line 1
filled-new-array/range {v2 .. v9}, [Ljava/lang/String;

View File

@ -45,4 +45,5 @@ This patch changes default list of custom emojis.
- 10.0.7
- 10.1.1
- 10.1.2
- 10.1.3

View File

@ -0,0 +1,275 @@
diff -crB from/res/drawable/drawable_overlay_channels_active.xml to/res/drawable/drawable_overlay_channels_active.xml
*** from/res/drawable/drawable_overlay_channels_active.xml 2019-12-21 11:43:09.593796226 +0200
--- to/res/drawable/drawable_overlay_channels_active.xml 2019-12-21 11:49:28.100592813 +0200
***************
*** 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_alpha_60" />
<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_700_alpha_60" />
<corners android:radius="4.0dip" />
</shape>
</item>
diff -crB from/res/values/colors.xml to/res/values/colors.xml
*** from/res/values/colors.xml 2019-12-21 11:43:10.273807283 +0200
--- to/res/values/colors.xml 2019-12-21 11:49:28.100592813 +0200
***************
*** 52,58 ****
<color name="cardview_shadow_start_color">#37000000</color>
<color name="code">#ff657b83</color>
<color name="colorPrimary">#ff333333</color>
! <color name="colorPrimaryDark">#ff1d1d1d</color>
<color name="color_clicked_darker">#40000000</color>
<color name="color_clicked_lighter">#40ffffff</color>
<color name="common_google_signin_btn_text_dark_default">@android:color/white</color>
--- 52,58 ----
<color name="cardview_shadow_start_color">#37000000</color>
<color name="code">#ff657b83</color>
<color name="colorPrimary">#ff333333</color>
! <color name="colorPrimaryDark">#ff000000</color>
<color name="color_clicked_darker">#40000000</color>
<color name="color_clicked_lighter">#40ffffff</color>
<color name="common_google_signin_btn_text_dark_default">@android:color/white</color>
***************
*** 63,70 ****
<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_default_color_primary">#ff3f51b5</color>
<color name="design_default_color_primary_dark">#ff303f9f</color>
--- 63,70 ----
<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_default_color_primary">#ff3f51b5</color>
<color name="design_default_color_primary_dark">#ff303f9f</color>
***************
*** 98,106 ****
<color name="grey_6">#ff4f545c</color>
<color name="grey_6_alpha_05">#0d4f545c</color>
<color name="grey_6_alpha_30">#4d4f545c</color>
! <color name="grey_account">#ff282b30</color>
! <color name="grey_channels">#ff2e3136</color>
! <color name="grey_guilds">#ff1e2124</color>
<color name="grey_unread">#ff8a8e94</color>
<color name="highlighted_text_material_dark">#6680cbc4</color>
<color name="highlighted_text_material_light">#66009688</color>
--- 98,106 ----
<color name="grey_6">#ff4f545c</color>
<color name="grey_6_alpha_05">#0d4f545c</color>
<color name="grey_6_alpha_30">#4d4f545c</color>
! <color name="grey_account">#ff000000</color>
! <color name="grey_channels">#ff000000</color>
! <color name="grey_guilds">#ff000000</color>
<color name="grey_unread">#ff8a8e94</color>
<color name="highlighted_text_material_dark">#6680cbc4</color>
<color name="highlighted_text_material_light">#66009688</color>
***************
*** 108,114 ****
<color name="hypesquad_house2">#fff47b67</color>
<color name="hypesquad_house3">#ff45ddc0</color>
<color name="league_of_legends">#ff021f25</color>
! <color name="link">#ff00b0f4</color>
<color name="link_light">#ff0067e0</color>
<color name="material_blue_grey_800">#ff37474f</color>
<color name="material_blue_grey_900">#ff263238</color>
--- 108,114 ----
<color name="hypesquad_house2">#fff47b67</color>
<color name="hypesquad_house3">#ff45ddc0</color>
<color name="league_of_legends">#ff021f25</color>
! <color name="link">#ff50f148</color>
<color name="link_light">#ff0067e0</color>
<color name="material_blue_grey_800">#ff37474f</color>
<color name="material_blue_grey_900">#ff263238</color>
***************
*** 153,170 ****
<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_30">#4d4f545c</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_60">#9918191c</color>
<color name="primary_800_alpha_90">#e618191c</color>
--- 153,170 ----
<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">#ff0f0f0f</color>
! <color name="primary_500_alpha_30">#4d0f0f0f</color>
! <color name="primary_500_alpha_60">#99404040</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">#ff292b2f</color>
! <color name="primary_700">#ff0f0f0f</color>
! <color name="primary_700_alpha_60">#990f0f0f</color>
<color name="primary_800">#ff18191c</color>
<color name="primary_800_alpha_60">#9918191c</color>
<color name="primary_800_alpha_90">#e618191c</color>
***************
*** 195,203 ****
<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>
--- 195,203 ----
<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>
***************
*** 260,266 ****
<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>
--- 260,266 ----
<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 2019-12-21 11:43:10.427143086 +0200
--- to/res/values/styles.xml 2019-12-21 11:49:28.100592813 +0200
***************
*** 380,386 ****
<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/grey_channels</item>
<item name="theme_chat_codeblock_border">@color/grey_account</item>
--- 380,386 ----
<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/grey_channels</item>
<item name="theme_chat_codeblock_border">@color/grey_account</item>
***************
*** 392,403 ****
<item name="theme_chat_input_button_tint_colors">@color/chat_input_button_tint_colors_dark</item>
<item name="theme_chat_input_content_tab_bg">@drawable/drawable_rect_rounded_dark</item>
<item name="theme_chat_input_divider">@color/dark_grey_2_alpha_10</item>
! <item name="theme_chat_input_edit">#ff3e4145</item>
<item name="theme_chat_input_photo_selection_icon">@drawable/ic_img_selected_dark_theme</item>
<item name="theme_chat_input_text">@color/white_alpha_70</item>
<item name="theme_chat_input_text_placeholder">@color/white_alpha_20</item>
<item name="theme_chat_loading_spinner_color">@color/white</item>
! <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>
--- 392,403 ----
<item name="theme_chat_input_button_tint_colors">@color/chat_input_button_tint_colors_dark</item>
<item name="theme_chat_input_content_tab_bg">@drawable/drawable_rect_rounded_dark</item>
<item name="theme_chat_input_divider">@color/dark_grey_2_alpha_10</item>
! <item name="theme_chat_input_edit">@color/primary_600</item>
<item name="theme_chat_input_photo_selection_icon">@drawable/ic_img_selected_dark_theme</item>
<item name="theme_chat_input_text">@color/white_alpha_70</item>
<item name="theme_chat_input_text_placeholder">@color/white_alpha_20</item>
<item name="theme_chat_loading_spinner_color">@color/white</item>
! <item name="theme_chat_mentioned_me">@color/purple_brand_alpha_10</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>
***************
*** 460,466 ****
<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="colorAccent">@color/brand_600</item>
--- 460,466 ----
<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="colorAccent">@color/brand_600</item>
***************
*** 490,496 ****
<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.Button.Red.Fit</item>
--- 490,496 ----
<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.Button.Red.Fit</item>
diff -crB from/smali/com/discord/app/AppActivity$d.smali to/smali/com/discord/app/AppActivity$d.smali
*** from/smali/com/discord/app/AppActivity$d.smali 2019-12-21 11:43:12.150503828 +0200
--- to/smali/com/discord/app/AppActivity$d.smali 2019-12-21 11:49:59.707157308 +0200
***************
*** 115,121 ****
.line 7
iget-object v0, p0, Lcom/discord/app/AppActivity$d;->this$0:Lcom/discord/app/AppActivity;
! const v1, 0x7f06013a
invoke-static {v0, v1}, Lcom/discord/utilities/color/ColorCompat;->setStatusBarColorResourceId(Landroid/app/Activity;I)V
--- 115,121 ----
.line 7
iget-object v0, p0, Lcom/discord/app/AppActivity$d;->this$0:Lcom/discord/app/AppActivity;
! const v1, 0x7f060021
invoke-static {v0, v1}, Lcom/discord/utilities/color/ColorCompat;->setStatusBarColorResourceId(Landroid/app/Activity;I)V

View File

@ -72,6 +72,7 @@ Self note: Top bar color is set by `setStatusBarColorResourceId`
- 10.0.7
- 10.1.1
- 10.1.2
- 10.1.3
#### Value reference

View File

@ -0,0 +1,20 @@
diff -crB from/smali/com/discord/widgets/settings/WidgetSettings.smali to/smali/com/discord/widgets/settings/WidgetSettings.smali
*** from/smali/com/discord/widgets/settings/WidgetSettings.smali 2019-12-13 11:10:57.654126834 +0300
--- to/smali/com/discord/widgets/settings/WidgetSettings.smali 2019-12-13 11:13:02.428169012 +0300
***************
*** 1769,1775 ****
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
! const-string v0, " - 10.1.3 (1013)"
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
--- 1769,1775 ----
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
! const-string v0, " - 10.1.3 (1013), with Cutthecord patches"
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

View File

@ -66,4 +66,5 @@ This patch replaces version string and adds mention of cutthecord in the user se
- 10.0.7
- 10.1.1
- 10.1.2
- 10.1.3

View File

@ -0,0 +1,23 @@
diff -crB com.discord-1006-base/smali/com/discord/utilities/analytics/AnalyticSuperProperties.smali com.discord-1006/smali/com/discord/utilities/analytics/AnalyticSuperProperties.smali
*** com.discord-1006-base/smali/com/discord/utilities/analytics/AnalyticSuperProperties.smali 2019-12-13 11:10:57.297458055 +0300
--- com.discord-1006/smali/com/discord/utilities/analytics/AnalyticSuperProperties.smali 2019-12-13 11:19:21.086960733 +0300
***************
*** 178,184 ****
const-string v2, "browser"
! const-string v3, "Discord Android"
invoke-direct {v1, v2, v3}, Lkotlin/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
--- 178,184 ----
const-string v2, "browser"
! const-string v3, "Discord Client"
invoke-direct {v1, v2, v3}, Lkotlin/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
Only in com.discord-1006/smali/com/discord/utilities/analytics: AnalyticSuperProperties.smali.orig
Only in com.discord-1006/smali/com/discord/utilities/analytics: AnalyticSuperProperties.smali.rej

View File

@ -68,4 +68,5 @@ However, this causes some issues. See the `Bugs / Side effects` list below.
- 10.0.7
- 10.1.1
- 10.1.2
- 10.1.3

View File

@ -0,0 +1,145 @@
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 2019-12-21 11:43:12.353840330 +0200
--- to/smali/com/discord/stores/StoreExperiments$getExperimentalAlpha$1.smali 2019-12-21 11:44:49.811078316 +0200
***************
*** 81,110 ****
.method public final call(Lcom/discord/models/domain/ModelUser;Lcom/discord/models/domain/ModelGuild;)Z
.locals 1
! const-string v0, "meUser"
! .line 2
! invoke-static {p1, v0}, Lt/u/b/j;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V
!
! invoke-virtual {p1}, Lcom/discord/models/domain/ModelUser;->isStaff()Z
!
! move-result p1
!
! if-nez p1, :cond_1
!
! if-eqz p2, :cond_0
!
! goto :goto_0
!
! :cond_0
! const/4 p1, 0x0
!
! goto :goto_1
!
! :cond_1
! :goto_0
! const/4 p1, 0x1
!
! :goto_1
! return p1
.end method
--- 81,87 ----
.method public final call(Lcom/discord/models/domain/ModelUser;Lcom/discord/models/domain/ModelGuild;)Z
.locals 1
! const/4 v0, 0x1
! return v0
.end method
diff -crB from/smali/com/discord/stores/StoreExperiments.smali to/smali/com/discord/stores/StoreExperiments.smali
*** from/smali/com/discord/stores/StoreExperiments.smali 2019-12-21 11:43:12.360507101 +0200
--- to/smali/com/discord/stores/StoreExperiments.smali 2019-12-21 11:45:21.660675886 +0200
***************
*** 1282,1344 ****
.method public final isExperimentalAlpha()Z
.locals 4
! .line 1
! iget-boolean v0, p0, Lcom/discord/stores/StoreExperiments;->initialized:Z
!
! const/4 v1, 0x1
!
! if-eqz v0, :cond_0
!
! iget-object v0, p0, Lcom/discord/stores/StoreExperiments;->stream:Lcom/discord/stores/StoreStream;
!
! invoke-virtual {v0}, Lcom/discord/stores/StoreStream;->getUsers$app_productionDiscordExternalRelease()Lcom/discord/stores/StoreUser;
!
! move-result-object v0
!
! iget-object v0, v0, Lcom/discord/stores/StoreUser;->me:Lcom/discord/models/domain/ModelUser$Me;
!
! if-eqz v0, :cond_0
!
! invoke-virtual {v0}, Lcom/discord/models/domain/ModelUser;->isStaff()Z
!
! move-result v0
!
! if-eq v0, v1, :cond_2
!
! :cond_0
! iget-object v0, p0, Lcom/discord/stores/StoreExperiments;->stream:Lcom/discord/stores/StoreStream;
!
! invoke-virtual {v0}, Lcom/discord/stores/StoreStream;->getGuilds$app_productionDiscordExternalRelease()Lcom/discord/stores/StoreGuilds;
!
! move-result-object v0
!
! iget-object v0, v0, Lcom/discord/stores/StoreGuilds;->guilds:Ljava/util/Map;
!
! const-string v2, "stream.guilds.guilds"
!
! invoke-static {v0, v2}, Lt/u/b/j;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V
!
! const-wide v2, 0x2bc056ab0800006L
!
! invoke-static {v2, v3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
!
! move-result-object v2
!
! invoke-interface {v0, v2}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
!
! move-result v0
!
! if-eqz v0, :cond_1
!
! goto :goto_0
!
! :cond_1
! const/4 v1, 0x0
!
! :cond_2
! :goto_0
! return v1
.end method
.method public final isInitialized()Lrx/Observable;
--- 1282,1290 ----
.method public final isExperimentalAlpha()Z
.locals 4
+ const/4 v0, 0x0
! return v0
.end method
.method public final isInitialized()Lrx/Observable;
diff -crB from/smali/com/discord/widgets/settings/WidgetSettingsAppearance$Model$Companion$get$1.smali to/smali/com/discord/widgets/settings/WidgetSettingsAppearance$Model$Companion$get$1.smali
*** from/smali/com/discord/widgets/settings/WidgetSettingsAppearance$Model$Companion$get$1.smali 2019-12-21 11:43:12.930515985 +0200
--- to/smali/com/discord/widgets/settings/WidgetSettingsAppearance$Model$Companion$get$1.smali 2019-12-21 11:45:52.687156483 +0200
***************
*** 87,97 ****
if-nez p4, :cond_1
! invoke-static {p1, v1}, Lt/u/b/j;->checkExpressionValueIsNotNull(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
--- 87,93 ----
if-nez p4, :cond_1
! const/4 p4, 0x1
if-eqz p4, :cond_0

View File

@ -70,4 +70,5 @@ This patch enables developer options (empty), mobile experiments (of which there
- 10.0.7
- 10.1.1
- 10.1.2
- 10.1.3

258
patches/litecord/1013.patch Normal file
View File

@ -0,0 +1,258 @@
diff -crB from/smali/com/discord/app/App.smali to/smali/com/discord/app/App.smali
*** from/smali/com/discord/app/App.smali 2019-12-21 11:43:12.150503828 +0200
--- to/smali/com/discord/app/App.smali 2019-12-21 12:05:43.599037211 +0200
***************
*** 197,203 ****
invoke-virtual {v0, v1, v2}, Lcom/discord/utilities/view/text/LinkifiedTextView$Companion;->init(Lcom/discord/utilities/logging/Logger;Lkotlin/jvm/functions/Function2;)Lkotlin/Unit;
! const-string v0, "https://cdn.discordapp.com"
.line 23
invoke-static {v0}, Lcom/discord/models/domain/emoji/ModelEmojiCustom;->setCdnUri(Ljava/lang/String;)V
--- 197,203 ----
invoke-virtual {v0, v1, v2}, Lcom/discord/utilities/view/text/LinkifiedTextView$Companion;->init(Lcom/discord/utilities/logging/Logger;Lkotlin/jvm/functions/Function2;)Lkotlin/Unit;
! const-string v0, "https://dev.litecord.top"
.line 23
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 2019-12-21 11:43:12.147170442 +0200
--- to/smali/com/discord/BuildConfig.smali 2019-12-21 12:05:43.599037211 +0200
***************
*** 18,32 ****
.field public static final FLAVOR_vendor:Ljava/lang/String; = "discord"
! .field public static final HOST:Ljava/lang/String; = "https://discordapp.com"
! .field public static final HOST_API:Ljava/lang/String; = "https://discordapp.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_INVITE:Ljava/lang/String; = "https://discord.gg"
.field public static final LOCAL_IP:Ljava/lang/String; = ""
--- 18,32 ----
.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_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://discord.gift"
! .field public static final HOST_INVITE:Ljava/lang/String; = "https://dev.litecord.top"
.field public static final LOCAL_IP:Ljava/lang/String; = ""
diff -crB from/smali/com/discord/stores/StoreGatewayConnection.smali to/smali/com/discord/stores/StoreGatewayConnection.smali
*** from/smali/com/discord/stores/StoreGatewayConnection.smali 2019-12-21 11:43:12.397174339 +0200
--- to/smali/com/discord/stores/StoreGatewayConnection.smali 2019-12-21 12:05:43.599037211 +0200
***************
*** 1333,1339 ****
sget-object v2, Lcom/discord/utilities/rest/RestAPI$AppHeadersProvider;->INSTANCE:Lcom/discord/utilities/rest/RestAPI$AppHeadersProvider;
! const-string v3, "https://discordapp.com/api/"
invoke-direct {v9, v3, v2, v0}, Lcom/discord/gateway/rest/RestConfig;-><init>(Ljava/lang/String;Lcom/discord/restapi/RequiredHeadersInterceptor$HeadersProvider;Ljava/util/List;)V
--- 1333,1339 ----
sget-object v2, Lcom/discord/utilities/rest/RestAPI$AppHeadersProvider;->INSTANCE:Lcom/discord/utilities/rest/RestAPI$AppHeadersProvider;
! const-string v3, "https://dev.litecord.top/api/"
invoke-direct {v9, v3, v2, v0}, Lcom/discord/gateway/rest/RestConfig;-><init>(Ljava/lang/String;Lcom/discord/restapi/RequiredHeadersInterceptor$HeadersProvider;Ljava/util/List;)V
Only in to/smali/com/discord/utilities/analytics: AdjustConfig$AdjustLifecycleListener.smali.rej
Only in to/smali/com/discord/utilities/analytics: AnalyticsTracker$AdjustEventTracker.smali.rej
Only in to/smali/com/discord/utilities/analytics: AnalyticSuperProperties.smali.rej
Only in to/smali/com/discord/utilities/analytics: AnalyticsUtils$Tracker.smali.rej
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 2019-12-21 11:43:12.513842824 +0200
--- to/smali/com/discord/utilities/icon/IconUtils.smali 2019-12-21 12:07:09.089524116 +0200
***************
*** 441,447 ****
goto :goto_3
:cond_1
! const-string p3, "https://cdn.discordapp.com"
.line 2
invoke-interface {p3}, Ljava/lang/CharSequence;->length()I
--- 441,447 ----
goto :goto_3
:cond_1
! const-string p3, "https://dev.litecord.top"
.line 2
invoke-interface {p3}, Ljava/lang/CharSequence;->length()I
***************
*** 491,497 ****
invoke-direct {p3}, Ljava/lang/StringBuilder;-><init>()V
! const-string v0, "https://cdn.discordapp.com/channel-icons/"
invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
--- 491,497 ----
invoke-direct {p3}, Ljava/lang/StringBuilder;-><init>()V
! const-string v0, "https://dev.litecord.top/channel-icons/"
invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
***************
*** 898,904 ****
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
! const-string v1, "https://cdn.discordapp.com"
invoke-interface {v1}, Ljava/lang/CharSequence;->length()I
--- 898,904 ----
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
! const-string v1, "https://dev.litecord.top"
invoke-interface {v1}, Ljava/lang/CharSequence;->length()I
***************
*** 979,985 ****
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;
--- 979,985 ----
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;
***************
*** 1248,1254 ****
:cond_0
if-eqz p1, :cond_4
! const-string p2, "https://cdn.discordapp.com"
.line 6
invoke-interface {p2}, Ljava/lang/CharSequence;->length()I
--- 1248,1254 ----
:cond_0
if-eqz p1, :cond_4
! const-string p2, "https://dev.litecord.top"
.line 6
invoke-interface {p2}, Ljava/lang/CharSequence;->length()I
***************
*** 1319,1325 ****
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;
--- 1319,1325 ----
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;
***************
*** 2211,2217 ****
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;
--- 2211,2217 ----
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;
***************
*** 2328,2334 ****
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;
--- 2328,2334 ----
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;
***************
*** 2670,2676 ****
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;
--- 2670,2676 ----
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;
Only in to/smali/com/discord/utilities/icon: IconUtils.smali.rej
Only in to/smali/com/discord/utilities/receiver: CampaignReceiver.smali.rej
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 2019-12-21 11:43:12.537176520 +0200
--- to/smali/com/discord/utilities/rest/RestAPI$Companion.smali 2019-12-21 12:05:43.599037211 +0200
***************
*** 302,308 ****
.line 9
new-instance v1, Lcom/discord/restapi/RestAPIBuilder;
! const-string v9, "https://discordapp.com/api/"
invoke-direct {v1, v9, v6}, Lcom/discord/restapi/RestAPIBuilder;-><init>(Ljava/lang/String;Lx/n;)V
--- 302,308 ----
.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;Lx/n;)V

View File

@ -70,4 +70,5 @@ Please keep in mind that litecord is free (gratis and libre) software, provided
- 10.0.7
- 10.1.1
- 10.1.2
- 10.1.3

52096
patches/mutant/1013.patch Normal file

File diff suppressed because it is too large Load Diff

View File

@ -78,6 +78,7 @@ Various scripts are provided to help building of custom patches easier.
- 10.0.7
- 10.1.1
- 10.1.2
- 10.1.3
#### Disclaimer

View File

@ -0,0 +1,14 @@
diff -crB from/AndroidManifest.xml to/AndroidManifest.xml
*** from/AndroidManifest.xml 2019-12-21 11:42:04.852563912 +0200
--- to/AndroidManifest.xml 2019-12-21 11:42:30.062810211 +0200
***************
*** 1,4 ****
! <?xml version="1.0" encoding="utf-8" standalone="no"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" android:compileSdkVersion="29" android:compileSdkVersionCodename="10" android:installLocation="auto" package="com.discord" platformBuildVersionCode="29" platformBuildVersionName="10">
<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="29" android:compileSdkVersionCodename="10" android:installLocation="auto" package="com.discord" platformBuildVersionCode="1013" platformBuildVersionName="10.1.3">
<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

@ -61,4 +61,5 @@ This patch completely hides the "# Blocked Message(s)" thing.
- 10.0.7
- 10.1.1
- 10.1.2
- 10.1.3

View File

@ -0,0 +1,86 @@
diff -crB com.discord-1006-base/smali/com/discord/widgets/friends/NearbyManager.smali com.discord-1006/smali/com/discord/widgets/friends/NearbyManager.smali
*** com.discord-1006-base/smali/com/discord/widgets/friends/NearbyManager.smali 2019-12-13 11:10:57.537459476 +0300
--- com.discord-1006/smali/com/discord/widgets/friends/NearbyManager.smali 2019-12-13 11:15:49.555787538 +0300
***************
*** 430,484 ****
# 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_0
!
! .line 2
! iget-object v1, p0, Lcom/discord/widgets/friends/NearbyManager;->outboundMessage:Lcom/google/android/gms/nearby/messages/Message;
!
! if-eqz v1, :cond_0
!
! .line 3
! iget-object v2, p0, Lcom/discord/widgets/friends/NearbyManager;->messagePublishOptions:Lcom/google/android/gms/nearby/messages/PublishOptions;
!
! if-eqz v2, :cond_0
!
! .line 4
! iget-object v3, p0, Lcom/discord/widgets/friends/NearbyManager;->messageListener:Lcom/google/android/gms/nearby/messages/MessageListener;
!
! if-eqz v3, :cond_0
!
! .line 5
! iget-object v4, p0, Lcom/discord/widgets/friends/NearbyManager;->subscribeOptions:Lcom/google/android/gms/nearby/messages/SubscribeOptions;
!
! if-eqz v4, :cond_0
!
! .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
! invoke-virtual {v0, v1, v2}, Lcom/google/android/gms/nearby/messages/MessagesClient;->a(Lcom/google/android/gms/nearby/messages/Message;Lcom/google/android/gms/nearby/messages/PublishOptions;)Lcom/google/android/gms/tasks/Task;
!
! .line 8
! invoke-virtual {v0, v3, v4}, Lcom/google/android/gms/nearby/messages/MessagesClient;->a(Lcom/google/android/gms/nearby/messages/MessageListener;Lcom/google/android/gms/nearby/messages/SubscribeOptions;)Lcom/google/android/gms/tasks/Task;
- :cond_0
return-void
.end method
--- 430,437 ----
# virtual methods
.method public final activateNearby()V
! .locals 0
return-void
.end method
***************
*** 576,586 ****
.method public final initialize(J)V
.locals 0
- .line 1
- invoke-direct {p0, p1, p2}, Lcom/discord/widgets/friends/NearbyManager;->setupBroadcaster(J)V
-
- .line 2
- invoke-direct {p0}, Lcom/discord/widgets/friends/NearbyManager;->setupListener()V
-
return-void
.end method
--- 529,533 ----
Only in com.discord-1006/smali/com/discord/widgets/friends: NearbyManager.smali.orig
Only in com.discord-1006/smali/com/discord/widgets/friends: NearbyManager.smali.rej

View File

@ -64,4 +64,5 @@ This patch nulls a bunch of nearby friends features for privacy.
- 10.0.7
- 10.1.1
- 10.1.2
- 10.1.3

View File

@ -0,0 +1,52 @@
diff -crB com.discord-1006-base/smali/com/discord/widgets/user/profile/WidgetUserProfileStrip.smali com.discord-1006/smali/com/discord/widgets/user/profile/WidgetUserProfileStrip.smali
*** com.discord-1006-base/smali/com/discord/widgets/user/profile/WidgetUserProfileStrip.smali 2019-12-13 11:10:57.747460720 +0300
--- com.discord-1006/smali/com/discord/widgets/user/profile/WidgetUserProfileStrip.smali 2019-12-13 12:26:17.836834966 +0300
***************
*** 434,446 ****
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
--- 434,440 ----
move-result-object v2
! const-string v4, ""
invoke-virtual {v2, v4}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
***************
*** 449,461 ****
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
--- 443,449 ----
move-result-object v2
! const-string p1, ""
invoke-virtual {v2, p1}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
Only in com.discord-1006/smali/com/discord/widgets/user/profile: WidgetUserProfileStrip.smali.orig
Only in com.discord-1006/smali/com/discord/widgets/user/profile: WidgetUserProfileStrip.smali.rej

View File

@ -58,4 +58,5 @@ This patch removes the "profile strip" from the left side menu, helping remove P
- 10.0.7
- 10.1.1
- 10.1.2
- 10.1.3

View File

@ -0,0 +1,74 @@
diff -crB com.discord-1006-base/smali/com/discord/models/domain/ModelMessageEmbed.smali com.discord-1006/smali/com/discord/models/domain/ModelMessageEmbed.smali
*** com.discord-1006-base/smali/com/discord/models/domain/ModelMessageEmbed.smali 2019-12-13 11:10:57.010789691 +0300
--- com.discord-1006/smali/com/discord/models/domain/ModelMessageEmbed.smali 2019-12-13 11:37:31.822862606 +0300
***************
*** 1901,1933 ****
.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
--- 1901,1909 ----
.end method
.method public isSpoilerAttachment()Z
! .locals 1
const/4 v0, 0x0
return v0
.end method
Only in com.discord-1006/smali/com/discord/models/domain: ModelMessageEmbed.smali.orig
Only in com.discord-1006/smali/com/discord/models/domain: ModelMessageEmbed.smali.rej
diff -crB com.discord-1006-base/smali/com/discord/utilities/textprocessing/node/SpoilerNode.smali com.discord-1006/smali/com/discord/utilities/textprocessing/node/SpoilerNode.smali
*** com.discord-1006-base/smali/com/discord/utilities/textprocessing/node/SpoilerNode.smali 2019-12-13 11:10:57.394125294 +0300
--- com.discord-1006/smali/com/discord/utilities/textprocessing/node/SpoilerNode.smali 2019-12-13 11:37:53.529645422 +0300
***************
*** 209,216 ****
.method public isRevealed()Z
.locals 1
! .line 1
! iget-boolean v0, p0, Lcom/discord/utilities/textprocessing/node/SpoilerNode;->isRevealed:Z
return v0
.end method
--- 209,215 ----
.method public isRevealed()Z
.locals 1
! const/4 v0, 0x1
return v0
.end method
Only in com.discord-1006/smali/com/discord/utilities/textprocessing/node: SpoilerNode.smali.orig
Only in com.discord-1006/smali/com/discord/utilities/textprocessing/node: SpoilerNode.smali.rej

View File

@ -61,4 +61,5 @@ I personally won't be using it as I like to use them as CWs, but I do acknowledg
- 10.0.7
- 10.1.1
- 10.1.2
- 10.1.3

View File

@ -0,0 +1,5 @@
#!/bin/bash
mv smali/com/crashlytics smali_classes2/com/
cp -r smali/com/facebook smali_classes2/com/
rm -rf smali/com/facebook
mv smali/com/airbnb smali_classes2/com/

857
patches/notrack/1013.patch Normal file
View File

@ -0,0 +1,857 @@
diff -crB from/AndroidManifest.xml to/AndroidManifest.xml
*** from/AndroidManifest.xml 2019-12-21 11:43:26.794043395 +0200
--- to/AndroidManifest.xml 2019-12-21 12:00:49.316916969 +0200
***************
*** 121,128 ****
<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"/>
! <meta-data android:name="io.fabric.ApiKey" android:value="eaccfe98b3572a0a8721a8c3b10f9909018f5ec6"/>
! <meta-data android:name="com.google.android.nearby.messages.API_KEY" android:value="AIzaSyD-4L6bgKMixqBRtrG2UktVXK6IexXlsog"/>
<activity android:name="com.yalantis.ucrop.UCropActivity" android:theme="@style/Theme.AppCompat.Light.NoActionBar"/>
<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.dynamiclinks.internal.FirebaseDynamicLinkRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>
--- 121,128 ----
<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"/>
! <meta-data android:name="io.fabric.ApiKey" android:value="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"/>
! <meta-data android:name="com.google.android.nearby.messages.API_KEY" android:value="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"/>
<activity android:name="com.yalantis.ucrop.UCropActivity" android:theme="@style/Theme.AppCompat.Light.NoActionBar"/>
<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.dynamiclinks.internal.FirebaseDynamicLinkRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>
diff -crB from/res/values/strings.xml to/res/values/strings.xml
*** from/res/values/strings.xml 2019-12-21 11:43:10.270473896 +0200
--- to/res/values/strings.xml 2019-12-21 12:00:49.316916969 +0200
***************
*** 1021,1027 ****
<string name="cloud_sync_modal_error_header">Unable to sync cloud saves</string>
<string name="cloud_sync_modal_or">OR</string>
<string name="collapse_category">Collapse Category</string>
! <string name="com.crashlytics.android.build_id">ed918ef6-d350-4a6e-8dcd-fbbfef8b20a6</string>
<string name="coming_soon">Coming Soon</string>
<string name="command_giphy_description">Search Animated GIFs on the Web</string>
<string name="command_me_description">Displays text with emphasis.</string>
--- 1021,1027 ----
<string name="cloud_sync_modal_error_header">Unable to sync cloud saves</string>
<string name="cloud_sync_modal_or">OR</string>
<string name="collapse_category">Collapse Category</string>
! <string name="com.crashlytics.android.build_id">00000000-0000-0000-0000-000000000000</string>
<string name="coming_soon">Coming Soon</string>
<string name="command_giphy_description">Search Animated GIFs on the Web</string>
<string name="command_me_description">Displays text with emphasis.</string>
diff -crB from/smali/com/discord/utilities/analytics/AdjustConfig$AdjustLifecycleListener.smali to/smali/com/discord/utilities/analytics/AdjustConfig$AdjustLifecycleListener.smali
*** from/smali/com/discord/utilities/analytics/AdjustConfig$AdjustLifecycleListener.smali 2019-12-21 11:43:12.467175429 +0200
--- to/smali/com/discord/utilities/analytics/AdjustConfig$AdjustLifecycleListener.smali 2019-12-21 12:01:52.964128263 +0200
***************
*** 42,135 ****
.end method
.method public onActivityPaused(Landroid/app/Activity;)V
! .locals 2
- .line 1
- invoke-static {}, Lp/a/b/b/g/e;->c()Le/c/a/c0;
-
- move-result-object p1
-
- .line 2
- invoke-virtual {p1}, Le/c/a/c0;->a()Z
-
- move-result v0
-
- if-nez v0, :cond_0
-
- goto :goto_0
-
- .line 3
- :cond_0
- iget-object p1, p1, Le/c/a/c0;->d:Le/c/a/s0;
-
- check-cast p1, Le/c/a/g;
-
- .line 4
- iget-object v0, p1, Le/c/a/g;->h:Le/c/a/g$j;
-
- const/4 v1, 0x1
-
- iput-boolean v1, v0, Le/c/a/g$j;->c:Z
-
- .line 5
- iget-object v0, p1, Le/c/a/g;->a:Le/c/a/p0;
-
- new-instance v1, Le/c/a/n;
-
- invoke-direct {v1, p1}, Le/c/a/n;-><init>(Le/c/a/g;)V
-
- .line 6
- iget-object p1, v0, Le/c/a/p0;->a:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
-
- invoke-virtual {p1, v1}, Ljava/util/concurrent/ScheduledThreadPoolExecutor;->submit(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
-
- :goto_0
return-void
.end method
.method public onActivityResumed(Landroid/app/Activity;)V
! .locals 2
!
! .line 1
! invoke-static {}, Lp/a/b/b/g/e;->c()Le/c/a/c0;
!
! move-result-object p1
!
! .line 2
! invoke-virtual {p1}, Le/c/a/c0;->a()Z
!
! move-result v0
!
! if-nez v0, :cond_0
!
! goto :goto_0
!
! .line 3
! :cond_0
! iget-object p1, p1, Le/c/a/c0;->d:Le/c/a/s0;
!
! check-cast p1, Le/c/a/g;
!
! .line 4
! iget-object v0, p1, Le/c/a/g;->h:Le/c/a/g$j;
!
! const/4 v1, 0x0
!
! iput-boolean v1, v0, Le/c/a/g$j;->c:Z
!
! .line 5
! iget-object v0, p1, Le/c/a/g;->a:Le/c/a/p0;
!
! new-instance v1, Le/c/a/j;
!
! invoke-direct {v1, p1}, Le/c/a/j;-><init>(Le/c/a/g;)V
!
! .line 6
! iget-object p1, v0, Le/c/a/p0;->a:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
!
! invoke-virtual {p1, v1}, Ljava/util/concurrent/ScheduledThreadPoolExecutor;->submit(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
- :goto_0
return-void
.end method
--- 42,55 ----
.end method
.method public onActivityPaused(Landroid/app/Activity;)V
! .locals 0
return-void
.end method
.method public onActivityResumed(Landroid/app/Activity;)V
! .locals 0
return-void
.end method
Only in to/smali/com/discord/utilities/analytics: AdjustConfig$AdjustLifecycleListener.smali.rej
diff -crB from/smali/com/discord/utilities/analytics/AdjustConfig.smali to/smali/com/discord/utilities/analytics/AdjustConfig.smali
*** from/smali/com/discord/utilities/analytics/AdjustConfig.smali 2019-12-21 11:43:12.467175429 +0200
--- to/smali/com/discord/utilities/analytics/AdjustConfig.smali 2019-12-21 12:00:49.316916969 +0200
***************
*** 12,18 ****
# static fields
! .field public static final ADJUST_APP_TOKEN:Ljava/lang/String; = "d8fcx8xdmrr4"
.field public static final ADJUST_ENVIRONMENT:Ljava/lang/String;
--- 12,18 ----
# static fields
! .field public static final ADJUST_APP_TOKEN:Ljava/lang/String; = "aaaaaaaaaaaa"
.field public static final ADJUST_ENVIRONMENT:Ljava/lang/String;
diff -crB from/smali/com/discord/utilities/analytics/AnalyticsTracker$AdjustEventTracker.smali to/smali/com/discord/utilities/analytics/AnalyticsTracker$AdjustEventTracker.smali
*** from/smali/com/discord/utilities/analytics/AnalyticsTracker$AdjustEventTracker.smali 2019-12-21 11:43:12.467175429 +0200
--- to/smali/com/discord/utilities/analytics/AnalyticsTracker$AdjustEventTracker.smali 2019-12-21 12:02:39.927825737 +0200
***************
*** 15,23 ****
# static fields
! .field public static final EVENT_TOKEN_LOGIN:Ljava/lang/String; = "ctt5aq"
! .field public static final EVENT_TOKEN_REGISTER:Ljava/lang/String; = "ebn8ke"
.field public static final INSTANCE:Lcom/discord/utilities/analytics/AnalyticsTracker$AdjustEventTracker;
--- 15,23 ----
# static fields
! .field public static final EVENT_TOKEN_LOGIN:Ljava/lang/String; = "aaaaaa"
! .field public static final EVENT_TOKEN_REGISTER:Ljava/lang/String; = "aaaaaa"
.field public static final INSTANCE:Lcom/discord/utilities/analytics/AnalyticsTracker$AdjustEventTracker;
***************
*** 48,78 ****
# virtual methods
.method public final trackLogin()V
! .locals 2
!
! .line 1
! new-instance v0, Le/c/a/w;
!
! const-string v1, "ctt5aq"
!
! invoke-direct {v0, v1}, Le/c/a/w;-><init>(Ljava/lang/String;)V
!
! invoke-static {v0}, Lp/a/b/b/g/e;->a(Le/c/a/w;)V
return-void
.end method
.method public final trackRegister()V
! .locals 2
!
! .line 1
! new-instance v0, Le/c/a/w;
!
! const-string v1, "ebn8ke"
!
! invoke-direct {v0, v1}, Le/c/a/w;-><init>(Ljava/lang/String;)V
!
! invoke-static {v0}, Lp/a/b/b/g/e;->a(Le/c/a/w;)V
return-void
.end method
--- 48,60 ----
# virtual methods
.method public final trackLogin()V
! .locals 0
return-void
.end method
.method public final trackRegister()V
! .locals 0
return-void
.end method
Only in to/smali/com/discord/utilities/analytics: AnalyticsTracker$AdjustEventTracker.smali.rej
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 2019-12-21 11:43:12.467175429 +0200
--- to/smali/com/discord/utilities/analytics/AnalyticSuperProperties.smali 2019-12-21 12:00:49.316916969 +0200
***************
*** 169,175 ****
.method private final setBaselineProperties()V
.locals 5
! const/16 v0, 0x8
new-array v0, v0, [Lkotlin/Pair;
--- 169,175 ----
.method private final setBaselineProperties()V
.locals 5
! const/16 v0, 0x4
new-array v0, v0, [Lkotlin/Pair;
***************
*** 235,317 ****
invoke-direct {v3, v4, v2}, Lkotlin/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
- aput-object v3, v0, v1
-
- const/4 v1, 0x4
-
- .line 7
- new-instance v2, Ljava/lang/StringBuilder;
-
- invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
-
- sget-object v3, Landroid/os/Build;->MODEL:Ljava/lang/String;
-
- invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
-
- const-string v3, ", "
-
- invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
-
- sget-object v3, Landroid/os/Build;->PRODUCT:Ljava/lang/String;
-
- invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
-
- invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
-
- move-result-object v2
-
- .line 8
- new-instance v3, Lkotlin/Pair;
-
- const-string v4, "device"
-
- invoke-direct {v3, v4, v2}, Lkotlin/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
-
- aput-object v3, v0, v1
-
- const/4 v1, 0x5
-
- .line 9
- new-instance v2, Lkotlin/Pair;
-
- const-string v3, "os"
-
- const-string v4, "Android"
-
- invoke-direct {v2, v3, v4}, Lkotlin/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
-
- aput-object v2, v0, v1
-
- const/4 v1, 0x6
-
- .line 10
- sget v2, Landroid/os/Build$VERSION;->SDK_INT:I
-
- invoke-static {v2}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
-
- move-result-object v2
-
- .line 11
- new-instance v3, Lkotlin/Pair;
-
- const-string v4, "os_sdk_version"
-
- invoke-direct {v3, v4, v2}, Lkotlin/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
-
- aput-object v3, v0, v1
-
- const/4 v1, 0x7
-
- .line 12
- sget-object v2, Landroid/os/Build$VERSION;->RELEASE:Ljava/lang/String;
-
- .line 13
- new-instance v3, Lkotlin/Pair;
-
- const-string v4, "os_version"
-
- invoke-direct {v3, v4, v2}, Lkotlin/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
-
aput-object v3, v0, v1
.line 14
--- 235,240 ----
Only in to/smali/com/discord/utilities/analytics: AnalyticSuperProperties.smali.rej
diff -crB from/smali/com/discord/utilities/analytics/AnalyticsUtils$Tracker.smali to/smali/com/discord/utilities/analytics/AnalyticsUtils$Tracker.smali
*** from/smali/com/discord/utilities/analytics/AnalyticsUtils$Tracker.smali 2019-12-21 11:43:12.470508815 +0200
--- to/smali/com/discord/utilities/analytics/AnalyticsUtils$Tracker.smali 2019-12-21 12:04:29.305246890 +0200
***************
*** 149,157 ****
.method public static final synthetic access$drainEventsQueue(Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;)V
.locals 0
- .line 1
- invoke-direct {p0}, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->drainEventsQueue()V
-
return-void
.end method
--- 149,154 ----
***************
*** 174,261 ****
.end method
.method private final declared-synchronized drainEventsQueue()V
! .locals 4
!
! monitor-enter p0
!
! .line 1
! :try_start_0
! invoke-direct {p0}, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->getCanDrain()Z
!
! move-result v0
! :try_end_0
! .catchall {:try_start_0 .. :try_end_0} :catchall_0
!
! if-nez v0, :cond_0
!
! .line 2
! monitor-exit p0
!
! return-void
!
! .line 3
! :cond_0
! :try_start_1
! new-instance v0, Ljava/util/ArrayList;
!
! iget-object v1, p0, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->eventsQueue:Ljava/util/concurrent/ConcurrentLinkedQueue;
!
! invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
!
! .line 4
! iget-object v1, p0, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->eventsQueue:Ljava/util/concurrent/ConcurrentLinkedQueue;
!
! invoke-virtual {v1}, Ljava/util/concurrent/ConcurrentLinkedQueue;->clear()V
!
! .line 5
! iget-object v1, p0, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->restAPI:Lcom/discord/utilities/rest/RestAPI;
!
! .line 6
! new-instance v2, Lcom/discord/restapi/RestAPIParams$Science;
!
! iget-object v3, p0, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->analyticsToken:Ljava/lang/String;
!
! invoke-direct {v2, v3, v0}, Lcom/discord/restapi/RestAPIParams$Science;-><init>(Ljava/lang/String;Ljava/util/List;)V
!
! invoke-virtual {v1, v2}, Lcom/discord/utilities/rest/RestAPI;->science(Lcom/discord/restapi/RestAPIParams$Science;)Lrx/Observable;
!
! move-result-object v1
!
! const/4 v2, 0x0
!
! const/4 v3, 0x1
!
! .line 7
! invoke-static {v2, v3}, Le/a/b/k;->a(ZI)Lrx/Observable$c;
!
! move-result-object v2
!
! invoke-virtual {v1, v2}, Lrx/Observable;->a(Lrx/Observable$c;)Lrx/Observable;
!
! move-result-object v1
!
! .line 8
! sget-object v2, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker$drainEventsQueue$1;->INSTANCE:Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker$drainEventsQueue$1;
!
! new-instance v3, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker$drainEventsQueue$2;
!
! invoke-direct {v3, p0, v0}, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker$drainEventsQueue$2;-><init>(Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;Ljava/util/ArrayList;)V
!
! invoke-virtual {v1, v2, v3}, Lrx/Observable;->a(Lrx/functions/Action1;Lrx/functions/Action1;)Lrx/Subscription;
! :try_end_1
! .catchall {:try_start_1 .. :try_end_1} :catchall_0
!
! .line 9
! monitor-exit p0
return-void
-
- :catchall_0
- move-exception v0
-
- monitor-exit p0
-
- throw v0
.end method
.method private final getCanDrain()Z
--- 171,179 ----
.end method
.method private final declared-synchronized drainEventsQueue()V
! .locals 0
return-void
.end method
.method private final getCanDrain()Z
***************
*** 529,562 ****
.method public static synthetic setTrackingData$default(Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;Ljava/lang/String;ZILjava/lang/Object;)V
.locals 0
- and-int/lit8 p3, p3, 0x2
-
- if-eqz p3, :cond_0
-
- const/4 p2, 0x0
-
- .line 1
- :cond_0
- invoke-virtual {p0, p1, p2}, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->setTrackingData(Ljava/lang/String;Z)V
-
return-void
.end method
.method public static synthetic track$default(Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;Ljava/lang/String;Ljava/util/Map;ILjava/lang/Object;)V
.locals 0
- and-int/lit8 p3, p3, 0x2
-
- if-eqz p3, :cond_0
-
- .line 1
- invoke-static {}, Lt/q/l;->emptyMap()Ljava/util/Map;
-
- move-result-object p2
-
- :cond_0
- invoke-virtual {p0, p1, p2}, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->track(Ljava/lang/String;Ljava/util/Map;)V
-
return-void
.end method
--- 447,458 ----
***************
*** 598,838 ****
.method public final declared-synchronized setTrackingData(Ljava/lang/String;Z)V
.locals 0
- monitor-enter p0
-
- .line 1
- :try_start_0
- invoke-direct {p0}, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->drainEventsQueue()V
-
- .line 2
- iput-object p1, p0, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->analyticsToken:Ljava/lang/String;
-
- .line 3
- iput-boolean p2, p0, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->fingerprinted:Z
-
- .line 4
- invoke-direct {p0}, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->drainEventsQueue()V
- :try_end_0
- .catchall {:try_start_0 .. :try_end_0} :catchall_0
-
- .line 5
- monitor-exit p0
-
return-void
-
- :catchall_0
- move-exception p1
-
- monitor-exit p0
-
- throw p1
.end method
.method public final track(Ljava/lang/String;Ljava/util/Map;)V
! .locals 2
! .annotation system Ldalvik/annotation/Signature;
! value = {
! "(",
! "Ljava/lang/String;",
! "Ljava/util/Map<",
! "Ljava/lang/String;",
! "+",
! "Ljava/lang/Object;",
! ">;)V"
! }
! .end annotation
!
! const/4 v0, 0x0
!
! if-eqz p1, :cond_1
!
! if-eqz p2, :cond_0
!
! .line 7
! iget-object v0, p0, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->eventsQueue:Ljava/util/concurrent/ConcurrentLinkedQueue;
!
! new-instance v1, Lcom/discord/restapi/RestAPIParams$Science$Event;
!
! invoke-direct {v1, p1, p2}, Lcom/discord/restapi/RestAPIParams$Science$Event;-><init>(Ljava/lang/String;Ljava/util/Map;)V
!
! invoke-virtual {v0, v1}, Ljava/util/concurrent/ConcurrentLinkedQueue;->add(Ljava/lang/Object;)Z
!
! const-wide/16 p1, 0x5dc
!
! .line 8
! sget-object v0, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
!
! invoke-static {p1, p2, v0}, Lrx/Observable;->i(JLjava/util/concurrent/TimeUnit;)Lrx/Observable;
!
! move-result-object p1
!
! .line 9
! new-instance p2, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker$track$1;
!
! invoke-direct {p2, p0}, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker$track$1;-><init>(Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;)V
!
! invoke-virtual {p1, p2}, Lrx/Observable;->c(Lrx/functions/Action1;)Lrx/Subscription;
return-void
-
- :cond_0
- const-string p1, "properties"
-
- .line 10
- invoke-static {p1}, Lt/u/b/j;->a(Ljava/lang/String;)V
-
- throw v0
-
- :cond_1
- const-string p1, "event"
-
- invoke-static {p1}, Lt/u/b/j;->a(Ljava/lang/String;)V
-
- throw v0
.end method
.method public final track(Lkotlin/Pair;JLkotlin/jvm/functions/Function0;)V
! .locals 2
! .annotation system Ldalvik/annotation/Signature;
! value = {
! "(",
! "Lkotlin/Pair<",
! "Ljava/lang/String;",
! "Ljava/lang/Long;",
! ">;J",
! "Lkotlin/jvm/functions/Function0<",
! "+",
! "Ljava/util/Map<",
! "Ljava/lang/String;",
! "+",
! "Ljava/lang/Object;",
! ">;>;)V"
! }
! .end annotation
!
! const/4 v0, 0x0
!
! if-eqz p1, :cond_2
!
! if-eqz p4, :cond_1
!
! .line 1
! invoke-direct {p0, p1}, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->isEventThrottled(Lkotlin/Pair;)Z
!
! move-result v0
!
! if-eqz v0, :cond_0
!
! return-void
!
! .line 2
! :cond_0
! invoke-virtual {p1}, Lkotlin/Pair;->component1()Ljava/lang/Object;
!
! move-result-object v0
!
! check-cast v0, Ljava/lang/String;
!
! .line 3
! invoke-interface {p4}, Lkotlin/jvm/functions/Function0;->invoke()Ljava/lang/Object;
!
! move-result-object p4
!
! check-cast p4, Ljava/util/Map;
!
! invoke-virtual {p0, v0, p4}, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->track(Ljava/lang/String;Ljava/util/Map;)V
!
! .line 4
! iget-object p4, p0, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->clock:Lcom/discord/utilities/clocks/Clock;
!
! invoke-interface {p4}, Lcom/discord/utilities/clocks/Clock;->currentTimeMillis()J
!
! move-result-wide v0
!
! .line 5
! iget-object p4, p0, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->eventsThrottledUntilMillis:Ljava/util/concurrent/ConcurrentHashMap;
!
! add-long/2addr v0, p2
!
! invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
!
! move-result-object p2
!
! invoke-interface {p4, p1, p2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return-void
-
- :cond_1
- const-string p1, "lazyPropertyProvider"
-
- .line 6
- invoke-static {p1}, Lt/u/b/j;->a(Ljava/lang/String;)V
-
- throw v0
-
- :cond_2
- const-string p1, "throttleKey"
-
- invoke-static {p1}, Lt/u/b/j;->a(Ljava/lang/String;)V
-
- throw v0
.end method
.method public final trackFireBase(Ljava/lang/String;Ljava/util/Map;)V
! .locals 1
! .annotation system Ldalvik/annotation/Signature;
! value = {
! "(",
! "Ljava/lang/String;",
! "Ljava/util/Map<",
! "Ljava/lang/String;",
! "+",
! "Ljava/lang/Object;",
! ">;)V"
! }
! .end annotation
!
! const/4 v0, 0x0
!
! if-eqz p1, :cond_2
!
! if-eqz p2, :cond_1
!
! .line 1
! new-instance v0, Landroid/os/Bundle;
!
! invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
!
! invoke-direct {p0, v0, p2}, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->putMap(Landroid/os/Bundle;Ljava/util/Map;)Landroid/os/Bundle;
!
! move-result-object p2
!
! .line 2
! sget-object v0, Lcom/discord/utilities/analytics/AnalyticsUtils;->INSTANCE:Lcom/discord/utilities/analytics/AnalyticsUtils;
!
! invoke-static {v0}, Lcom/discord/utilities/analytics/AnalyticsUtils;->access$getFireBaseInstance$p(Lcom/discord/utilities/analytics/AnalyticsUtils;)Lcom/google/firebase/analytics/FirebaseAnalytics;
!
! move-result-object v0
!
! if-eqz v0, :cond_0
!
! invoke-virtual {v0, p1, p2}, Lcom/google/firebase/analytics/FirebaseAnalytics;->a(Ljava/lang/String;Landroid/os/Bundle;)V
- :cond_0
return-void
-
- :cond_1
- const-string p1, "properties"
-
- .line 3
- invoke-static {p1}, Lt/u/b/j;->a(Ljava/lang/String;)V
-
- throw v0
-
- :cond_2
- const-string p1, "event"
-
- invoke-static {p1}, Lt/u/b/j;->a(Ljava/lang/String;)V
-
- throw v0
.end method
--- 494,516 ----
.method public final declared-synchronized setTrackingData(Ljava/lang/String;Z)V
.locals 0
return-void
.end method
.method public final track(Ljava/lang/String;Ljava/util/Map;)V
! .locals 0
return-void
.end method
.method public final track(Lkotlin/Pair;JLkotlin/jvm/functions/Function0;)V
! .locals 0
return-void
.end method
.method public final trackFireBase(Ljava/lang/String;Ljava/util/Map;)V
! .locals 0
return-void
.end method
Only in to/smali/com/discord/utilities/analytics: AnalyticsUtils$Tracker.smali.rej
diff -crB from/smali/com/discord/utilities/integrations/SpotifyHelper$openPlayStoreForSpotify$1.smali to/smali/com/discord/utilities/integrations/SpotifyHelper$openPlayStoreForSpotify$1.smali
*** from/smali/com/discord/utilities/integrations/SpotifyHelper$openPlayStoreForSpotify$1.smali 2019-12-21 11:43:12.513842824 +0200
--- to/smali/com/discord/utilities/integrations/SpotifyHelper$openPlayStoreForSpotify$1.smali 2019-12-21 12:00:49.316916969 +0200
***************
*** 45,51 ****
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
! const-string v2, "https://app.adjust.com/ndjczk?campaign="
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
--- 45,51 ----
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
! const-string v2, "https://play.google.com/store/apps/details?id=com.spotify.music&trash="
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
diff -crB from/smali/com/discord/utilities/receiver/CampaignReceiver.smali to/smali/com/discord/utilities/receiver/CampaignReceiver.smali
*** from/smali/com/discord/utilities/receiver/CampaignReceiver.smali 2019-12-21 11:43:12.533843136 +0200
--- to/smali/com/discord/utilities/receiver/CampaignReceiver.smali 2019-12-21 12:05:06.555480612 +0200
***************
*** 16,62 ****
# virtual methods
.method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V
! .locals 1
!
! const/4 v0, 0x0
!
! if-eqz p1, :cond_1
!
! if-eqz p2, :cond_0
!
! .line 1
! new-instance v0, Le/c/a/d0;
!
! invoke-direct {v0}, Le/c/a/d0;-><init>()V
!
! invoke-virtual {v0, p1, p2}, Le/c/a/d0;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
!
! .line 2
! new-instance v0, Le/k/a/b/b/a;
!
! invoke-direct {v0}, Le/k/a/b/b/a;-><init>()V
!
! invoke-virtual {v0, p1, p2}, Le/k/a/b/b/a;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
!
! .line 3
! sget-object p1, Lcom/discord/utilities/analytics/AnalyticSuperProperties;->INSTANCE:Lcom/discord/utilities/analytics/AnalyticSuperProperties;
!
! invoke-virtual {p1, p2}, Lcom/discord/utilities/analytics/AnalyticSuperProperties;->setCampaignProperties(Landroid/content/Intent;)V
return-void
-
- :cond_0
- const-string p1, "intent"
-
- .line 4
- invoke-static {p1}, Lt/u/b/j;->a(Ljava/lang/String;)V
-
- throw v0
-
- :cond_1
- const-string p1, "context"
-
- invoke-static {p1}, Lt/u/b/j;->a(Ljava/lang/String;)V
-
- throw v0
.end method
--- 16,22 ----
# virtual methods
.method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V
! .locals 0
return-void
.end method
Only in to/smali/com/discord/utilities/receiver: CampaignReceiver.smali.rej

View File

@ -68,3 +68,4 @@ Fuck telemetry.
- 10.0.7
- 10.1.1
- 10.1.2
- 10.1.3

37
patches/nozlib/1013.patch Normal file
View File

@ -0,0 +1,37 @@
diff -crB com.discord-1011-base/smali/com/discord/gateway/GatewaySocket.smali com.discord-1011/smali/com/discord/gateway/GatewaySocket.smali
*** com.discord-1011-base/smali/com/discord/gateway/GatewaySocket.smali 2019-12-19 01:48:21.781051851 +0300
--- com.discord-1011/smali/com/discord/gateway/GatewaySocket.smali 2019-12-19 01:50:56.271989867 +0300
***************
*** 1033,1039 ****
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
! const-string p1, "/?encoding=json&v=6&compress=zlib-stream"
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
--- 1033,1039 ----
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
! const-string p1, "/?encoding=json&v=6"
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
Only in com.discord-1011/smali/com/discord/gateway: GatewaySocket.smali.orig
Only in com.discord-1011/smali/com/discord/gateway: GatewaySocket.smali.rej
diff -crB com.discord-1011-base/smali/com/discord/gateway/io/OutgoingPayload$Identify.smali com.discord-1011/smali/com/discord/gateway/io/OutgoingPayload$Identify.smali
*** com.discord-1011-base/smali/com/discord/gateway/io/OutgoingPayload$Identify.smali 2019-12-19 01:48:21.771051790 +0300
--- com.discord-1011/smali/com/discord/gateway/io/OutgoingPayload$Identify.smali 2019-12-19 01:50:32.861847728 +0300
***************
*** 62,67 ****
--- 62,69 ----
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-object p4, p0, Lcom/discord/gateway/io/OutgoingPayload$Identify;->properties:Ljava/util/Map;

View File

@ -61,4 +61,5 @@ This patch disables zlib-stream field on wss, making it easier to parse it.
- 10.0.7
- 10.1.1
- 10.1.2
- 10.1.3

File diff suppressed because it is too large Load Diff

View File

@ -71,4 +71,5 @@ Commands like fw can be generated by `textreplacegen.py` or `textreplacegen-arra
- 10.0.7
- 10.1.1
- 10.1.2
- 10.1.3

View File

@ -0,0 +1,21 @@
diff -crB from/res/values/styles.xml to/res/values/styles.xml
*** from/res/values/styles.xml 2019-12-21 11:42:07.189240640 +0200
--- to/res/values/styles.xml 2019-12-21 11:42:34.576305410 +0200
***************
*** 941,947 ****
<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>
--- 941,948 ----
<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>

View File

@ -63,4 +63,5 @@ A very small amount of rounding is applied to make it look a little better.
- 10.0.7
- 10.1.1
- 10.1.2
- 10.1.3

View File

@ -0,0 +1,422 @@
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 2019-12-21 11:42:08.662580179 +0200
--- to/smali/com/discord/gateway/io/IncomingParser.smali 2019-12-21 11:42:32.346227672 +0200
***************
*** 782,787 ****
--- 782,798 ----
.line 59
:goto_4
+
+ 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 2019-12-21 11:42:08.702580347 +0200
--- to/smali/com/discord/models/domain/ModelChannel.smali 2019-12-21 11:42:32.346227672 +0200
***************
*** 2183,2188 ****
--- 2183,2198 ----
}
.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/stores/StoreUserSettings.smali to/smali/com/discord/stores/StoreUserSettings.smali
*** from/smali/com/discord/stores/StoreUserSettings.smali 2019-12-21 11:42:08.909247878 +0200
--- to/smali/com/discord/stores/StoreUserSettings.smali 2019-12-21 11:42:32.346227672 +0200
***************
*** 370,375 ****
--- 370,623 ----
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 2019-12-21 11:42:08.999248255 +0200
--- to/smali/com/discord/utilities/rest/SendUtils$getPart$1$1.smali 2019-12-21 11:42:32.346227672 +0200
***************
*** 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;
***************
*** 77,82 ****
--- 111,120 ----
move-result-object v3
+ invoke-static {v3}, Lcom/discord/utilities/rest/SendUtils$getPart$1$1;->interceptFilename(Ljava/lang/String;)Ljava/lang/String;
+
+ move-result-object v3
+
.line 4
sget-object p1, Lokhttp3/MultipartBody$Part;->c:Lokhttp3/MultipartBody$Part$a;
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 2019-12-21 11:42:09.199249085 +0200
--- to/smali/com/discord/widgets/chat/input/WidgetChatInputEditText$1.smali 2019-12-21 11:42:32.346227672 +0200
***************
*** 59,64 ****
--- 59,74 ----
invoke-virtual {v0}, Lcom/discord/widgets/chat/input/WidgetChatInputEditText;->saveText()V
+ 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
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)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 2019-12-21 11:42:09.205915779 +0200
--- to/smali/com/discord/widgets/chat/input/WidgetChatInputSend.smali 2019-12-21 11:42:32.346227672 +0200
***************
*** 60,65 ****
--- 60,89 ----
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
+ invoke-virtual {p1, p2}, Lcom/discord/widgets/chat/input/WidgetChatInputEditText;->setText(Ljava/lang/CharSequence;)V
+
+ .line 148
+ invoke-virtual {p1}, Lcom/discord/widgets/chat/input/WidgetChatInputEditText;->clearLastTypingEmission()V
+
+ .line 151
+ 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;)Z
.locals 1

View File

@ -14,4 +14,5 @@ This patch adds various helper functions that were previously part of slashcomma
- 10.0.7
- 10.1.1
- 10.1.2
- 10.1.3

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 2019-12-13 11:10:57.430792178 +0300
--- to/smali/com/discord/widgets/auth/WidgetAuthLogin.smali 2019-12-13 11:13:07.084861830 +0300
***************
*** 927,932 ****
--- 927,953 ----
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

@ -40,3 +40,4 @@ This patch relies on supplemental, so please use that patch too.
- 10.0.7
- 10.1.1
- 10.1.2
- 10.1.3

View File

@ -1 +1 @@
{"versionname": "10.1.2", "versioncode": "1012"}
{"versionname": "10.1.3", "versioncode": "1013"}