Ported patches to v8.4.1 + release patchport
This commit is contained in:
parent
0771320e86
commit
9beeb28d81
38 changed files with 6188 additions and 1 deletions
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
Discord Android app patches.
|
Discord Android app patches.
|
||||||
|
|
||||||
**Latest supported Discord Android version:** 8.3.9g (839), released on 2019-02-01.
|
**Latest supported Discord Android version:** 8.4.1g (841), released on 2019-02-04.
|
||||||
|
|
||||||
New patch development will be done for the latest supported version.
|
New patch development will be done for the latest supported version.
|
||||||
|
|
||||||
|
@ -44,3 +44,10 @@ After extracting the APK, copy it to a folder that you won't modify (`cp -r com.
|
||||||
|
|
||||||
To get the diff, run `diff -crB -x "dist" -x "res/raw" -x "build" CleanFolder PatchedFolder > patchname.patch`
|
To get the diff, run `diff -crB -x "dist" -x "res/raw" -x "build" CleanFolder PatchedFolder > patchname.patch`
|
||||||
|
|
||||||
|
#### Porting patches
|
||||||
|
|
||||||
|
You can use `patchport` to easily attempt to port patches.
|
||||||
|
|
||||||
|
It's not really intelligent and doesn't do much more than just checking if an existing patch can be applied to a given version (it also replaces relevant variables required for porting various patches), but it saves a lot of time if used carefully.
|
||||||
|
|
||||||
|
Example command: `python3 patchport.py 839 8.3.9g /home/ave/Downloads/dic/com.discord-841 /home/ave/Projects/cutthecord/`
|
||||||
|
|
68
patches/branding/841.patch
Normal file
68
patches/branding/841.patch
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
diff -crB -x dist -x build com.discord-841-testing/AndroidManifest.xml com.discord-841/AndroidManifest.xml
|
||||||
|
*** com.discord-841-testing/AndroidManifest.xml 2019-02-03 09:37:05.523261124 +0300
|
||||||
|
--- com.discord-841/AndroidManifest.xml 2019-02-03 09:42:43.867140699 +0300
|
||||||
|
***************
|
||||||
|
*** 1,4 ****
|
||||||
|
! <?xml version="1.0" encoding="utf-8" standalone="no"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" android:compileSdkVersion="28" android:compileSdkVersionCodename="9" android:installLocation="auto" package="com.discord" platformBuildVersionCode="841" platformBuildVersionName="8.4.1g">
|
||||||
|
<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="28" android:compileSdkVersionCodename="9" android:installLocation="auto" package="com.cutthecord.CTCBRANCH" platformBuildVersionCode="841CTCBUILD" platformBuildVersionName="8.4.1g-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"/>
|
||||||
|
diff -crB -x dist -x build com.discord-841-testing/apktool.yml com.discord-841/apktool.yml
|
||||||
|
*** com.discord-841-testing/apktool.yml 2019-02-03 09:37:05.523261124 +0300
|
||||||
|
--- com.discord-841/apktool.yml 2019-02-03 09:42:43.867140699 +0300
|
||||||
|
***************
|
||||||
|
*** 345,349 ****
|
||||||
|
tag: null
|
||||||
|
version: 2.4.0-896569-SNAPSHOT
|
||||||
|
versionInfo:
|
||||||
|
! versionCode: '841'
|
||||||
|
! versionName: 8.4.1g
|
||||||
|
--- 345,349 ----
|
||||||
|
tag: null
|
||||||
|
version: 2.4.0-896569-SNAPSHOT
|
||||||
|
versionInfo:
|
||||||
|
! versionCode: '841CTCBUILD'
|
||||||
|
! versionName: 8.4.1g-cutthecord-CTCBUILD
|
||||||
|
diff -crB -x dist -x build com.discord-841-testing/res/values/strings.xml com.discord-841/res/values/strings.xml
|
||||||
|
*** com.discord-841-testing/res/values/strings.xml 2019-02-03 09:37:05.666595490 +0300
|
||||||
|
--- com.discord-841/res/values/strings.xml 2019-02-03 09:42:43.873807402 +0300
|
||||||
|
***************
|
||||||
|
*** 1137,1143 ****
|
||||||
|
<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 & text chat</string>
|
||||||
|
<string name="discord_gg">discord.gg/</string>
|
||||||
|
--- 1137,1143 ----
|
||||||
|
<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 & text chat</string>
|
||||||
|
<string name="discord_gg">discord.gg/</string>
|
||||||
|
***************
|
||||||
|
*** 2691,2697 ****
|
||||||
|
<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="nsfw_accept">Continue</string>
|
||||||
|
--- 2691,2697 ----
|
||||||
|
<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="nsfw_accept">Continue</string>
|
||||||
|
|
|
@ -14,4 +14,5 @@ Running customicon.sh (while on root of the extracted folder) will also change t
|
||||||
- 8.3.5g
|
- 8.3.5g
|
||||||
- 8.3.6g
|
- 8.3.6g
|
||||||
- 8.3.9g
|
- 8.3.9g
|
||||||
|
- 8.4.1g
|
||||||
|
|
||||||
|
|
84
patches/compact/841.patch
Normal file
84
patches/compact/841.patch
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
diff -crB -x dist -x build com.discord-836-testing/res/layout/widget_chat_list_adapter_item_text.xml com.discord-836/res/layout/widget_chat_list_adapter_item_text.xml
|
||||||
|
*** com.discord-836-testing/res/layout/widget_chat_list_adapter_item_text.xml 2019-01-31 10:40:04.405948262 +0300
|
||||||
|
--- com.discord-836/res/layout/widget_chat_list_adapter_item_text.xml 2019-01-31 10:41:29.889614538 +0300
|
||||||
|
***************
|
||||||
|
*** 2,12 ****
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout android:background="?selectableItemBackground" android:paddingTop="10.0dip" android:paddingRight="@dimen/chat_cell_horizontal_spacing_padding" android:layout_width="fill_parent" android:layout_height="wrap_content"
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
|
<androidx.constraintlayout.widget.Guideline android:id="@id/uikit_chat_guideline" style="@style/UiKit.Chat.Guideline" />
|
||||||
|
- <com.facebook.drawee.view.SimpleDraweeView android:id="@id/chat_list_adapter_item_text_avatar" android:layout_marginLeft="8.0dip" android:layout_marginTop="@dimen/uikit_spacing_small" android:importantForAccessibility="no" app:layout_constrainedWidth="true" app:layout_constraintEnd_toEndOf="@id/uikit_chat_guideline" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toLeftOf="@id/uikit_chat_guideline" app:layout_constraintStart_toStartOf="parent" style="@style/Avatar.Chat" />
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout android:id="@id/chat_list_adapter_item_text_header" android:layout_width="wrap_content" android:layout_height="0.0dip" app:layout_constrainedWidth="true" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintLeft_toRightOf="@id/uikit_chat_guideline" app:layout_constraintRight_toRightOf="parent" app:layout_constraintStart_toEndOf="@id/uikit_chat_guideline" app:layout_constraintTop_toTopOf="@id/chat_list_adapter_item_text_avatar">
|
||||||
|
<TextView android:textColor="?theme_chat_name" android:id="@id/chat_list_adapter_item_text_name" android:lineSpacingMultiplier="1.0" app:layout_constrainedWidth="true" app:layout_constraintBaseline_toBaselineOf="@id/chat_list_adapter_item_text_bot" app:layout_constraintEnd_toStartOf="@id/chat_list_adapter_item_text_bot" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintHorizontal_chainStyle="packed" app:layout_constraintStart_toStartOf="parent" style="@style/UiKit.TextView.Large.SingleLine" />
|
||||||
|
<TextView android:textSize="9.5sp" android:textColor="@color/white" android:id="@id/chat_list_adapter_item_text_bot" android:background="@drawable/drawable_button_purple_neutral" android:paddingLeft="3.0dip" android:paddingTop="0.5dip" android:paddingRight="3.0dip" android:paddingBottom="0.5dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="6.0dip" android:layout_marginBottom="1.0dip" android:text="BOT" android:singleLine="true" app:layout_constraintEnd_toStartOf="@id/chat_list_adapter_item_text_timestamp" app:layout_constraintStart_toEndOf="@id/chat_list_adapter_item_text_name" style="@style/UiKit.TextView" />
|
||||||
|
<TextView android:textSize="@dimen/uikit_textsize_small" android:textColor="?theme_chat_timestamp" android:gravity="center_vertical" android:id="@id/chat_list_adapter_item_text_timestamp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="6.0dip" android:layout_marginBottom="1.0dip" android:maxWidth="150.0dip" android:singleLine="true" app:layout_constraintBaseline_toBaselineOf="@id/chat_list_adapter_item_text_name" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@id/chat_list_adapter_item_text_bot" style="@style/UiKit.TextView" />
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
- <com.discord.utilities.view.text.LinkifiedTextView android:id="@id/chat_list_adapter_item_text" android:layout_width="0.0dip" android:layout_marginTop="@dimen/uikit_spacing_xsmall" android:layout_marginRight="@dimen/uikit_spacing_small" android:layout_marginBottom="2.0dip" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintLeft_toRightOf="@id/uikit_chat_guideline" app:layout_constraintRight_toRightOf="parent" app:layout_constraintStart_toEndOf="@id/uikit_chat_guideline" app:layout_constraintTop_toBottomOf="@id/chat_list_adapter_item_text_header" style="@style/UiKit.Chat.Text" />
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
\ No newline at end of file
|
||||||
|
--- 2,11 ----
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout android:background="?selectableItemBackground" android:paddingTop="10.0dip" android:paddingRight="@dimen/chat_cell_horizontal_spacing_padding" android:layout_width="fill_parent" android:layout_height="wrap_content"
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
|
<androidx.constraintlayout.widget.Guideline android:id="@id/uikit_chat_guideline" style="@style/UiKit.Chat.Guideline" />
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout android:id="@id/chat_list_adapter_item_text_header" android:layout_width="wrap_content" android:layout_height="0.0dip" app:layout_constrainedWidth="true" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintLeft_toRightOf="@id/uikit_chat_guideline" app:layout_constraintRight_toRightOf="parent" app:layout_constraintStart_toEndOf="@id/uikit_chat_guideline" app:layout_constraintTop_toTopOf="@id/chat_list_adapter_item_text_avatar">
|
||||||
|
<TextView android:textColor="?theme_chat_name" android:id="@id/chat_list_adapter_item_text_name" android:lineSpacingMultiplier="1.0" app:layout_constrainedWidth="true" app:layout_constraintBaseline_toBaselineOf="@id/chat_list_adapter_item_text_bot" app:layout_constraintEnd_toStartOf="@id/chat_list_adapter_item_text_bot" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintHorizontal_chainStyle="packed" app:layout_constraintStart_toStartOf="parent" style="@style/UiKit.TextView.Large.SingleLine" />
|
||||||
|
<TextView android:textSize="9.5sp" android:textColor="@color/white" android:id="@id/chat_list_adapter_item_text_bot" android:background="@drawable/drawable_button_purple_neutral" android:paddingLeft="3.0dip" android:paddingTop="0.5dip" android:paddingRight="3.0dip" android:paddingBottom="0.5dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="6.0dip" android:layout_marginBottom="1.0dip" android:text="BOT" android:singleLine="true" app:layout_constraintEnd_toStartOf="@id/chat_list_adapter_item_text_timestamp" app:layout_constraintStart_toEndOf="@id/chat_list_adapter_item_text_name" style="@style/UiKit.TextView" />
|
||||||
|
<TextView android:textSize="@dimen/uikit_textsize_small" android:textColor="?theme_chat_timestamp" android:gravity="center_vertical" android:id="@id/chat_list_adapter_item_text_timestamp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="6.0dip" android:layout_marginBottom="1.0dip" android:maxWidth="150.0dip" android:singleLine="true" app:layout_constraintBaseline_toBaselineOf="@id/chat_list_adapter_item_text_name" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@id/chat_list_adapter_item_text_bot" style="@style/UiKit.TextView" />
|
||||||
|
+ <com.discord.utilities.view.text.LinkifiedTextView android:id="@id/chat_list_adapter_item_text" app:layout_constrainedWidth="true" android:layout_marginLeft="6.0dip" android:layout_marginBottom="1.0dip" android:layout_marginStart="6.0dip" app:layout_constraintStart_toEndOf="@id/chat_list_adapter_item_text_timestamp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintLeft_toRightOf="@id/chat_list_adapter_item_text_timestamp" app:layout_constraintRight_toRightOf="parent" style="@style/UiKit.Chat.Text" />
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
\ No newline at end of file
|
||||||
|
diff -crB -x dist -x build com.discord-836-testing/res/layout-v17/widget_chat_list_adapter_item_text.xml com.discord-836/res/layout-v17/widget_chat_list_adapter_item_text.xml
|
||||||
|
*** com.discord-836-testing/res/layout-v17/widget_chat_list_adapter_item_text.xml 2019-01-31 10:40:04.452615110 +0300
|
||||||
|
--- com.discord-836/res/layout-v17/widget_chat_list_adapter_item_text.xml 2019-01-31 10:41:29.889614538 +0300
|
||||||
|
***************
|
||||||
|
*** 2,12 ****
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout android:background="?selectableItemBackground" android:paddingTop="10.0dip" android:paddingRight="@dimen/chat_cell_horizontal_spacing_padding" android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingEnd="@dimen/chat_cell_horizontal_spacing_padding"
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
|
<androidx.constraintlayout.widget.Guideline android:id="@id/uikit_chat_guideline" style="@style/UiKit.Chat.Guideline" />
|
||||||
|
- <com.facebook.drawee.view.SimpleDraweeView android:id="@id/chat_list_adapter_item_text_avatar" android:layout_marginLeft="8.0dip" android:layout_marginTop="@dimen/uikit_spacing_small" android:importantForAccessibility="no" android:layout_marginStart="8.0dip" app:layout_constrainedWidth="true" app:layout_constraintEnd_toEndOf="@id/uikit_chat_guideline" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toLeftOf="@id/uikit_chat_guideline" app:layout_constraintStart_toStartOf="parent" style="@style/Avatar.Chat" />
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout android:id="@id/chat_list_adapter_item_text_header" android:layout_width="wrap_content" android:layout_height="0.0dip" app:layout_constrainedWidth="true" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintLeft_toRightOf="@id/uikit_chat_guideline" app:layout_constraintRight_toRightOf="parent" app:layout_constraintStart_toEndOf="@id/uikit_chat_guideline" app:layout_constraintTop_toTopOf="@id/chat_list_adapter_item_text_avatar">
|
||||||
|
<TextView android:textColor="?theme_chat_name" android:id="@id/chat_list_adapter_item_text_name" android:lineSpacingMultiplier="1.0" app:layout_constrainedWidth="true" app:layout_constraintBaseline_toBaselineOf="@id/chat_list_adapter_item_text_bot" app:layout_constraintEnd_toStartOf="@id/chat_list_adapter_item_text_bot" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintHorizontal_chainStyle="packed" app:layout_constraintStart_toStartOf="parent" style="@style/UiKit.TextView.Large.SingleLine" />
|
||||||
|
<TextView android:textSize="9.5sp" android:textColor="@color/white" android:id="@id/chat_list_adapter_item_text_bot" android:background="@drawable/drawable_button_purple_neutral" android:paddingLeft="3.0dip" android:paddingTop="0.5dip" android:paddingRight="3.0dip" android:paddingBottom="0.5dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="6.0dip" android:layout_marginBottom="1.0dip" android:text="BOT" android:singleLine="true" android:layout_marginStart="6.0dip" app:layout_constraintEnd_toStartOf="@id/chat_list_adapter_item_text_timestamp" app:layout_constraintStart_toEndOf="@id/chat_list_adapter_item_text_name" style="@style/UiKit.TextView" />
|
||||||
|
<TextView android:textSize="@dimen/uikit_textsize_small" android:textColor="?theme_chat_timestamp" android:gravity="center_vertical" android:id="@id/chat_list_adapter_item_text_timestamp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="6.0dip" android:layout_marginBottom="1.0dip" android:maxWidth="150.0dip" android:singleLine="true" android:layout_marginStart="6.0dip" app:layout_constraintBaseline_toBaselineOf="@id/chat_list_adapter_item_text_name" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@id/chat_list_adapter_item_text_bot" style="@style/UiKit.TextView" />
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
- <com.discord.utilities.view.text.LinkifiedTextView android:id="@id/chat_list_adapter_item_text" android:layout_width="0.0dip" android:layout_marginTop="@dimen/uikit_spacing_xsmall" android:layout_marginRight="@dimen/uikit_spacing_small" android:layout_marginBottom="2.0dip" android:layout_marginEnd="@dimen/uikit_spacing_small" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintLeft_toRightOf="@id/uikit_chat_guideline" app:layout_constraintRight_toRightOf="parent" app:layout_constraintStart_toEndOf="@id/uikit_chat_guideline" app:layout_constraintTop_toBottomOf="@id/chat_list_adapter_item_text_header" style="@style/UiKit.Chat.Text" />
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
\ No newline at end of file
|
||||||
|
--- 2,14 ----
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout android:background="?selectableItemBackground" android:paddingTop="10.0dip" android:paddingRight="@dimen/chat_cell_horizontal_spacing_padding" android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingEnd="@dimen/chat_cell_horizontal_spacing_padding"
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
|
<androidx.constraintlayout.widget.Guideline android:id="@id/uikit_chat_guideline" style="@style/UiKit.Chat.Guideline" />
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout android:id="@id/chat_list_adapter_item_text_header" android:layout_width="wrap_content" android:layout_height="0.0dip" app:layout_constrainedWidth="true" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintLeft_toRightOf="@id/uikit_chat_guideline" app:layout_constraintRight_toRightOf="parent" app:layout_constraintStart_toEndOf="@id/uikit_chat_guideline" app:layout_constraintTop_toTopOf="@id/chat_list_adapter_item_text_avatar">
|
||||||
|
<TextView android:textColor="?theme_chat_name" android:id="@id/chat_list_adapter_item_text_name" android:lineSpacingMultiplier="1.0" app:layout_constrainedWidth="true" app:layout_constraintBaseline_toBaselineOf="@id/chat_list_adapter_item_text_bot" app:layout_constraintEnd_toStartOf="@id/chat_list_adapter_item_text_bot" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintHorizontal_chainStyle="packed" app:layout_constraintStart_toStartOf="parent" style="@style/UiKit.TextView.Large.SingleLine" />
|
||||||
|
+
|
||||||
|
<TextView android:textSize="9.5sp" android:textColor="@color/white" android:id="@id/chat_list_adapter_item_text_bot" android:background="@drawable/drawable_button_purple_neutral" android:paddingLeft="3.0dip" android:paddingTop="0.5dip" android:paddingRight="3.0dip" android:paddingBottom="0.5dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="6.0dip" android:layout_marginBottom="1.0dip" android:text="BOT" android:singleLine="true" android:layout_marginStart="6.0dip" app:layout_constraintEnd_toStartOf="@id/chat_list_adapter_item_text_timestamp" app:layout_constraintStart_toEndOf="@id/chat_list_adapter_item_text_name" style="@style/UiKit.TextView" />
|
||||||
|
+
|
||||||
|
<TextView android:textSize="@dimen/uikit_textsize_small" android:textColor="?theme_chat_timestamp" android:gravity="center_vertical" android:id="@id/chat_list_adapter_item_text_timestamp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="6.0dip" android:layout_marginBottom="1.0dip" android:maxWidth="150.0dip" android:singleLine="true" android:layout_marginStart="6.0dip" app:layout_constraintBaseline_toBaselineOf="@id/chat_list_adapter_item_text_name" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@id/chat_list_adapter_item_text_bot" style="@style/UiKit.TextView" />
|
||||||
|
+
|
||||||
|
+ <com.discord.utilities.view.text.LinkifiedTextView android:id="@id/chat_list_adapter_item_text" app:layout_constrainedWidth="true" android:layout_marginLeft="6.0dip" android:layout_marginBottom="1.0dip" android:layout_marginStart="6.0dip" app:layout_constraintStart_toEndOf="@id/chat_list_adapter_item_text_timestamp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintLeft_toRightOf="@id/chat_list_adapter_item_text_timestamp" app:layout_constraintRight_toRightOf="parent" style="@style/UiKit.Chat.Text" />
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
\ No newline at end of file
|
||||||
|
diff -crB -x dist -x build com.discord-836-testing/res/values/dimens.xml com.discord-836/res/values/dimens.xml
|
||||||
|
*** com.discord-836-testing/res/values/dimens.xml 2019-01-31 10:40:04.482615227 +0300
|
||||||
|
--- com.discord-836/res/values/dimens.xml 2019-01-31 10:41:29.889614538 +0300
|
||||||
|
***************
|
||||||
|
*** 330,337 ****
|
||||||
|
<dimen name="uikit_btn_padding_vertical">4.0dip</dimen>
|
||||||
|
<dimen name="uikit_btn_stroke_width">0.75dip</dimen>
|
||||||
|
<dimen name="uikit_btn_wrapped_min_width">96.0dip</dimen>
|
||||||
|
! <dimen name="uikit_guideline_chat">58.0dip</dimen>
|
||||||
|
! <dimen name="uikit_guideline_chat_embed">62.0dip</dimen>
|
||||||
|
<dimen name="uikit_guideline_item_row">48.0dip</dimen>
|
||||||
|
<dimen name="uikit_guideline_sheet">72.0dip</dimen>
|
||||||
|
<dimen name="uikit_image_border_size">3.0dip</dimen>
|
||||||
|
--- 330,337 ----
|
||||||
|
<dimen name="uikit_btn_padding_vertical">4.0dip</dimen>
|
||||||
|
<dimen name="uikit_btn_stroke_width">0.75dip</dimen>
|
||||||
|
<dimen name="uikit_btn_wrapped_min_width">96.0dip</dimen>
|
||||||
|
! <dimen name="uikit_guideline_chat">20.0dip</dimen>
|
||||||
|
! <dimen name="uikit_guideline_chat_embed">24.0dip</dimen>
|
||||||
|
<dimen name="uikit_guideline_item_row">48.0dip</dimen>
|
||||||
|
<dimen name="uikit_guideline_sheet">72.0dip</dimen>
|
||||||
|
<dimen name="uikit_image_border_size">3.0dip</dimen>
|
||||||
|
|
|
@ -8,4 +8,5 @@ This patch, when combined with `smalltime` patch, emulates the "compact"/"irc" t
|
||||||
- 8.3.5g
|
- 8.3.5g
|
||||||
- 8.3.6g
|
- 8.3.6g
|
||||||
- 8.3.9g
|
- 8.3.9g
|
||||||
|
- 8.4.1g
|
||||||
|
|
||||||
|
|
253
patches/customtheme/841.patch
Normal file
253
patches/customtheme/841.patch
Normal file
|
@ -0,0 +1,253 @@
|
||||||
|
diff -crB -x dist -x build com.discord-839-testing/res/values/colors.xml com.discord-839/res/values/colors.xml
|
||||||
|
*** com.discord-839-testing/res/values/colors.xml 2019-02-03 09:37:05.666595490 +0300
|
||||||
|
--- com.discord-839/res/values/colors.xml 2019-02-03 09:45:12.648033297 +0300
|
||||||
|
***************
|
||||||
|
*** 61,68 ****
|
||||||
|
<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>
|
||||||
|
--- 61,68 ----
|
||||||
|
<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_alpha_05">#0d4f545c</color>
|
||||||
|
<color name="grey_6_alpha_30">#4d4f545c</color>
|
||||||
|
<color name="grey_6_alpha_60">#994f545c</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_alpha_05">#0d4f545c</color>
|
||||||
|
<color name="grey_6_alpha_30">#4d4f545c</color>
|
||||||
|
<color name="grey_6_alpha_60">#994f545c</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>
|
||||||
|
***************
|
||||||
|
*** 109,123 ****
|
||||||
|
<color name="hypesquad_house3">#ff45ddc0</color>
|
||||||
|
<color name="icon_color_light">#ff93a5af</color>
|
||||||
|
<color name="league_of_legends">#ff021f25</color>
|
||||||
|
! <color name="link_100">#fff2fbfe</color>
|
||||||
|
! <color name="link_200">#ffcceffd</color>
|
||||||
|
! <color name="link_300">#ff99dffb</color>
|
||||||
|
! <color name="link_400">#ff33c0f6</color>
|
||||||
|
! <color name="link_500">#ff00b0f4</color>
|
||||||
|
! <color name="link_600">#ff0078a6</color>
|
||||||
|
! <color name="link_700">#ff004662</color>
|
||||||
|
! <color name="link_800">#ff003549</color>
|
||||||
|
! <color name="link_900">#ff00090c</color>
|
||||||
|
<color name="material_blue_grey_800">#ff37474f</color>
|
||||||
|
<color name="material_blue_grey_900">#ff263238</color>
|
||||||
|
<color name="material_blue_grey_950">#ff21272b</color>
|
||||||
|
--- 109,123 ----
|
||||||
|
<color name="hypesquad_house3">#ff45ddc0</color>
|
||||||
|
<color name="icon_color_light">#ff93a5af</color>
|
||||||
|
<color name="league_of_legends">#ff021f25</color>
|
||||||
|
! <color name="link_100">#ff8cf687</color>
|
||||||
|
! <color name="link_200">#ff7df577</color>
|
||||||
|
! <color name="link_300">#ff6ef368</color>
|
||||||
|
! <color name="link_400">#ff5ff258</color>
|
||||||
|
! <color name="link_500">#ff50f148</color>
|
||||||
|
! <color name="link_600">#ff41f038</color>
|
||||||
|
! <color name="link_700">#ff32ef28</color>
|
||||||
|
! <color name="link_800">#ff23ed19</color>
|
||||||
|
! <color name="link_900">#ff1be411</color>
|
||||||
|
<color name="material_blue_grey_800">#ff37474f</color>
|
||||||
|
<color name="material_blue_grey_900">#ff263238</color>
|
||||||
|
<color name="material_blue_grey_950">#ff21272b</color>
|
||||||
|
***************
|
||||||
|
*** 159,176 ****
|
||||||
|
<color name="primary_400_alpha_30">#4d7d8187</color>
|
||||||
|
<color name="primary_400_alpha_60">#997d8187</color>
|
||||||
|
<color name="primary_400_alpha_90">#e67d8187</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_500_alpha_90">#e64f545c</color>
|
||||||
|
! <color name="primary_600">#ff36393f</color>
|
||||||
|
! <color name="primary_600_alpha_30">#4d36393f</color>
|
||||||
|
! <color name="primary_600_alpha_60">#9936393f</color>
|
||||||
|
! <color name="primary_600_alpha_90">#e636393f</color>
|
||||||
|
! <color name="primary_630">#ff2f3136</color>
|
||||||
|
! <color name="primary_630_alpha_30">#4d2f3136</color>
|
||||||
|
! <color name="primary_630_alpha_60">#992f3136</color>
|
||||||
|
! <color name="primary_630_alpha_90">#e62f3136</color>
|
||||||
|
<color name="primary_700">#ff202225</color>
|
||||||
|
<color name="primary_700_alpha_30">#4d202225</color>
|
||||||
|
<color name="primary_700_alpha_60">#99202225</color>
|
||||||
|
--- 159,176 ----
|
||||||
|
<color name="primary_400_alpha_30">#4d7d8187</color>
|
||||||
|
<color name="primary_400_alpha_60">#997d8187</color>
|
||||||
|
<color name="primary_400_alpha_90">#e67d8187</color>
|
||||||
|
! <color name="primary_500">#ff0f0f0f</color>
|
||||||
|
! <color name="primary_500_alpha_30">#4d0f0f0f</color>
|
||||||
|
! <color name="primary_500_alpha_60">#990f0f0f</color>
|
||||||
|
! <color name="primary_500_alpha_90">#e60f0f0f</color>
|
||||||
|
! <color name="primary_600">#ff000000</color>
|
||||||
|
! <color name="primary_600_alpha_30">#4d000000</color>
|
||||||
|
! <color name="primary_600_alpha_60">#99000000</color>
|
||||||
|
! <color name="primary_600_alpha_90">#e6000000</color>
|
||||||
|
! <color name="primary_630">#ff000000</color>
|
||||||
|
! <color name="primary_630_alpha_30">#4d000000</color>
|
||||||
|
! <color name="primary_630_alpha_60">#99000000</color>
|
||||||
|
! <color name="primary_630_alpha_90">#e6000000</color>
|
||||||
|
<color name="primary_700">#ff202225</color>
|
||||||
|
<color name="primary_700_alpha_30">#4d202225</color>
|
||||||
|
<color name="primary_700_alpha_60">#99202225</color>
|
||||||
|
***************
|
||||||
|
*** 191,198 ****
|
||||||
|
<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>
|
||||||
|
--- 191,198 ----
|
||||||
|
<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">#ff697ec4</color>
|
||||||
|
<color name="purple_brand_hint">#ffc9d2f0</color>
|
||||||
|
<color name="purple_brand_notification">#ff5161ff</color>
|
||||||
|
diff -crB -x dist -x build com.discord-839-testing/res/values/styles.xml com.discord-839/res/values/styles.xml
|
||||||
|
*** com.discord-839-testing/res/values/styles.xml 2019-02-03 09:37:05.669928847 +0300
|
||||||
|
--- com.discord-839/res/values/styles.xml 2019-02-03 09:45:12.651366651 +0300
|
||||||
|
***************
|
||||||
|
*** 116,122 ****
|
||||||
|
<item name="colorPrimary">@color/primary_600</item>
|
||||||
|
<item name="colorPrimaryBg">@drawable/drawable_uikit_primary_600_bg_dark</item>
|
||||||
|
<item name="colorPrimaryCircle">@drawable/drawable_uikit_primary_600_circle</item>
|
||||||
|
! <item name="colorPrimaryDark">#ff2b2e31</item>
|
||||||
|
<item name="colorPrimaryDivider">@color/primary_500_alpha_60</item>
|
||||||
|
<item name="colorPrimaryTabs">@color/black_alpha_05</item>
|
||||||
|
<item name="dialogTheme">@style/AppTheme.Dark.Notice</item>
|
||||||
|
--- 116,122 ----
|
||||||
|
<item name="colorPrimary">@color/primary_600</item>
|
||||||
|
<item name="colorPrimaryBg">@drawable/drawable_uikit_primary_600_bg_dark</item>
|
||||||
|
<item name="colorPrimaryCircle">@drawable/drawable_uikit_primary_600_circle</item>
|
||||||
|
! <item name="colorPrimaryDark">@color/primary_630</item>
|
||||||
|
<item name="colorPrimaryDivider">@color/primary_500_alpha_60</item>
|
||||||
|
<item name="colorPrimaryTabs">@color/black_alpha_05</item>
|
||||||
|
<item name="dialogTheme">@style/AppTheme.Dark.Notice</item>
|
||||||
|
***************
|
||||||
|
*** 323,329 ****
|
||||||
|
<item name="tabSelectedTextColor">@color/white</item>
|
||||||
|
<item name="tabTextColor">@color/white_alpha_40</item>
|
||||||
|
<item name="theme_backspace_icon">@drawable/ic_backspace_white_24dp</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>
|
||||||
|
--- 323,329 ----
|
||||||
|
<item name="tabSelectedTextColor">@color/white</item>
|
||||||
|
<item name="tabTextColor">@color/white_alpha_40</item>
|
||||||
|
<item name="theme_backspace_icon">@drawable/ic_backspace_white_24dp</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>
|
||||||
|
***************
|
||||||
|
*** 337,348 ****
|
||||||
|
<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_name">@color/white</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>
|
||||||
|
--- 337,348 ----
|
||||||
|
<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_name">@color/white</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>
|
||||||
|
***************
|
||||||
|
*** 407,413 ****
|
||||||
|
<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>
|
||||||
|
--- 407,413 ----
|
||||||
|
<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>
|
||||||
|
***************
|
||||||
|
*** 439,445 ****
|
||||||
|
<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>
|
||||||
|
--- 439,445 ----
|
||||||
|
<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 -x dist -x build com.discord-839-testing/smali/com/discord/app/AppActivity$e.smali com.discord-839/smali/com/discord/app/AppActivity$e.smali
|
||||||
|
*** com.discord-839-testing/smali/com/discord/app/AppActivity$e.smali 2019-02-03 09:37:05.746596066 +0300
|
||||||
|
--- com.discord-839/smali/com/discord/app/AppActivity$e.smali 2019-02-03 09:45:12.651366651 +0300
|
||||||
|
***************
|
||||||
|
*** 123,129 ****
|
||||||
|
|
||||||
|
check-cast v0, Landroid/app/Activity;
|
||||||
|
|
||||||
|
! const v1, 0x7f060136
|
||||||
|
|
||||||
|
invoke-static {v0, v1}, Lcom/discord/utilities/color/ColorCompat;->setStatusBarColorResourceId(Landroid/app/Activity;I)V
|
||||||
|
|
||||||
|
--- 123,129 ----
|
||||||
|
|
||||||
|
check-cast v0, Landroid/app/Activity;
|
||||||
|
|
||||||
|
! const v1, 0x7f0600d3
|
||||||
|
|
||||||
|
invoke-static {v0, v1}, Lcom/discord/utilities/color/ColorCompat;->setStatusBarColorResourceId(Landroid/app/Activity;I)V
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,7 @@ Run `fixsplash.sh <full path of asset_loading.png>` to fix the splash.
|
||||||
- 8.3.5g
|
- 8.3.5g
|
||||||
- 8.3.6g
|
- 8.3.6g
|
||||||
- 8.3.9g
|
- 8.3.9g
|
||||||
|
- 8.4.1g
|
||||||
|
|
||||||
#### Value reference
|
#### Value reference
|
||||||
|
|
||||||
|
|
21
patches/customversion/841.patch
Normal file
21
patches/customversion/841.patch
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
diff -crB -x dist -x build com.discord-836-testing/smali/com/discord/widgets/settings/WidgetSettings.smali com.discord-836/smali/com/discord/widgets/settings/WidgetSettings.smali
|
||||||
|
*** com.discord-836-testing/smali/com/discord/widgets/settings/WidgetSettings.smali 2019-01-31 10:40:04.892616823 +0300
|
||||||
|
--- com.discord-836/smali/com/discord/widgets/settings/WidgetSettings.smali 2019-01-31 10:43:43.703480351 +0300
|
||||||
|
***************
|
||||||
|
*** 1323,1329 ****
|
||||||
|
|
||||||
|
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
! const-string v0, " - 8.4.1g (841)"
|
||||||
|
|
||||||
|
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
--- 1323,1329 ----
|
||||||
|
|
||||||
|
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
! const-string v0, " - 8.4.1g (841), with Cutthecord patches"
|
||||||
|
|
||||||
|
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
|
|
@ -11,4 +11,5 @@ This patch replaces version string and adds mention of cutthecord in the user se
|
||||||
- 8.3.5g
|
- 8.3.5g
|
||||||
- 8.3.6g
|
- 8.3.6g
|
||||||
- 8.3.9g
|
- 8.3.9g
|
||||||
|
- 8.4.1g
|
||||||
|
|
||||||
|
|
20
patches/disable-mobileindicator/841.patch
Normal file
20
patches/disable-mobileindicator/841.patch
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
*** com.discord-836-testing/smali/com/discord/utilities/analytics/AnalyticsUtils.smali 2019-01-31 10:40:04.842616629 +0300
|
||||||
|
--- com.discord-836/smali/com/discord/utilities/analytics/AnalyticsUtils.smali 2019-01-31 10:56:42.693534352 +0300
|
||||||
|
***************
|
||||||
|
*** 197,203 ****
|
||||||
|
|
||||||
|
const-string v1, "browser"
|
||||||
|
|
||||||
|
! const-string v2, "Discord Android"
|
||||||
|
|
||||||
|
.line 87
|
||||||
|
invoke-static {v1, v2}, Lkotlin/q;->m(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/Pair;
|
||||||
|
--- 197,203 ----
|
||||||
|
|
||||||
|
const-string v1, "browser"
|
||||||
|
|
||||||
|
! const-string v2, "Discord Client"
|
||||||
|
|
||||||
|
.line 87
|
||||||
|
invoke-static {v1, v2}, Lkotlin/q;->m(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/Pair;
|
||||||
|
|
|
@ -12,4 +12,5 @@ However, this causes some issues. See the `Bugs / Side effects` list below.
|
||||||
- 8.3.1
|
- 8.3.1
|
||||||
- 8.3.6g
|
- 8.3.6g
|
||||||
- 8.3.9g
|
- 8.3.9g
|
||||||
|
- 8.4.1g
|
||||||
|
|
||||||
|
|
153
patches/experiments/841.patch
Normal file
153
patches/experiments/841.patch
Normal file
|
@ -0,0 +1,153 @@
|
||||||
|
diff -crB -x dist -x build com.discord-836-testing/smali/com/discord/stores/StoreExperiments$ExperimentAndStaff.smali com.discord-836/smali/com/discord/stores/StoreExperiments$ExperimentAndStaff.smali
|
||||||
|
*** com.discord-836-testing/smali/com/discord/stores/StoreExperiments$ExperimentAndStaff.smali 2019-01-31 10:40:04.832616590 +0300
|
||||||
|
--- com.discord-836/smali/com/discord/stores/StoreExperiments$ExperimentAndStaff.smali 2019-01-31 10:46:57.884275454 +0300
|
||||||
|
***************
|
||||||
|
*** 212,219 ****
|
||||||
|
.method public final isStaff()Z
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
! .line 253
|
||||||
|
! iget-boolean v0, p0, Lcom/discord/stores/StoreExperiments$ExperimentAndStaff;->isStaff:Z
|
||||||
|
|
||||||
|
return v0
|
||||||
|
.end method
|
||||||
|
--- 212,218 ----
|
||||||
|
.method public final isStaff()Z
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
! const/4 v0, 0x1
|
||||||
|
|
||||||
|
return v0
|
||||||
|
.end method
|
||||||
|
diff -crB -x dist -x build com.discord-836-testing/smali/com/discord/stores/StoreExperiments$getExperimentalAlpha$1.smali com.discord-836/smali/com/discord/stores/StoreExperiments$getExperimentalAlpha$1.smali
|
||||||
|
*** com.discord-836-testing/smali/com/discord/stores/StoreExperiments$getExperimentalAlpha$1.smali 2019-01-31 10:40:04.832616590 +0300
|
||||||
|
--- com.discord-836/smali/com/discord/stores/StoreExperiments$getExperimentalAlpha$1.smali 2019-01-31 10:44:31.183674768 +0300
|
||||||
|
***************
|
||||||
|
*** 81,108 ****
|
||||||
|
.method public final call(Lcom/discord/models/domain/ModelUser;Lcom/discord/models/domain/ModelGuild;)Z
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
- const-string v0, "meUser"
|
||||||
|
-
|
||||||
|
- .line 93
|
||||||
|
- invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->g(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
|
||||||
|
-
|
||||||
|
- return p1
|
||||||
|
-
|
||||||
|
- :cond_1
|
||||||
|
- :goto_0
|
||||||
|
const/4 p1, 0x1
|
||||||
|
|
||||||
|
return p1
|
||||||
|
--- 81,86 ----
|
||||||
|
diff -crB -x dist -x build com.discord-836-testing/smali/com/discord/stores/StoreExperiments$getExperimentAndStaff$1.smali com.discord-836/smali/com/discord/stores/StoreExperiments$getExperimentAndStaff$1.smali
|
||||||
|
*** com.discord-836-testing/smali/com/discord/stores/StoreExperiments$getExperimentAndStaff$1.smali 2019-01-31 10:40:04.832616590 +0300
|
||||||
|
--- com.discord-836/smali/com/discord/stores/StoreExperiments$getExperimentAndStaff$1.smali 2019-01-31 10:44:31.183674768 +0300
|
||||||
|
***************
|
||||||
|
*** 77,90 ****
|
||||||
|
.method public final call(Lcom/discord/models/domain/ModelUser;)Z
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
! const-string v0, "it"
|
||||||
|
!
|
||||||
|
! .line 78
|
||||||
|
! invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
|
||||||
|
!
|
||||||
|
! invoke-virtual {p1}, Lcom/discord/models/domain/ModelUser;->isStaff()Z
|
||||||
|
!
|
||||||
|
! move-result p1
|
||||||
|
|
||||||
|
return p1
|
||||||
|
.end method
|
||||||
|
--- 77,83 ----
|
||||||
|
.method public final call(Lcom/discord/models/domain/ModelUser;)Z
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
! const/4 p1, 0x1
|
||||||
|
|
||||||
|
return p1
|
||||||
|
.end method
|
||||||
|
diff -crB -x dist -x build com.discord-836-testing/smali/com/discord/stores/StoreExperiments.smali com.discord-836/smali/com/discord/stores/StoreExperiments.smali
|
||||||
|
*** com.discord-836-testing/smali/com/discord/stores/StoreExperiments.smali 2019-01-31 10:40:04.832616590 +0300
|
||||||
|
--- com.discord-836/smali/com/discord/stores/StoreExperiments.smali 2019-01-31 10:44:31.183674768 +0300
|
||||||
|
***************
|
||||||
|
*** 1247,1255 ****
|
||||||
|
|
||||||
|
if-eqz v0, :cond_0
|
||||||
|
|
||||||
|
! invoke-virtual {v0}, Lcom/discord/models/domain/ModelUser$Me;->isStaff()Z
|
||||||
|
!
|
||||||
|
! move-result v0
|
||||||
|
|
||||||
|
if-eq v0, v1, :cond_1
|
||||||
|
|
||||||
|
--- 1247,1253 ----
|
||||||
|
|
||||||
|
if-eqz v0, :cond_0
|
||||||
|
|
||||||
|
! const/4 v0, 0x1
|
||||||
|
|
||||||
|
if-eq v0, v1, :cond_1
|
||||||
|
|
||||||
|
diff -crB -x dist -x build com.discord-836-testing/smali/com/discord/widgets/settings/WidgetSettingsAppearance$onViewBoundOrOnResume$1.smali com.discord-836/smali/com/discord/widgets/settings/WidgetSettingsAppearance$onViewBoundOrOnResume$1.smali
|
||||||
|
*** com.discord-836-testing/smali/com/discord/widgets/settings/WidgetSettingsAppearance$onViewBoundOrOnResume$1.smali 2019-01-31 10:40:04.895950170 +0300
|
||||||
|
--- com.discord-836/smali/com/discord/widgets/settings/WidgetSettingsAppearance$onViewBoundOrOnResume$1.smali 2019-01-31 10:44:31.183674768 +0300
|
||||||
|
***************
|
||||||
|
*** 71,83 ****
|
||||||
|
|
||||||
|
check-cast v0, Landroid/view/View;
|
||||||
|
|
||||||
|
! const-string v1, "it"
|
||||||
|
!
|
||||||
|
! invoke-static {p1, v1}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
|
||||||
|
!
|
||||||
|
! invoke-virtual {p1}, Lcom/discord/models/domain/ModelUser;->isStaff()Z
|
||||||
|
!
|
||||||
|
! move-result p1
|
||||||
|
|
||||||
|
invoke-static {v0, p1}, Lcom/discord/utilities/view/extensions/ViewExtensions;->setVisibilityBy(Landroid/view/View;Z)V
|
||||||
|
|
||||||
|
--- 71,77 ----
|
||||||
|
|
||||||
|
check-cast v0, Landroid/view/View;
|
||||||
|
|
||||||
|
! const/4 p1, 0x1
|
||||||
|
|
||||||
|
invoke-static {v0, p1}, Lcom/discord/utilities/view/extensions/ViewExtensions;->setVisibilityBy(Landroid/view/View;Z)V
|
||||||
|
|
||||||
|
diff -crB -x dist -x build com.discord-836-testing/smali/com/discord/widgets/settings/WidgetSettings.smali com.discord-836/smali/com/discord/widgets/settings/WidgetSettings.smali
|
||||||
|
*** com.discord-836-testing/smali/com/discord/widgets/settings/WidgetSettings.smali 2019-01-31 10:40:04.892616823 +0300
|
||||||
|
--- com.discord-836/smali/com/discord/widgets/settings/WidgetSettings.smali 2019-01-31 10:44:31.187008115 +0300
|
||||||
|
***************
|
||||||
|
*** 711,719 ****
|
||||||
|
|
||||||
|
if-eqz v0, :cond_1
|
||||||
|
|
||||||
|
! invoke-virtual {v0}, Lcom/discord/models/domain/ModelUser;->isStaff()Z
|
||||||
|
!
|
||||||
|
! move-result v0
|
||||||
|
|
||||||
|
if-eq v0, v2, :cond_0
|
||||||
|
|
||||||
|
--- 711,717 ----
|
||||||
|
|
||||||
|
if-eqz v0, :cond_1
|
||||||
|
|
||||||
|
! const/4 v0, 0x1
|
||||||
|
|
||||||
|
if-eq v0, v2, :cond_0
|
||||||
|
|
||||||
|
|
|
@ -14,4 +14,5 @@ Conflicts with pureevil as it's included here.
|
||||||
- 8.3.5g
|
- 8.3.5g
|
||||||
- 8.3.6g
|
- 8.3.6g
|
||||||
- 8.3.9g
|
- 8.3.9g
|
||||||
|
- 8.4.1g
|
||||||
|
|
||||||
|
|
334
patches/litecord/841.patch
Normal file
334
patches/litecord/841.patch
Normal file
|
@ -0,0 +1,334 @@
|
||||||
|
diff -crB -x dist -x build com.discord-834-base/smali/com/discord/app/App.smali com.discord-834/smali/com/discord/app/App.smali
|
||||||
|
*** com.discord-834-base/smali/com/discord/app/App.smali 2019-01-23 23:17:43.004493819 +0300
|
||||||
|
--- com.discord-834/smali/com/discord/app/App.smali 2019-01-23 23:27:49.444269345 +0300
|
||||||
|
***************
|
||||||
|
*** 218,224 ****
|
||||||
|
|
||||||
|
invoke-virtual {v0, v1}, Lcom/discord/utilities/view/text/LinkifiedTextView$Companion;->init(Lkotlin/jvm/functions/Function2;)Lkotlin/Unit;
|
||||||
|
|
||||||
|
! const-string v0, "https://cdn.discordapp.com"
|
||||||
|
|
||||||
|
.line 75
|
||||||
|
invoke-static {v0}, Lcom/discord/models/domain/emoji/ModelEmojiCustom;->setCdnUri(Ljava/lang/String;)V
|
||||||
|
--- 218,224 ----
|
||||||
|
|
||||||
|
invoke-virtual {v0, v1}, Lcom/discord/utilities/view/text/LinkifiedTextView$Companion;->init(Lkotlin/jvm/functions/Function2;)Lkotlin/Unit;
|
||||||
|
|
||||||
|
! const-string v0, "https://dev.litecord.top"
|
||||||
|
|
||||||
|
.line 75
|
||||||
|
invoke-static {v0}, Lcom/discord/models/domain/emoji/ModelEmojiCustom;->setCdnUri(Ljava/lang/String;)V
|
||||||
|
diff -crB -x dist -x build com.discord-834-base/smali/com/discord/BuildConfig.smali com.discord-834/smali/com/discord/BuildConfig.smali
|
||||||
|
*** com.discord-834-base/smali/com/discord/BuildConfig.smali 2019-01-23 23:17:43.001160471 +0300
|
||||||
|
--- com.discord-834/smali/com/discord/BuildConfig.smali 2019-01-23 23:27:49.444269345 +0300
|
||||||
|
***************
|
||||||
|
*** 16,30 ****
|
||||||
|
|
||||||
|
.field public static final FLAVOR_internalExternal:Ljava/lang/String; = "external"
|
||||||
|
|
||||||
|
! .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; = ""
|
||||||
|
|
||||||
|
--- 16,30 ----
|
||||||
|
|
||||||
|
.field public static final FLAVOR_internalExternal:Ljava/lang/String; = "external"
|
||||||
|
|
||||||
|
! .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 -x dist -x build com.discord-834-base/smali/com/discord/gateway/GatewaySocket.smali com.discord-834/smali/com/discord/gateway/GatewaySocket.smali
|
||||||
|
*** com.discord-834-base/smali/com/discord/gateway/GatewaySocket.smali 2019-01-23 23:17:43.041160653 +0300
|
||||||
|
--- com.discord-834/smali/com/discord/gateway/GatewaySocket.smali 2019-01-23 23:27:49.444269345 +0300
|
||||||
|
***************
|
||||||
|
*** 32,38 ****
|
||||||
|
|
||||||
|
.field private static final DISCOVERING:I = 0x1
|
||||||
|
|
||||||
|
! .field private static final GATEWAY_COMPRESSION:Ljava/lang/String; = "zlib-stream"
|
||||||
|
|
||||||
|
.field private static final GATEWAY_ENCODING:Ljava/lang/String; = "json"
|
||||||
|
|
||||||
|
--- 32,38 ----
|
||||||
|
|
||||||
|
.field private static final DISCOVERING:I = 0x1
|
||||||
|
|
||||||
|
! .field private static final GATEWAY_COMPRESSION:Ljava/lang/String; = ""
|
||||||
|
|
||||||
|
.field private static final GATEWAY_ENCODING:Ljava/lang/String; = "json"
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 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-834/smali/com/discord/gateway: GatewaySocket.smali.orig
|
||||||
|
diff -crB -x dist -x build com.discord-834-base/smali/com/discord/stores/StoreGatewayConnection.smali com.discord-834/smali/com/discord/stores/StoreGatewayConnection.smali
|
||||||
|
*** com.discord-834-base/smali/com/discord/stores/StoreGatewayConnection.smali 2019-01-23 23:17:43.221161471 +0300
|
||||||
|
--- com.discord-834/smali/com/discord/stores/StoreGatewayConnection.smali 2019-01-23 23:28:19.534418022 +0300
|
||||||
|
***************
|
||||||
|
*** 1413,1419 ****
|
||||||
|
.line 290
|
||||||
|
new-instance v10, Lcom/discord/gateway/rest/RestConfig;
|
||||||
|
|
||||||
|
! const-string v3, "https://discordapp.com/api/"
|
||||||
|
|
||||||
|
sget-object v4, Lcom/discord/utilities/rest/RestAPI$AppHeadersProvider;->INSTANCE:Lcom/discord/utilities/rest/RestAPI$AppHeadersProvider;
|
||||||
|
|
||||||
|
--- 1413,1419 ----
|
||||||
|
.line 290
|
||||||
|
new-instance v10, Lcom/discord/gateway/rest/RestConfig;
|
||||||
|
|
||||||
|
! const-string v3, "https://dev.litecord.top/api/"
|
||||||
|
|
||||||
|
sget-object v4, Lcom/discord/utilities/rest/RestAPI$AppHeadersProvider;->INSTANCE:Lcom/discord/utilities/rest/RestAPI$AppHeadersProvider;
|
||||||
|
|
||||||
|
Only in com.discord-834/smali/com/discord/stores: StoreGatewayConnection.smali.orig
|
||||||
|
diff -crB -x dist -x build com.discord-834-base/smali/com/discord/utilities/icon/IconUtils.smali com.discord-834/smali/com/discord/utilities/icon/IconUtils.smali
|
||||||
|
*** com.discord-834-base/smali/com/discord/utilities/icon/IconUtils.smali 2019-01-23 23:17:43.417829030 +0300
|
||||||
|
--- com.discord-834/smali/com/discord/utilities/icon/IconUtils.smali 2019-01-23 23:27:49.450936045 +0300
|
||||||
|
***************
|
||||||
|
*** 359,365 ****
|
||||||
|
goto :goto_2
|
||||||
|
|
||||||
|
:cond_1
|
||||||
|
! const-string p3, "https://cdn.discordapp.com"
|
||||||
|
|
||||||
|
.line 103
|
||||||
|
check-cast p3, Ljava/lang/CharSequence;
|
||||||
|
--- 359,365 ----
|
||||||
|
goto :goto_2
|
||||||
|
|
||||||
|
:cond_1
|
||||||
|
! const-string p3, "https://dev.litecord.top"
|
||||||
|
|
||||||
|
.line 103
|
||||||
|
check-cast p3, Ljava/lang/CharSequence;
|
||||||
|
***************
|
||||||
|
*** 407,413 ****
|
||||||
|
:cond_3
|
||||||
|
new-instance p3, Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
! const-string v0, "https://cdn.discordapp.com/channel-icons/"
|
||||||
|
|
||||||
|
invoke-direct {p3, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
||||||
|
|
||||||
|
--- 407,413 ----
|
||||||
|
:cond_3
|
||||||
|
new-instance p3, Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
! const-string v0, "https://dev.litecord.top/channel-icons/"
|
||||||
|
|
||||||
|
invoke-direct {p3, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 649,655 ****
|
||||||
|
goto :goto_1
|
||||||
|
|
||||||
|
:cond_0
|
||||||
|
! const-string p2, "https://cdn.discordapp.com"
|
||||||
|
|
||||||
|
.line 135
|
||||||
|
check-cast p2, Ljava/lang/CharSequence;
|
||||||
|
--- 649,655 ----
|
||||||
|
goto :goto_1
|
||||||
|
|
||||||
|
:cond_0
|
||||||
|
! const-string p2, "https://dev.litecord.top"
|
||||||
|
|
||||||
|
.line 135
|
||||||
|
check-cast p2, Ljava/lang/CharSequence;
|
||||||
|
***************
|
||||||
|
*** 699,705 ****
|
||||||
|
:cond_2
|
||||||
|
new-instance p2, Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
! const-string v0, "https://cdn.discordapp.com/icons/"
|
||||||
|
|
||||||
|
invoke-direct {p2, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
||||||
|
|
||||||
|
--- 699,705 ----
|
||||||
|
:cond_2
|
||||||
|
new-instance p2, Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
! const-string v0, "https://dev.litecord.top/icons/"
|
||||||
|
|
||||||
|
invoke-direct {p2, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 900,906 ****
|
||||||
|
:cond_0
|
||||||
|
if-eqz p1, :cond_4
|
||||||
|
|
||||||
|
! const-string p2, "https://cdn.discordapp.com"
|
||||||
|
|
||||||
|
.line 82
|
||||||
|
check-cast p2, Ljava/lang/CharSequence;
|
||||||
|
--- 900,906 ----
|
||||||
|
:cond_0
|
||||||
|
if-eqz p1, :cond_4
|
||||||
|
|
||||||
|
! const-string p2, "https://dev.litecord.top"
|
||||||
|
|
||||||
|
.line 82
|
||||||
|
check-cast p2, Ljava/lang/CharSequence;
|
||||||
|
***************
|
||||||
|
*** 969,975 ****
|
||||||
|
:goto_1
|
||||||
|
new-instance p3, Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
! const-string v0, "https://cdn.discordapp.com/avatars/"
|
||||||
|
|
||||||
|
invoke-direct {p3, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
||||||
|
|
||||||
|
--- 969,975 ----
|
||||||
|
:goto_1
|
||||||
|
new-instance p3, Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
! const-string v0, "https://dev.litecord.top/avatars/"
|
||||||
|
|
||||||
|
invoke-direct {p3, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 1717,1723 ****
|
||||||
|
.line 176
|
||||||
|
new-instance v0, Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
! const-string v1, "https://cdn.discordapp.com/game-assets/"
|
||||||
|
|
||||||
|
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
||||||
|
|
||||||
|
--- 1717,1723 ----
|
||||||
|
.line 176
|
||||||
|
new-instance v0, Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
! const-string v1, "https://dev.litecord.top/game-assets/"
|
||||||
|
|
||||||
|
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 1837,1843 ****
|
||||||
|
.line 157
|
||||||
|
new-instance v0, Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
! const-string v1, "https://cdn.discordapp.com/app-assets/"
|
||||||
|
|
||||||
|
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
||||||
|
|
||||||
|
--- 1837,1843 ----
|
||||||
|
.line 157
|
||||||
|
new-instance v0, Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
! const-string v1, "https://dev.litecord.top/app-assets/"
|
||||||
|
|
||||||
|
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
||||||
|
|
||||||
|
diff -crB -x dist -x build com.discord-834-base/smali/com/discord/utilities/rest/RestAPI$Companion.smali com.discord-834/smali/com/discord/utilities/rest/RestAPI$Companion.smali
|
||||||
|
*** com.discord-834-base/smali/com/discord/utilities/rest/RestAPI$Companion.smali 2019-01-23 23:17:43.447829167 +0300
|
||||||
|
--- com.discord-834/smali/com/discord/utilities/rest/RestAPI$Companion.smali 2019-01-23 23:27:49.450936045 +0300
|
||||||
|
***************
|
||||||
|
*** 276,282 ****
|
||||||
|
.line 213
|
||||||
|
new-instance v0, Lcom/discord/restapi/RestAPIBuilder;
|
||||||
|
|
||||||
|
! const-string v9, "https://discordapp.com/api/"
|
||||||
|
|
||||||
|
check-cast v6, Lokhttp3/m;
|
||||||
|
|
||||||
|
--- 276,282 ----
|
||||||
|
.line 213
|
||||||
|
new-instance v0, Lcom/discord/restapi/RestAPIBuilder;
|
||||||
|
|
||||||
|
! const-string v9, "https://dev.litecord.top/api/"
|
||||||
|
|
||||||
|
check-cast v6, Lokhttp3/m;
|
||||||
|
|
||||||
|
diff -crB -x dist -x build com.discord-834-base/smali/com/discord/utilities/textprocessing/Rules$createCustomEmojiRule$1$parse$emojiNode$1.smali com.discord-834/smali/com/discord/utilities/textprocessing/Rules$createCustomEmojiRule$1$parse$emojiNode$1.smali
|
||||||
|
*** com.discord-834-base/smali/com/discord/utilities/textprocessing/Rules$createCustomEmojiRule$1$parse$emojiNode$1.smali 2019-01-23 23:17:43.477829303 +0300
|
||||||
|
--- com.discord-834/smali/com/discord/utilities/textprocessing/Rules$createCustomEmojiRule$1$parse$emojiNode$1.smali 2019-01-23 23:27:49.450936045 +0300
|
||||||
|
***************
|
||||||
|
*** 105,111 ****
|
||||||
|
:goto_1
|
||||||
|
new-instance p2, Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
! const-string v0, "https://cdn.discordapp.com/emojis/"
|
||||||
|
|
||||||
|
invoke-direct {p2, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
||||||
|
|
||||||
|
--- 105,111 ----
|
||||||
|
:goto_1
|
||||||
|
new-instance p2, Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
! const-string v0, "https://dev.litecord.top/emojis/"
|
||||||
|
|
||||||
|
invoke-direct {p2, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
||||||
|
|
||||||
|
diff -crB -x dist -x build com.discord-834-base/smali/com/discord/widgets/chat/list/WidgetChatListAdapterItemGameInvite.smali com.discord-834/smali/com/discord/widgets/chat/list/WidgetChatListAdapterItemGameInvite.smali
|
||||||
|
*** com.discord-834-base/smali/com/discord/widgets/chat/list/WidgetChatListAdapterItemGameInvite.smali 2019-01-23 23:17:43.607829894 +0300
|
||||||
|
--- com.discord-834/smali/com/discord/widgets/chat/list/WidgetChatListAdapterItemGameInvite.smali 2019-01-23 23:27:49.450936045 +0300
|
||||||
|
***************
|
||||||
|
*** 605,611 ****
|
||||||
|
.line 104
|
||||||
|
new-instance v1, Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
! const-string v6, "https://cdn.discordapp.com/app-icons/"
|
||||||
|
|
||||||
|
invoke-direct {v1, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
||||||
|
|
||||||
|
--- 605,611 ----
|
||||||
|
.line 104
|
||||||
|
new-instance v1, Ljava/lang/StringBuilder;
|
||||||
|
|
||||||
|
! const-string v6, "https://dev.litecord.top/app-icons/"
|
||||||
|
|
||||||
|
invoke-direct {v1, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
||||||
|
|
||||||
|
diff -crB -x dist -x build com.discord-834-base/smali/com/discord/widgets/chat/list/WidgetChatListAdapterItemGift.smali com.discord-834/smali/com/discord/widgets/chat/list/WidgetChatListAdapterItemGift.smali
|
||||||
|
*** com.discord-834-base/smali/com/discord/widgets/chat/list/WidgetChatListAdapterItemGift.smali 2019-01-23 23:17:43.614496591 +0300
|
||||||
|
--- com.discord-834/smali/com/discord/widgets/chat/list/WidgetChatListAdapterItemGift.smali 2019-01-23 23:27:49.450936045 +0300
|
||||||
|
***************
|
||||||
|
*** 1042,1048 ****
|
||||||
|
:goto_3
|
||||||
|
sget-object v10, Lcom/discord/utilities/icon/IconUtils;->INSTANCE:Lcom/discord/utilities/icon/IconUtils;
|
||||||
|
|
||||||
|
! const-string v11, "https://cdn.discordapp.com"
|
||||||
|
|
||||||
|
.line 116
|
||||||
|
invoke-virtual/range {p1 .. p1}, Lcom/discord/widgets/chat/list/WidgetChatListAdapterItemGift$Model$Resolved;->getGift()Lcom/discord/models/domain/ModelGift;
|
||||||
|
--- 1042,1048 ----
|
||||||
|
:goto_3
|
||||||
|
sget-object v10, Lcom/discord/utilities/icon/IconUtils;->INSTANCE:Lcom/discord/utilities/icon/IconUtils;
|
||||||
|
|
||||||
|
! const-string v11, "https://dev.litecord.top"
|
||||||
|
|
||||||
|
.line 116
|
||||||
|
invoke-virtual/range {p1 .. p1}, Lcom/discord/widgets/chat/list/WidgetChatListAdapterItemGift$Model$Resolved;->getGift()Lcom/discord/models/domain/ModelGift;
|
|
@ -18,4 +18,5 @@ Conflicts with nozlib as it's included here.
|
||||||
- 8.3.5g
|
- 8.3.5g
|
||||||
- 8.3.6g
|
- 8.3.6g
|
||||||
- 8.3.9g
|
- 8.3.9g
|
||||||
|
- 8.4.1g
|
||||||
|
|
||||||
|
|
1907
patches/mutant/841.patch
Normal file
1907
patches/mutant/841.patch
Normal file
File diff suppressed because it is too large
Load diff
|
@ -23,6 +23,7 @@ Various scripts are provided to help building of custom patches easier.
|
||||||
- 8.3.5g
|
- 8.3.5g
|
||||||
- 8.3.6g
|
- 8.3.6g
|
||||||
- 8.3.9g
|
- 8.3.9g
|
||||||
|
- 8.4.1g
|
||||||
|
|
||||||
#### Disclaimer
|
#### Disclaimer
|
||||||
|
|
||||||
|
|
13
patches/necessary/841.patch
Normal file
13
patches/necessary/841.patch
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
diff -crB -x dist com.discord-831/res/values/public.xml com.discord-831-patched/res/values/public.xml
|
||||||
|
*** com.discord-831/res/values/public.xml 2019-01-18 19:05:56.057972374 +0300
|
||||||
|
--- com.discord-831-patched/res/values/public.xml 2019-01-18 17:26:29.150818524 +0300
|
||||||
|
***************
|
||||||
|
*** 65,71 ****
|
||||||
|
<public type="animator" name="selection_grow" id="0x7f02000a" />
|
||||||
|
<public type="animator" name="selection_shrink" id="0x7f02000b" />
|
||||||
|
<public type="animator" name="design_appbar_state_list_animator" id="0x7f020000" />
|
||||||
|
- <public type="array" name="color_picker_palette" id="0x7f030000" />
|
||||||
|
<public type="attr" name="actionBarDivider" id="0x7f040000" />
|
||||||
|
<public type="attr" name="actionBarItemBackground" id="0x7f040001" />
|
||||||
|
<public type="attr" name="actionBarPopupTheme" id="0x7f040002" />
|
||||||
|
--- 65,70 ----
|
|
@ -12,6 +12,7 @@ If the version you're using is in the following list, please make sure to use th
|
||||||
- 8.3.5g
|
- 8.3.5g
|
||||||
- 8.3.6g
|
- 8.3.6g
|
||||||
- 8.3.9g
|
- 8.3.9g
|
||||||
|
- 8.4.1g
|
||||||
|
|
||||||
~~wow imagine leaving a value in that breaks repacking without this patch for 6 releases in a row, good shit discord~~
|
~~wow imagine leaving a value in that breaks repacking without this patch for 6 releases in a row, good shit discord~~
|
||||||
|
|
||||||
|
|
18
patches/noblocked/841.patch
Normal file
18
patches/noblocked/841.patch
Normal 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
|
|
@ -6,4 +6,5 @@ This patch completely hides the "# Blocked Message(s)" thing.
|
||||||
- 8.3.5g
|
- 8.3.5g
|
||||||
- 8.3.6g
|
- 8.3.6g
|
||||||
- 8.3.9g
|
- 8.3.9g
|
||||||
|
- 8.4.1g
|
||||||
|
|
||||||
|
|
87
patches/nonearby/841.patch
Normal file
87
patches/nonearby/841.patch
Normal file
|
@ -0,0 +1,87 @@
|
||||||
|
diff -crB -x dist -x build com.discord-833-base/smali/com/discord/widgets/friends/NearbyManager.smali com.discord-833/smali/com/discord/widgets/friends/NearbyManager.smali
|
||||||
|
*** com.discord-833-base/smali/com/discord/widgets/friends/NearbyManager.smali 2019-01-23 11:03:47.459035497 +0300
|
||||||
|
--- com.discord-833/smali/com/discord/widgets/friends/NearbyManager.smali 2019-01-23 11:23:00.200709501 +0300
|
||||||
|
***************
|
||||||
|
*** 440,512 ****
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public final activateNearby()V
|
||||||
|
! .locals 9
|
||||||
|
!
|
||||||
|
! .line 58
|
||||||
|
! iget-object v0, p0, Lcom/discord/widgets/friends/NearbyManager;->messagesClient:Lcom/google/android/gms/nearby/messages/MessagesClient;
|
||||||
|
!
|
||||||
|
! if-nez v0, :cond_0
|
||||||
|
!
|
||||||
|
! return-void
|
||||||
|
!
|
||||||
|
! .line 59
|
||||||
|
! :cond_0
|
||||||
|
! iget-object v1, p0, Lcom/discord/widgets/friends/NearbyManager;->outboundMessage:Lcom/google/android/gms/nearby/messages/Message;
|
||||||
|
!
|
||||||
|
! if-nez v1, :cond_1
|
||||||
|
!
|
||||||
|
! return-void
|
||||||
|
!
|
||||||
|
! .line 60
|
||||||
|
! :cond_1
|
||||||
|
! iget-object v2, p0, Lcom/discord/widgets/friends/NearbyManager;->messagePublishOptions:Lcom/google/android/gms/nearby/messages/PublishOptions;
|
||||||
|
!
|
||||||
|
! if-nez v2, :cond_2
|
||||||
|
!
|
||||||
|
! return-void
|
||||||
|
!
|
||||||
|
! .line 61
|
||||||
|
! :cond_2
|
||||||
|
! iget-object v3, p0, Lcom/discord/widgets/friends/NearbyManager;->messageListener:Lcom/google/android/gms/nearby/messages/MessageListener;
|
||||||
|
!
|
||||||
|
! if-nez v3, :cond_3
|
||||||
|
!
|
||||||
|
! return-void
|
||||||
|
!
|
||||||
|
! .line 62
|
||||||
|
! :cond_3
|
||||||
|
! iget-object v4, p0, Lcom/discord/widgets/friends/NearbyManager;->subscribeOptions:Lcom/google/android/gms/nearby/messages/SubscribeOptions;
|
||||||
|
!
|
||||||
|
! if-nez v4, :cond_4
|
||||||
|
!
|
||||||
|
! return-void
|
||||||
|
!
|
||||||
|
! .line 64
|
||||||
|
! :cond_4
|
||||||
|
! 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;
|
||||||
|
!
|
||||||
|
! check-cast v8, Ljava/util/Collection;
|
||||||
|
!
|
||||||
|
! invoke-direct {v7, v8}, Ljava/util/HashSet;-><init>(Ljava/util/Collection;)V
|
||||||
|
!
|
||||||
|
! check-cast v7, Ljava/util/Set;
|
||||||
|
!
|
||||||
|
! 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 66
|
||||||
|
! 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/g;
|
||||||
|
!
|
||||||
|
! .line 67
|
||||||
|
! 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/g;
|
||||||
|
!
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
--- 440,446 ----
|
||||||
|
|
||||||
|
# virtual methods
|
||||||
|
.method public final activateNearby()V
|
||||||
|
! .locals 0
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
|
||||||
|
|
|
@ -9,4 +9,5 @@ This patch nulls a bunch of nearby friends features for privacy.
|
||||||
- 8.3.5g
|
- 8.3.5g
|
||||||
- 8.3.6g
|
- 8.3.6g
|
||||||
- 8.3.9g
|
- 8.3.9g
|
||||||
|
- 8.4.1g
|
||||||
|
|
||||||
|
|
66
patches/nospoiler/841.patch
Normal file
66
patches/nospoiler/841.patch
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
diff -crB -x dist -x build com.discord-839-testing/smali/com/discord/models/domain/ModelMessageEmbed.smali com.discord-839/smali/com/discord/models/domain/ModelMessageEmbed.smali
|
||||||
|
*** com.discord-839-testing/smali/com/discord/models/domain/ModelMessageEmbed.smali 2019-02-03 09:37:05.753262781 +0300
|
||||||
|
--- com.discord-839/smali/com/discord/models/domain/ModelMessageEmbed.smali 2019-02-04 16:19:51.198580934 +0300
|
||||||
|
***************
|
||||||
|
*** 1908,1937 ****
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public isSpoilerAttachment()Z
|
||||||
|
! .locals 2
|
||||||
|
|
||||||
|
- .line 135
|
||||||
|
- 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
|
||||||
|
-
|
||||||
|
- return v0
|
||||||
|
-
|
||||||
|
- :cond_0
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
return v0
|
||||||
|
--- 1908,1915 ----
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public isSpoilerAttachment()Z
|
||||||
|
! .locals 1
|
||||||
|
|
||||||
|
const/4 v0, 0x0
|
||||||
|
|
||||||
|
return v0
|
||||||
|
diff -crB -x dist -x build com.discord-839-testing/smali/com/discord/utilities/textprocessing/node/SpoilerNode.smali com.discord-839/smali/com/discord/utilities/textprocessing/node/SpoilerNode.smali
|
||||||
|
*** com.discord-839-testing/smali/com/discord/utilities/textprocessing/node/SpoilerNode.smali 2019-02-03 09:37:05.789929711 +0300
|
||||||
|
--- com.discord-839/smali/com/discord/utilities/textprocessing/node/SpoilerNode.smali 2019-02-04 16:23:13.019478110 +0300
|
||||||
|
***************
|
||||||
|
*** 220,227 ****
|
||||||
|
.method public final isRevealed()Z
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
! .line 23
|
||||||
|
! iget-boolean v0, p0, Lcom/discord/utilities/textprocessing/node/SpoilerNode;->isRevealed:Z
|
||||||
|
|
||||||
|
return v0
|
||||||
|
.end method
|
||||||
|
--- 220,226 ----
|
||||||
|
.method public final isRevealed()Z
|
||||||
|
.locals 1
|
||||||
|
|
||||||
|
! const/4 v0, 0x1
|
||||||
|
|
||||||
|
return v0
|
||||||
|
.end method
|
||||||
|
|
|
@ -6,4 +6,5 @@ I personally won't be using it as I like to use them as CWs, but I do acknowledg
|
||||||
|
|
||||||
#### Available and tested on:
|
#### Available and tested on:
|
||||||
- 8.3.9g
|
- 8.3.9g
|
||||||
|
- 8.4.1g
|
||||||
|
|
||||||
|
|
2740
patches/notrack/841.patch
Normal file
2740
patches/notrack/841.patch
Normal file
File diff suppressed because it is too large
Load diff
|
@ -13,4 +13,5 @@ Fuck telemetry.
|
||||||
- 8.3.5g
|
- 8.3.5g
|
||||||
- 8.3.6g
|
- 8.3.6g
|
||||||
- 8.3.9g
|
- 8.3.9g
|
||||||
|
- 8.4.1g
|
||||||
|
|
||||||
|
|
18
patches/notyping/841.patch
Normal file
18
patches/notyping/841.patch
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
diff -crB -x dist -x build com.discord-836-base/smali/com/discord/widgets/chat/input/WidgetChatInputEditText$1.smali com.discord-836/smali/com/discord/widgets/chat/input/WidgetChatInputEditText$1.smali
|
||||||
|
*** com.discord-836-base/smali/com/discord/widgets/chat/input/WidgetChatInputEditText$1.smali 2019-01-31 10:35:43.748266335 +0300
|
||||||
|
--- com.discord-836/smali/com/discord/widgets/chat/input/WidgetChatInputEditText$1.smali 2019-01-31 17:55:38.125415675 +0300
|
||||||
|
***************
|
||||||
|
*** 125,136 ****
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
- iget-object v0, p0, Lcom/discord/widgets/chat/input/WidgetChatInputEditText$1;->this$0:Lcom/discord/widgets/chat/input/WidgetChatInputEditText;
|
||||||
|
-
|
||||||
|
- iget-wide v0, v0, Lcom/discord/widgets/chat/input/WidgetChatInputEditText;->channelId:J
|
||||||
|
-
|
||||||
|
- invoke-virtual {p1, v0, v1}, Lcom/discord/stores/StoreUserTyping;->setUserTyping(J)V
|
||||||
|
-
|
||||||
|
:cond_1
|
||||||
|
return-void
|
||||||
|
.end method
|
||||||
|
--- 125,130 ----
|
|
@ -5,4 +5,5 @@ This patch disables the typing event.
|
||||||
#### Available and tested on:
|
#### Available and tested on:
|
||||||
- 8.3.6g
|
- 8.3.6g
|
||||||
- 8.3.9g
|
- 8.3.9g
|
||||||
|
- 8.4.1g
|
||||||
|
|
||||||
|
|
20
patches/nozlib/841.patch
Normal file
20
patches/nozlib/841.patch
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
diff -crB -x dist -x build com.discord-835-base/smali/com/discord/gateway/GatewaySocket.smali com.discord-835/smali/com/discord/gateway/GatewaySocket.smali
|
||||||
|
*** com.discord-835-base/smali/com/discord/gateway/GatewaySocket.smali 2019-01-25 10:57:34.512582250 +0300
|
||||||
|
--- com.discord-835/smali/com/discord/gateway/GatewaySocket.smali 2019-01-25 11:55:34.384472798 +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;
|
||||||
|
|
|
@ -8,4 +8,5 @@ Conflicts with litecord patch.
|
||||||
- 8.3.5g
|
- 8.3.5g
|
||||||
- 8.3.6g
|
- 8.3.6g
|
||||||
- 8.3.9g
|
- 8.3.9g
|
||||||
|
- 8.4.1g
|
||||||
|
|
||||||
|
|
26
patches/pureevil/841.patch
Normal file
26
patches/pureevil/841.patch
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
diff -crB -x dist -x build com.discord-834-base/smali/com/discord/widgets/settings/WidgetSettingsAppearance$onViewBoundOrOnResume$1.smali com.discord-834/smali/com/discord/widgets/settings/WidgetSettingsAppearance$onViewBoundOrOnResume$1.smali
|
||||||
|
*** com.discord-834-base/smali/com/discord/widgets/settings/WidgetSettingsAppearance$onViewBoundOrOnResume$1.smali 2019-01-23 23:17:43.804497453 +0300
|
||||||
|
--- com.discord-834/smali/com/discord/widgets/settings/WidgetSettingsAppearance$onViewBoundOrOnResume$1.smali 2019-01-23 23:31:20.728628077 +0300
|
||||||
|
***************
|
||||||
|
*** 71,83 ****
|
||||||
|
|
||||||
|
check-cast v0, Landroid/view/View;
|
||||||
|
|
||||||
|
! const-string v1, "it"
|
||||||
|
!
|
||||||
|
! invoke-static {p1, v1}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
|
||||||
|
!
|
||||||
|
! invoke-virtual {p1}, Lcom/discord/models/domain/ModelUser;->isStaff()Z
|
||||||
|
!
|
||||||
|
! move-result p1
|
||||||
|
|
||||||
|
invoke-static {v0, p1}, Lcom/discord/utilities/view/extensions/ViewExtensions;->setVisibilityBy(Landroid/view/View;Z)V
|
||||||
|
|
||||||
|
--- 71,77 ----
|
||||||
|
|
||||||
|
check-cast v0, Landroid/view/View;
|
||||||
|
|
||||||
|
! const/4 p1, 0x1
|
||||||
|
|
||||||
|
invoke-static {v0, p1}, Lcom/discord/utilities/view/extensions/ViewExtensions;->setVisibilityBy(Landroid/view/View;Z)V
|
||||||
|
|
|
@ -14,4 +14,5 @@ Conflicts with experiments.
|
||||||
- 8.3.5g
|
- 8.3.5g
|
||||||
- 8.3.6g
|
- 8.3.6g
|
||||||
- 8.3.9g
|
- 8.3.9g
|
||||||
|
- 8.4.1g
|
||||||
|
|
||||||
|
|
191
patches/smalltime/841.patch
Normal file
191
patches/smalltime/841.patch
Normal file
|
@ -0,0 +1,191 @@
|
||||||
|
diff -crB -x dist -x build com.discord-836-testing/smali_classes2/com/miguelgaeta/simple_time/SimpleTime.smali com.discord-836/smali_classes2/com/miguelgaeta/simple_time/SimpleTime.smali
|
||||||
|
*** com.discord-836-testing/smali_classes2/com/miguelgaeta/simple_time/SimpleTime.smali 2019-01-31 10:40:04.989283867 +0300
|
||||||
|
--- com.discord-836/smali_classes2/com/miguelgaeta/simple_time/SimpleTime.smali 2019-01-31 10:53:44.476028781 +0300
|
||||||
|
***************
|
||||||
|
*** 247,419 ****
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public toReadableTimeString(Ljava/lang/Long;)Ljava/lang/String;
|
||||||
|
! .locals 6
|
||||||
|
!
|
||||||
|
! .line 126
|
||||||
|
! invoke-virtual {p0}, Lcom/miguelgaeta/simple_time/SimpleTime;->currentTimeMillis()J
|
||||||
|
!
|
||||||
|
! move-result-wide v0
|
||||||
|
!
|
||||||
|
! invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
|
||||||
|
!
|
||||||
|
! move-result-object v0
|
||||||
|
!
|
||||||
|
! invoke-virtual {p0, v0}, Lcom/miguelgaeta/simple_time/SimpleTime;->toCalendar(Ljava/lang/Long;)Ljava/util/Calendar;
|
||||||
|
!
|
||||||
|
! move-result-object v0
|
||||||
|
!
|
||||||
|
! const/4 v1, 0x0
|
||||||
|
!
|
||||||
|
! const/16 v2, 0xb
|
||||||
|
!
|
||||||
|
! .line 128
|
||||||
|
! invoke-virtual {v0, v2, v1}, Ljava/util/Calendar;->set(II)V
|
||||||
|
!
|
||||||
|
! const/16 v2, 0xc
|
||||||
|
!
|
||||||
|
! .line 129
|
||||||
|
! invoke-virtual {v0, v2, v1}, Ljava/util/Calendar;->set(II)V
|
||||||
|
!
|
||||||
|
! const/16 v2, 0xd
|
||||||
|
!
|
||||||
|
! .line 130
|
||||||
|
! invoke-virtual {v0, v2, v1}, Ljava/util/Calendar;->set(II)V
|
||||||
|
!
|
||||||
|
! const/16 v2, 0xe
|
||||||
|
!
|
||||||
|
! .line 131
|
||||||
|
! invoke-virtual {v0, v2, v1}, Ljava/util/Calendar;->set(II)V
|
||||||
|
!
|
||||||
|
! .line 133
|
||||||
|
! iget-object v1, p0, Lcom/miguelgaeta/simple_time/SimpleTime;->locale:Ljava/util/Locale;
|
||||||
|
!
|
||||||
|
! invoke-virtual {v1}, Ljava/util/Locale;->getLanguage()Ljava/lang/String;
|
||||||
|
!
|
||||||
|
! move-result-object v1
|
||||||
|
!
|
||||||
|
! const-string v2, "en"
|
||||||
|
!
|
||||||
|
! invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||||
|
!
|
||||||
|
! move-result v1
|
||||||
|
!
|
||||||
|
! if-nez v1, :cond_1
|
||||||
|
!
|
||||||
|
! .line 136
|
||||||
|
! invoke-virtual {p1}, Ljava/lang/Long;->longValue()J
|
||||||
|
!
|
||||||
|
! move-result-wide v1
|
||||||
|
!
|
||||||
|
! invoke-virtual {v0}, Ljava/util/Calendar;->getTimeInMillis()J
|
||||||
|
!
|
||||||
|
! move-result-wide v3
|
||||||
|
!
|
||||||
|
! cmp-long v0, v1, v3
|
||||||
|
!
|
||||||
|
! if-lez v0, :cond_0
|
||||||
|
!
|
||||||
|
! .line 137
|
||||||
|
iget-object v0, p0, Lcom/miguelgaeta/simple_time/SimpleTime;->formatterTime:Ljava/text/DateFormat;
|
||||||
|
|
||||||
|
invoke-virtual {v0, p1}, Ljava/text/DateFormat;->format(Ljava/lang/Object;)Ljava/lang/String;
|
||||||
|
|
||||||
|
- move-result-object p1
|
||||||
|
-
|
||||||
|
- return-object p1
|
||||||
|
-
|
||||||
|
- .line 139
|
||||||
|
- :cond_0
|
||||||
|
- iget-object v0, p0, Lcom/miguelgaeta/simple_time/SimpleTime;->formatterDateTime:Ljava/text/DateFormat;
|
||||||
|
-
|
||||||
|
- invoke-virtual {v0, p1}, Ljava/text/DateFormat;->format(Ljava/lang/Object;)Ljava/lang/String;
|
||||||
|
-
|
||||||
|
- move-result-object p1
|
||||||
|
-
|
||||||
|
- return-object p1
|
||||||
|
-
|
||||||
|
- .line 143
|
||||||
|
- :cond_1
|
||||||
|
- invoke-virtual {p1}, Ljava/lang/Long;->longValue()J
|
||||||
|
-
|
||||||
|
- move-result-wide v1
|
||||||
|
-
|
||||||
|
- invoke-virtual {v0}, Ljava/util/Calendar;->getTimeInMillis()J
|
||||||
|
-
|
||||||
|
- move-result-wide v3
|
||||||
|
-
|
||||||
|
- cmp-long v5, v1, v3
|
||||||
|
-
|
||||||
|
- if-lez v5, :cond_2
|
||||||
|
-
|
||||||
|
- .line 144
|
||||||
|
- new-instance v0, Ljava/lang/StringBuilder;
|
||||||
|
-
|
||||||
|
- const-string v1, "Today at "
|
||||||
|
-
|
||||||
|
- invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
||||||
|
-
|
||||||
|
- iget-object v1, p0, Lcom/miguelgaeta/simple_time/SimpleTime;->formatterTime:Ljava/text/DateFormat;
|
||||||
|
-
|
||||||
|
- invoke-virtual {v1, p1}, Ljava/text/DateFormat;->format(Ljava/lang/Object;)Ljava/lang/String;
|
||||||
|
-
|
||||||
|
- move-result-object p1
|
||||||
|
-
|
||||||
|
- invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||||
|
-
|
||||||
|
- invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
||||||
|
-
|
||||||
|
- move-result-object p1
|
||||||
|
-
|
||||||
|
- return-object p1
|
||||||
|
-
|
||||||
|
- :cond_2
|
||||||
|
- const/4 v1, 0x5
|
||||||
|
-
|
||||||
|
- const/4 v2, -0x1
|
||||||
|
-
|
||||||
|
- .line 147
|
||||||
|
- invoke-virtual {v0, v1, v2}, Ljava/util/Calendar;->add(II)V
|
||||||
|
-
|
||||||
|
- .line 149
|
||||||
|
- invoke-virtual {p1}, Ljava/lang/Long;->longValue()J
|
||||||
|
-
|
||||||
|
- move-result-wide v1
|
||||||
|
-
|
||||||
|
- invoke-virtual {v0}, Ljava/util/Calendar;->getTimeInMillis()J
|
||||||
|
-
|
||||||
|
- move-result-wide v3
|
||||||
|
-
|
||||||
|
- cmp-long v0, v1, v3
|
||||||
|
-
|
||||||
|
- if-lez v0, :cond_3
|
||||||
|
-
|
||||||
|
- .line 150
|
||||||
|
- new-instance v0, Ljava/lang/StringBuilder;
|
||||||
|
-
|
||||||
|
- const-string v1, "Yesterday at "
|
||||||
|
-
|
||||||
|
- invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
||||||
|
-
|
||||||
|
- iget-object v1, p0, Lcom/miguelgaeta/simple_time/SimpleTime;->formatterTime:Ljava/text/DateFormat;
|
||||||
|
-
|
||||||
|
- invoke-virtual {v1, p1}, Ljava/text/DateFormat;->format(Ljava/lang/Object;)Ljava/lang/String;
|
||||||
|
-
|
||||||
|
- move-result-object p1
|
||||||
|
-
|
||||||
|
- invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||||
|
-
|
||||||
|
- invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
||||||
|
-
|
||||||
|
- move-result-object p1
|
||||||
|
-
|
||||||
|
- return-object p1
|
||||||
|
-
|
||||||
|
- .line 153
|
||||||
|
- :cond_3
|
||||||
|
- iget-object v0, p0, Lcom/miguelgaeta/simple_time/SimpleTime;->formatterDateTime:Ljava/text/DateFormat;
|
||||||
|
-
|
||||||
|
- invoke-virtual {v0, p1}, Ljava/text/DateFormat;->format(Ljava/lang/Object;)Ljava/lang/String;
|
||||||
|
-
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
return-object p1
|
||||||
|
--- 247,257 ----
|
||||||
|
.end method
|
||||||
|
|
||||||
|
.method public toReadableTimeString(Ljava/lang/Long;)Ljava/lang/String;
|
||||||
|
! .locals 1
|
||||||
|
iget-object v0, p0, Lcom/miguelgaeta/simple_time/SimpleTime;->formatterTime:Ljava/text/DateFormat;
|
||||||
|
|
||||||
|
invoke-virtual {v0, p1}, Ljava/text/DateFormat;->format(Ljava/lang/Object;)Ljava/lang/String;
|
||||||
|
|
||||||
|
move-result-object p1
|
||||||
|
|
||||||
|
return-object p1
|
||||||
|
|
|
@ -6,4 +6,5 @@ This patch replaces the long time string with just a simple time string. This is
|
||||||
- 8.3.5g
|
- 8.3.5g
|
||||||
- 8.3.6g
|
- 8.3.6g
|
||||||
- 8.3.9g
|
- 8.3.9g
|
||||||
|
- 8.4.1g
|
||||||
|
|
||||||
|
|
22
patches/squareavatars/841.patch
Normal file
22
patches/squareavatars/841.patch
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
diff -crB -x dist -x build com.discord-839-testing/res/values/styles.xml com.discord-839/res/values/styles.xml
|
||||||
|
*** com.discord-839-testing/res/values/styles.xml 2019-02-03 09:37:05.669928847 +0300
|
||||||
|
--- com.discord-839/res/values/styles.xml 2019-02-03 09:54:45.214140645 +0300
|
||||||
|
***************
|
||||||
|
*** 811,817 ****
|
||||||
|
<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>
|
||||||
|
--- 811,818 ----
|
||||||
|
<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>
|
||||||
|
|
|
@ -8,4 +8,5 @@ A very small amount of rounding is applied to make it look a little better.
|
||||||
- 8.3.5g
|
- 8.3.5g
|
||||||
- 8.3.6g
|
- 8.3.6g
|
||||||
- 8.3.9g
|
- 8.3.9g
|
||||||
|
- 8.4.1g
|
||||||
|
|
||||||
|
|
121
patchport.py
Normal file
121
patchport.py
Normal file
|
@ -0,0 +1,121 @@
|
||||||
|
#!/bin/env python3
|
||||||
|
import re
|
||||||
|
import sys
|
||||||
|
import os
|
||||||
|
import subprocess
|
||||||
|
import datetime
|
||||||
|
|
||||||
|
# Example invocation:
|
||||||
|
# python3 patchport.py 839 8.3.9g
|
||||||
|
# /home/ave/apks/com.discord-841/ /home/ave/cutthecordrepo/
|
||||||
|
|
||||||
|
from_versioncode = sys.argv[1]
|
||||||
|
from_versionname = sys.argv[2]
|
||||||
|
apk_folder = sys.argv[3]
|
||||||
|
cutthecord_folder = sys.argv[4]
|
||||||
|
debug = False
|
||||||
|
|
||||||
|
|
||||||
|
def modify_patch(patch_name, patch_path):
|
||||||
|
with open(patch_path) as f:
|
||||||
|
patch_content = f.read()
|
||||||
|
|
||||||
|
if patch_name in ["branding", "customversion"]:
|
||||||
|
patch_content = patch_content.replace(from_versioncode, to_versioncode)
|
||||||
|
patch_content = patch_content.replace(from_versionname, to_versionname)
|
||||||
|
|
||||||
|
if patch_name == "notrack":
|
||||||
|
# TODO: There's a risk here that we'll replace the nulled value
|
||||||
|
from_crashlytics_id = re_crashlytics.findall(patch_content)[0]
|
||||||
|
patch_content = patch_content.replace(from_crashlytics_id,
|
||||||
|
to_crashlytics_id)
|
||||||
|
return patch_content
|
||||||
|
|
||||||
|
|
||||||
|
re_versioncode = re.compile(r'platformBuildVersionCode="([0-9]+)"')
|
||||||
|
re_versionname = re.compile(r'platformBuildVersionName="([0-9a-z.]+)"')
|
||||||
|
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'[a-z0-9]{12})</string>')
|
||||||
|
|
||||||
|
|
||||||
|
# Get version code and name
|
||||||
|
with open(os.path.join(apk_folder, "AndroidManifest.xml")) as f:
|
||||||
|
file_contents = f.read()
|
||||||
|
to_versioncode = re_versioncode.findall(file_contents)[0]
|
||||||
|
to_versionname = re_versionname.findall(file_contents)[0]
|
||||||
|
|
||||||
|
# Get crashlytics build ID
|
||||||
|
with open(os.path.join(apk_folder, "res", "values", "strings.xml")) as f:
|
||||||
|
file_contents = f.read()
|
||||||
|
to_crashlytics_id = re_crashlytics.findall(file_contents)[0]
|
||||||
|
|
||||||
|
|
||||||
|
failures = []
|
||||||
|
|
||||||
|
for patch in os.listdir(os.path.join(cutthecord_folder, "patches")):
|
||||||
|
patch_path = os.path.join(cutthecord_folder, "patches", patch,
|
||||||
|
f"{from_versioncode}.patch")
|
||||||
|
out_path = os.path.join(cutthecord_folder, "patches", patch,
|
||||||
|
f"{to_versioncode}.patch")
|
||||||
|
readme_path = os.path.join(cutthecord_folder, "patches", patch, "README.md")
|
||||||
|
|
||||||
|
# Check if patch exists for from_version, if it doesn't, warn user
|
||||||
|
if not os.path.isfile(patch_path):
|
||||||
|
print(f"SKIPPED: No {from_versionname} version found for {patch}.")
|
||||||
|
continue
|
||||||
|
|
||||||
|
# Get a modified version of the patch
|
||||||
|
patch_contents = modify_patch(patch, patch_path)
|
||||||
|
|
||||||
|
# Pass the new patch to patch command and get it to attempt to patch
|
||||||
|
out = subprocess.run("patch -p1 --dry-run --force", shell=True,
|
||||||
|
cwd=apk_folder, input=patch_contents, text=True,
|
||||||
|
capture_output=True)
|
||||||
|
|
||||||
|
# Check for issues
|
||||||
|
if "FAILED" in out.stdout:
|
||||||
|
print(f"FAILED: {patch} failed, please fix by hand.")
|
||||||
|
failures.append(patch)
|
||||||
|
continue
|
||||||
|
# TODO: Can we do this automatically?
|
||||||
|
elif "offset" in out.stdout:
|
||||||
|
print(f"WARNING: {patch} has offsets, please correct by hand.")
|
||||||
|
|
||||||
|
if debug:
|
||||||
|
print(out.stdout)
|
||||||
|
|
||||||
|
# Add supported version to readme of that patch, hacky
|
||||||
|
# https://stackoverflow.com/a/35130508/3286892
|
||||||
|
with open(readme_path, 'r') as f:
|
||||||
|
readme_text = f.read().replace(f'- {from_versionname}',
|
||||||
|
f'- {from_versionname}\n'
|
||||||
|
f'- {to_versionname}')
|
||||||
|
with open(readme_path, "w") as f:
|
||||||
|
f.write(readme_text)
|
||||||
|
|
||||||
|
# Save ported patch
|
||||||
|
with open(out_path, "w") as f:
|
||||||
|
f.write(patch_contents)
|
||||||
|
|
||||||
|
print(f"PORTED: {patch} was successfully ported.")
|
||||||
|
|
||||||
|
if failures:
|
||||||
|
print(f"Port complete. Following patches failed: {', '.join(failures)}")
|
||||||
|
else:
|
||||||
|
ctcreadme_path = os.path.join(cutthecord_folder, "README.md")
|
||||||
|
# TODO: can we pull the correct date from distok?
|
||||||
|
out_datestamp = datetime.datetime.utcnow().strftime("%Y-%m-%d")
|
||||||
|
# Update readme with latest version, hacky
|
||||||
|
# https://stackoverflow.com/a/35130508/3286892
|
||||||
|
with open(ctcreadme_path, 'r') as f:
|
||||||
|
ctcr_text = f.read().replace(f'{from_versionname} ({from_versioncode})',
|
||||||
|
f'{to_versionname} ({to_versioncode})')
|
||||||
|
in_datestamp = re_releasedate.findall(ctcr_text)[0]
|
||||||
|
ctcr_text = ctcr_text.replace(in_datestamp, out_datestamp)
|
||||||
|
with open(ctcreadme_path, "w") as f:
|
||||||
|
f.write(ctcr_text)
|
||||||
|
|
||||||
|
print("Port complete. All patches completed successfully. "
|
||||||
|
"README was updated.")
|
Reference in a new issue