Compare commits

...

2 commits

Author SHA1 Message Date
3bf697bda2 30.0 (1180) 2020-07-07 23:35:46 +03:00
2e08b423ab Support new (?) crashlytics build ID when porting 2020-07-07 23:11:46 +03:00
49 changed files with 57818 additions and 3 deletions

View file

@ -2,7 +2,7 @@
Modular Client Mod for Discord's Android app.
**Latest supported Discord Android version:** 29-alpha1 (1171), released on 2020-06-25.
**Latest supported Discord Android version:** 30.0 (1180), released on 2020-07-07.
New patch development will be done for the latest supported version.

223
patches/branding/1180.patch Normal file
View file

@ -0,0 +1,223 @@
diff -crB from/AndroidManifest.xml to/AndroidManifest.xml
*** from/AndroidManifest.xml 2020-07-07 18:22:39.240000000 +0300
--- to/AndroidManifest.xml 2020-07-07 18:29:47.300000000 +0300
***************
*** 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="1180" platformBuildVersionName="30.0">
<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="1180CTCBUILD" platformBuildVersionName="30.0-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"/>
***************
*** 20,31 ****
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
! <permission android:description="@string/app_permission_connect_desc" android:label="@string/app_permission_connect_label" android:name="com.discord.permission.CONNECT" android:protectionLevel="dangerous"/>
<uses-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">
--- 20,31 ----
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
! <permission android:description="@string/app_permission_connect_desc" android:label="@string/app_permission_connect_label" android:name="com.cutthecord.CTCBRANCH.permission.CONNECT" android:protectionLevel="dangerous"/>
<uses-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: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">
***************
*** 118,124 ****
<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"/>
--- 118,124 ----
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
</intent-filter>
</service>
! <service android:exported="true" android:name="com.discord.app.DiscordConnectService" android:permission="com.cutthecord.CTCBRANCH.permission.CONNECT">
<intent-filter>
<action android:name="com.discord.intent.action.CONNECT"/>
<data android:host="app" android:pathPattern="/connect/.*" android:scheme="discord"/>
***************
*** 148,154 ****
</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"/>
--- 148,154 ----
</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"/>
***************
*** 172,178 ****
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</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"/>
--- 172,178 ----
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</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"/>
***************
*** 181,193 ****
<action android:name="com.google.android.c2dm.intent.RECEIVE"/>
</intent-filter>
</receiver>
! <provider android:authorities="com.discord.firebaseinitprovider" android:exported="false" android:initOrder="100" android:name="com.google.firebase.provider.FirebaseInitProvider"/>
<activity android:exported="false" android:name="com.google.android.gms.common.api.GoogleApiActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
<receiver android:enabled="true" android:exported="false" android:name="com.google.android.gms.measurement.AppMeasurementReceiver"/>
<service android:enabled="true" android:exported="false" android:name="com.google.android.gms.measurement.AppMeasurementService"/>
<service android:enabled="true" android:exported="false" android:name="com.google.android.gms.measurement.AppMeasurementJobService" android:permission="android.permission.BIND_JOB_SERVICE"/>
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
! <provider android:authorities="com.discord.workmanager-init" android:directBootAware="false" android:exported="false" android:multiprocess="true" android:name="androidx.work.impl.WorkManagerInitializer"/>
<service android:directBootAware="false" android:enabled="@bool/enable_system_alarm_service_default" android:exported="false" android:name="androidx.work.impl.background.systemalarm.SystemAlarmService"/>
<service android:directBootAware="false" android:enabled="@bool/enable_system_job_service_default" android:exported="true" android:name="androidx.work.impl.background.systemjob.SystemJobService" android:permission="android.permission.BIND_JOB_SERVICE"/>
<service android:directBootAware="false" android:enabled="@bool/enable_system_foreground_service_default" android:exported="false" android:name="androidx.work.impl.foreground.SystemForegroundService"/>
--- 181,193 ----
<action android:name="com.google.android.c2dm.intent.RECEIVE"/>
</intent-filter>
</receiver>
! <provider android:authorities="com.cutthecord.CTCBRANCH.firebaseinitprovider" android:exported="false" android:initOrder="100" android:name="com.google.firebase.provider.FirebaseInitProvider"/>
<activity android:exported="false" android:name="com.google.android.gms.common.api.GoogleApiActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
<receiver android:enabled="true" android:exported="false" android:name="com.google.android.gms.measurement.AppMeasurementReceiver"/>
<service android:enabled="true" android:exported="false" android:name="com.google.android.gms.measurement.AppMeasurementService"/>
<service android:enabled="true" android:exported="false" android:name="com.google.android.gms.measurement.AppMeasurementJobService" android:permission="android.permission.BIND_JOB_SERVICE"/>
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
! <provider android:authorities="com.cutthecord.CTCBRANCH.workmanager-init" android:directBootAware="false" android:exported="false" android:multiprocess="true" android:name="androidx.work.impl.WorkManagerInitializer"/>
<service android:directBootAware="false" android:enabled="@bool/enable_system_alarm_service_default" android:exported="false" android:name="androidx.work.impl.background.systemalarm.SystemAlarmService"/>
<service android:directBootAware="false" android:enabled="@bool/enable_system_job_service_default" android:exported="true" android:name="androidx.work.impl.background.systemjob.SystemJobService" android:permission="android.permission.BIND_JOB_SERVICE"/>
<service android:directBootAware="false" android:enabled="@bool/enable_system_foreground_service_default" android:exported="false" android:name="androidx.work.impl.foreground.SystemForegroundService"/>
***************
*** 235,238 ****
<receiver android:exported="false" android:name="com.google.android.datatransport.runtime.scheduling.jobscheduling.AlarmManagerSchedulerBroadcastReceiver"/>
<meta-data android:name="com.android.vending.derived.apk.id" android:value="1"/>
</application>
! </manifest>
\ No newline at end of file
--- 235,238 ----
<receiver android:exported="false" android:name="com.google.android.datatransport.runtime.scheduling.jobscheduling.AlarmManagerSchedulerBroadcastReceiver"/>
<meta-data android:name="com.android.vending.derived.apk.id" android:value="1"/>
</application>
! </manifest>
diff -crB from/apktool.yml to/apktool.yml
*** from/apktool.yml 2020-07-07 18:22:10.310000000 +0300
--- to/apktool.yml 2020-07-07 18:30:10.910000000 +0300
***************
*** 3224,3228 ****
tag: null
version: 2.4.2-de5d0e-SNAPSHOT
versionInfo:
! versionCode: '1180'
! versionName: '30.0'
--- 3224,3228 ----
tag: null
version: 2.4.2-de5d0e-SNAPSHOT
versionInfo:
! versionCode: '1180CTCBUILD'
! versionName: '30.0-cutthecord-CTCBUILD'
diff -crB from/res/values/strings.xml to/res/values/strings.xml
*** from/res/values/strings.xml 2020-07-07 18:21:44.780000000 +0300
--- to/res/values/strings.xml 2020-07-07 18:22:45.750000000 +0300
***************
*** 1477,1483 ****
<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">Discord is an all-in-one communication app for your friends, communities, and gaming.</string>
<string name="discord_desc_short">Team voice &amp; text chat</string>
<string name="discord_gg">discord.gg/</string>
--- 1477,1483 ----
<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">Discord is an all-in-one communication app for your friends, communities, and gaming.</string>
<string name="discord_desc_short">Team voice &amp; text chat</string>
<string name="discord_gg">discord.gg/</string>
***************
*** 4040,4046 ****
<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>
--- 4040,4046 ----
<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>
***************
*** 5379,5385 ****
<string name="subscriptions_title">Subscriptions</string>
<string name="suggestions">Suggestions</string>
<string name="summary_collapsed_preference_list">%1$s, %2$s</string>
! <string name="support">Support</string>
<string name="suppress_all_embeds">Remove all embeds</string>
<string name="suppress_embed_body">This will remove all embeds on this message for everyone.</string>
<string name="suppress_embed_confirm">Remove All Embeds</string>
--- 5379,5385 ----
<string name="subscriptions_title">Subscriptions</string>
<string name="suggestions">Suggestions</string>
<string name="summary_collapsed_preference_list">%1$s, %2$s</string>
! <string name="support">CutTheCord Repo</string>
<string name="suppress_all_embeds">Remove all embeds</string>
<string name="suppress_embed_body">This will remove all embeds on this message for everyone.</string>
<string name="suppress_embed_confirm">Remove All Embeds</string>
diff -crB from/smali/com/discord/utilities/captcha/CaptchaHelper$showCaptchaHelpDialog$$inlined$let$lambda$1.smali to/smali/com/discord/utilities/captcha/CaptchaHelper$showCaptchaHelpDialog$$inlined$let$lambda$1.smali
*** from/smali/com/discord/utilities/captcha/CaptchaHelper$showCaptchaHelpDialog$$inlined$let$lambda$1.smali 2020-07-07 18:21:56.960000000 +0300
--- to/smali/com/discord/utilities/captcha/CaptchaHelper$showCaptchaHelpDialog$$inlined$let$lambda$1.smali 2020-07-07 18:22:45.750000000 +0300
***************
*** 76,82 ****
.line 3
new-instance v0, Landroid/content/Intent;
! const-string v1, "https://discord.com/app"
.line 4
invoke-static {v1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
--- 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

@ -180,4 +180,5 @@ You can use the following line to patch authorities:
- 28-alpha2
- 28.1
- 29-alpha1
- 30.0

View file

View file

@ -173,6 +173,7 @@ Self note: Top bar color is set by `setStatusBarColorResourceId`
- 28-alpha2
- 28.1
- 29-alpha1
- 30.0
#### 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 2020-06-20 04:18:52.403366548 +0100
--- to/smali/com/discord/widgets/settings/WidgetSettings.smali 2020-06-20 04:19:05.377271807 +0100
***************
*** 1950,1956 ****
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
! const-string v0, " - 30.0 (1180)"
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
--- 1950,1956 ----
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
! const-string v0, " - 30.0 (1180), with Cutthecord patches"
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

View file

@ -167,4 +167,5 @@ This patch replaces version string and adds mention of cutthecord in the user se
- 28-alpha2
- 28.1
- 29-alpha1
- 30.0

View file

@ -0,0 +1,20 @@
diff -crB from/smali/com/discord/utilities/analytics/AnalyticSuperProperties.smali to/smali/com/discord/utilities/analytics/AnalyticSuperProperties.smali
*** from/smali/com/discord/utilities/analytics/AnalyticSuperProperties.smali 2020-06-20 04:18:51.683371812 +0100
--- to/smali/com/discord/utilities/analytics/AnalyticSuperProperties.smali 2020-06-20 04:19:01.317301433 +0100
***************
*** 176,182 ****
const-string v2, "browser"
! const-string v3, "Discord Android"
invoke-direct {v1, v2, v3}, Lkotlin/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
--- 176,182 ----
const-string v2, "browser"
! const-string v3, "Discord Client"
invoke-direct {v1, v2, v3}, Lkotlin/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V

View file

@ -169,4 +169,5 @@ However, this causes some issues. See the `Bugs / Side effects` list below.
- 28-alpha2
- 28.1
- 29-alpha1
- 30.0

View file

@ -0,0 +1,142 @@
diff -crB from/smali/com/discord/stores/StoreExperiments$getExperimentalAlpha$1.smali to/smali/com/discord/stores/StoreExperiments$getExperimentalAlpha$1.smali
*** from/smali/com/discord/stores/StoreExperiments$getExperimentalAlpha$1.smali 2020-07-07 14:30:01.670000000 +0300
--- to/smali/com/discord/stores/StoreExperiments$getExperimentalAlpha$1.smali 2020-07-07 14:37:29.510000000 +0300
***************
*** 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}, Lj0/n/c/h;->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 2020-07-07 14:30:01.680000000 +0300
--- to/smali/com/discord/stores/StoreExperiments.smali 2020-07-07 14:35:53.300000000 +0300
***************
*** 1333,1390 ****
.end method
.method public final isExperimentalAlpha$app_productionDiscordExternalRelease()Z
! .locals 4
! .line 1
! iget-boolean v0, p0, Lcom/discord/stores/StoreExperiments;->initialized:Z
! const/4 v1, 0x1
!
! if-eqz v0, :cond_0
!
! .line 2
! iget-object v0, p0, Lcom/discord/stores/StoreExperiments;->storeUser:Lcom/discord/stores/StoreUser;
!
! invoke-virtual {v0}, Lcom/discord/stores/StoreUser;->getMeInternal$app_productionDiscordExternalRelease()Lcom/discord/models/domain/ModelUser$Me;
!
! move-result-object v0
!
! if-eqz v0, :cond_0
!
! invoke-virtual {v0}, Lcom/discord/models/domain/ModelUser;->isStaff()Z
!
! move-result v0
!
! if-eq v0, v1, :cond_2
!
! .line 3
! :cond_0
! iget-object v0, p0, Lcom/discord/stores/StoreExperiments;->storeGuilds:Lcom/discord/stores/StoreGuilds;
!
! invoke-virtual {v0}, Lcom/discord/stores/StoreGuilds;->getGuildsInternal$app_productionDiscordExternalRelease()Ljava/util/Map;
!
! move-result-object v0
!
! 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;
--- 1333,1343 ----
.end method
.method public final isExperimentalAlpha$app_productionDiscordExternalRelease()Z
! .locals 1
! const/4 v0, 0x1
! 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 2020-07-07 14:30:03.510000000 +0300
--- to/smali/com/discord/widgets/settings/WidgetSettingsAppearance$Model$Companion$get$1.smali 2020-07-07 14:38:04.240000000 +0300
***************
*** 87,97 ****
if-nez p4, :cond_1
! invoke-static {p1, v1}, Lj0/n/c/h;->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

@ -171,4 +171,5 @@ This patch enables developer options (empty), mobile experiments (of which there
- 28-alpha2
- 28.1
- 29-alpha1
- 30.0

View file

@ -0,0 +1,20 @@
diff -crB from/smali/com/discord/utilities/icon/IconUtils.smali to/smali/com/discord/utilities/icon/IconUtils.smali
*** from/smali/com/discord/utilities/icon/IconUtils.smali 2020-04-30 01:36:39.987338080 +0100
--- to/smali/com/discord/utilities/icon/IconUtils.smali 2020-04-30 01:36:52.607266611 +0100
***************
*** 1402,1407 ****
--- 1402,1415 ----
invoke-virtual {p3, p4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+ # Set avatar image size to 256
+
+ const-string v0, "?size=256"
+
+ invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ const-string v0, "https://cdn.discordapp.com/avatars/"
+
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p3

View file

@ -59,4 +59,5 @@ Changes avatars from 128x128 to 256x256 variants.
- 28-alpha2
- 28.1
- 29-alpha1
- 30.0

260
patches/litecord/1180.patch Normal file
View file

@ -0,0 +1,260 @@
diff -crB from/smali/com/discord/app/App.smali to/smali/com/discord/app/App.smali
*** from/smali/com/discord/app/App.smali 2020-06-20 04:18:51.321374458 +0100
--- to/smali/com/discord/app/App.smali 2020-06-20 04:40:41.600333533 +0100
***************
*** 147,153 ****
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
--- 147,153 ----
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 2020-06-20 04:18:51.321374458 +0100
--- to/smali/com/discord/BuildConfig.smali 2020-06-20 04:40:41.600333533 +0100
***************
*** 18,36 ****
.field public static final FLAVOR_vendor:Ljava/lang/String; = "discord"
! .field public static final HOST:Ljava/lang/String; = "https://discord.com"
! .field public static final HOST_ALTERNATE:Ljava/lang/String; = "https://discordapp.com"
! .field public static final HOST_API:Ljava/lang/String; = "https://discord.com/api/"
! .field public static final HOST_CDN:Ljava/lang/String; = "https://cdn.discordapp.com"
! .field public static final HOST_GIFT:Ljava/lang/String; = "https://discord.gift"
! .field public static final HOST_GUILD_TEMPLATE:Ljava/lang/String; = "https://discord.new"
! .field public static final HOST_INVITE:Ljava/lang/String; = "https://discord.gg"
.field public static final LOCAL_IP:Ljava/lang/String; = ""
--- 18,36 ----
.field public static final FLAVOR_vendor:Ljava/lang/String; = "discord"
! .field public static final HOST:Ljava/lang/String; = "https://dev.litecord.top"
! .field public static final HOST_ALTERNATE:Ljava/lang/String; = "https://dev.litecord.top"
! .field public static final HOST_API:Ljava/lang/String; = "https://dev.litecord.top/api/"
! .field public static final HOST_CDN:Ljava/lang/String; = "https://dev.litecord.top"
! .field public static final HOST_GIFT:Ljava/lang/String; = "https://dev.litecord.top"
! .field public static final HOST_GUILD_TEMPLATE:Ljava/lang/String; = "https://dev.litecord.top"
! .field public static final HOST_INVITE:Ljava/lang/String; = "https://dev.litecord.top"
.field public static final 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 2020-06-20 04:18:51.559372719 +0100
--- to/smali/com/discord/stores/StoreGatewayConnection.smali 2020-06-20 04:41:12.448126362 +0100
***************
*** 1370,1376 ****
sget-object v3, Lcom/discord/utilities/rest/RestAPI$AppHeadersProvider;->INSTANCE:Lcom/discord/utilities/rest/RestAPI$AppHeadersProvider;
! const-string v7, "https://discord.com/api/"
invoke-direct {v6, v7, v3, v0}, Lcom/discord/gateway/rest/RestConfig;-><init>(Ljava/lang/String;Lcom/discord/restapi/RequiredHeadersInterceptor$HeadersProvider;Ljava/util/List;)V
--- 1370,1376 ----
sget-object v3, Lcom/discord/utilities/rest/RestAPI$AppHeadersProvider;->INSTANCE:Lcom/discord/utilities/rest/RestAPI$AppHeadersProvider;
! const-string v7, "https://dev.litecord.top/api/"
invoke-direct {v6, v7, v3, v0}, Lcom/discord/gateway/rest/RestConfig;-><init>(Ljava/lang/String;Lcom/discord/restapi/RequiredHeadersInterceptor$HeadersProvider;Ljava/util/List;)V
diff -crB from/smali/com/discord/utilities/icon/IconUtils.smali to/smali/com/discord/utilities/icon/IconUtils.smali
*** from/smali/com/discord/utilities/icon/IconUtils.smali 2020-06-20 04:18:51.743371373 +0100
--- to/smali/com/discord/utilities/icon/IconUtils.smali 2020-06-20 04:40:41.602333520 +0100
***************
*** 459,465 ****
goto :goto_3
:cond_1
! const-string p3, "https://cdn.discordapp.com"
.line 2
invoke-interface {p3}, Ljava/lang/CharSequence;->length()I
--- 459,465 ----
goto :goto_3
:cond_1
! const-string p3, "https://dev.litecord.top"
.line 2
invoke-interface {p3}, Ljava/lang/CharSequence;->length()I
***************
*** 509,515 ****
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;
--- 509,515 ----
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;
***************
*** 918,924 ****
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
! const-string v1, "https://cdn.discordapp.com"
invoke-interface {v1}, Ljava/lang/CharSequence;->length()I
--- 918,924 ----
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
! const-string v1, "https://dev.litecord.top"
invoke-interface {v1}, Ljava/lang/CharSequence;->length()I
***************
*** 999,1005 ****
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;
--- 999,1005 ----
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;
***************
*** 1310,1316 ****
:cond_0
if-eqz p1, :cond_6
! const-string p2, "https://cdn.discordapp.com"
.line 6
invoke-interface {p2}, Ljava/lang/CharSequence;->length()I
--- 1310,1316 ----
:cond_0
if-eqz p1, :cond_6
! const-string p2, "https://dev.litecord.top"
.line 6
invoke-interface {p2}, Ljava/lang/CharSequence;->length()I
***************
*** 1417,1423 ****
invoke-direct {p4}, Ljava/lang/StringBuilder;-><init>()V
! const-string v0, "https://cdn.discordapp.com/avatars/"
invoke-virtual {p4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
--- 1417,1423 ----
invoke-direct {p4}, Ljava/lang/StringBuilder;-><init>()V
! const-string v0, "https://dev.litecord.top/avatars/"
invoke-virtual {p4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
***************
*** 2626,2632 ****
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;
--- 2626,2632 ----
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;
***************
*** 2743,2749 ****
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;
--- 2743,2749 ----
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;
***************
*** 3090,3096 ****
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;
--- 3090,3096 ----
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;
diff -crB from/smali/com/discord/utilities/rest/RestAPI$Companion.smali to/smali/com/discord/utilities/rest/RestAPI$Companion.smali
*** from/smali/com/discord/utilities/rest/RestAPI$Companion.smali 2020-06-20 04:18:51.785371066 +0100
--- to/smali/com/discord/utilities/rest/RestAPI$Companion.smali 2020-06-20 04:40:41.602333520 +0100
***************
*** 312,318 ****
.line 9
new-instance v1, Lcom/discord/restapi/RestAPIBuilder;
! const-string v9, "https://discord.com/api/"
invoke-direct {v1, v9, v6}, Lcom/discord/restapi/RestAPIBuilder;-><init>(Ljava/lang/String;Lo0/p;)V
--- 312,318 ----
.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;Lo0/p;)V

View file

@ -171,4 +171,5 @@ Please keep in mind that litecord is free (gratis and libre) software, provided
- 28-alpha2
- 28.1
- 29-alpha1
- 30.0

52093
patches/mutant/1180.patch Normal file

File diff suppressed because it is too large Load diff

View file

@ -179,6 +179,7 @@ Various scripts are provided to help building of custom patches easier.
- 28-alpha2
- 28.1
- 29-alpha1
- 30.0
#### Disclaimer

View file

@ -0,0 +1,14 @@
diff -crB from/AndroidManifest.xml to/AndroidManifest.xml
*** from/AndroidManifest.xml 2020-06-25 10:49:44.329555017 +0100
--- to/AndroidManifest.xml 2020-06-25 10:50:19.477230802 +0100
***************
*** 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="1180" platformBuildVersionName="30.0">
<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

@ -162,4 +162,5 @@ This patch completely hides the "# Blocked Message(s)" thing.
- 28-alpha2
- 28.1
- 29-alpha1
- 30.0

View file

@ -0,0 +1,20 @@
diff -crB from/smali_classes2/com/lytefast/flexinput/fragment/FlexInputFragment.smali to/smali_classes2/com/lytefast/flexinput/fragment/FlexInputFragment.smali
*** from/smali_classes2/com/lytefast/flexinput/fragment/FlexInputFragment.smali 2020-07-07 21:22:26.390000000 +0300
--- to/smali_classes2/com/lytefast/flexinput/fragment/FlexInputFragment.smali 2020-07-07 23:06:52.120000000 +0300
***************
*** 363,369 ****
if-eqz v5, :cond_5
! const/4 v10, 0x0
goto :goto_2
--- 363,369 ----
if-eqz v5, :cond_5
! const/16 v10, 0x8
goto :goto_2

View file

@ -69,4 +69,5 @@ to
- 28-alpha2
- 28.1
- 29-alpha1
- 30.0

View file

@ -0,0 +1,20 @@
diff -crB from/smali/com/discord/widgets/chat/input/WidgetChatInputAttachments$configureFlexInputFragment$2.smali to/smali/com/discord/widgets/chat/input/WidgetChatInputAttachments$configureFlexInputFragment$2.smali
*** from/smali/com/discord/widgets/chat/input/WidgetChatInputAttachments$configureFlexInputFragment$2.smali 2020-07-07 21:22:24.900000000 +0300
--- to/smali/com/discord/widgets/chat/input/WidgetChatInputAttachments$configureFlexInputFragment$2.smali 2020-07-07 22:58:40.370000000 +0300
***************
*** 288,294 ****
if-eqz v0, :cond_2
! invoke-virtual {v0, v3}, Landroid/widget/ImageView;->setVisibility(I)V
:goto_1
return-void
--- 288,294 ----
if-eqz v0, :cond_2
! # invoke-virtual {v0, v3}, Landroid/widget/ImageView;->setVisibility(I)V
:goto_1
return-void

View file

@ -94,4 +94,5 @@ Self explanatory.
- 28-alpha2
- 28.1
- 29-alpha1
- 30.0

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

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

View file

@ -165,4 +165,5 @@ This patch nulls a bunch of nearby friends features for privacy.
- 28-alpha2
- 28.1
- 29-alpha1
- 30.0

View file

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

View file

@ -159,4 +159,5 @@ This patch removes the "profile strip" from the left side menu, helping remove P
- 28-alpha2
- 28.1
- 29-alpha1
- 30.0

View file

@ -0,0 +1,69 @@
diff -crB from/smali/com/discord/models/domain/ModelMessageEmbed.smali to/smali/com/discord/models/domain/ModelMessageEmbed.smali
*** from/smali/com/discord/models/domain/ModelMessageEmbed.smali 2020-06-20 04:18:51.415373771 +0100
--- to/smali/com/discord/models/domain/ModelMessageEmbed.smali 2020-06-20 04:19:13.477212763 +0100
***************
*** 1921,1953 ****
.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
--- 1921,1929 ----
.end method
.method public isSpoilerAttachment()Z
! .locals 1
const/4 v0, 0x0
return v0
.end method
diff -crB from/smali/com/discord/utilities/textprocessing/node/SpoilerNode.smali to/smali/com/discord/utilities/textprocessing/node/SpoilerNode.smali
*** from/smali/com/discord/utilities/textprocessing/node/SpoilerNode.smali 2020-06-20 04:18:51.833370715 +0100
--- to/smali/com/discord/utilities/textprocessing/node/SpoilerNode.smali 2020-06-20 04:19:13.477212763 +0100
***************
*** 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

View file

@ -162,4 +162,5 @@ I personally won't be using it as I like to use them as CWs, but I do acknowledg
- 28-alpha2
- 28.1
- 29-alpha1
- 30.0

View file

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

1262
patches/notrack/1180.patch Normal file

File diff suppressed because it is too large Load diff

View file

@ -169,3 +169,4 @@ Fuck telemetry.
- 28-alpha2
- 28.1
- 29-alpha1
- 30.0

View file

View file

@ -162,4 +162,5 @@ This patch disables zlib-stream field on wss, making it easier to parse it.
- 28-alpha2
- 28.1
- 29-alpha1
- 30.0

View file

View file

@ -11,4 +11,5 @@ This patch restores the behavior where tapping a user's profile picture adds the
- 28-alpha2
- 28.1
- 29-alpha1
- 30.0

View file

View file

@ -16,4 +16,5 @@ TL;DR:
- 28-alpha2
- 28.1
- 29-alpha1
- 30.0

File diff suppressed because it is too large Load diff

View file

@ -172,4 +172,5 @@ Commands like fw can be generated by `textreplacegen.py` or `textreplacegen-arra
- 28-alpha2
- 28.1
- 29-alpha1
- 30.0

View file

View file

@ -164,4 +164,5 @@ A very small amount of rounding is applied to make it look a little better.
- 28-alpha2
- 28.1
- 29-alpha1
- 30.0

View file

View file

@ -115,4 +115,5 @@ This patch adds various helper functions that were previously part of slashcomma
- 28-alpha2
- 28.1
- 29-alpha1
- 30.0

View file

View file

@ -141,3 +141,4 @@ This patch relies on supplemental, so please use that patch too.
- 28-alpha2
- 28.1
- 29-alpha1
- 30.0

View file

@ -1 +1 @@
{"versionname": "29-alpha1", "versioncode": "1171"}
{"versionname": "30.0", "versioncode": "1180"}

View file

@ -96,7 +96,7 @@ re_versionname_yml = re.compile(r'versionName: \'?(.+?)\'?$')
re_releasedate = re.compile(r'released on ([0-9]{4}-[0-9]{2}-[0-9]{2})')
re_crashlytics = re.compile(r'com\.crashlytics\.android\.build_id">([a-z0-9]'
r'{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-'
r'{8}-?[a-z0-9]{4}-?[a-z0-9]{4}-?[a-z0-9]{4}-?'
r'[a-z0-9]{12})</string>')