forked from distok/cutthecord
Compare commits
16 commits
2021-05-31
...
2021-05-31
Author | SHA1 | Date | |
---|---|---|---|
59c76a6506 | |||
a8c17e2032 | |||
de8cfb9a10 | |||
b7aa569435 | |||
7e4c49becc | |||
f58c28410d | |||
91c37ab9d0 | |||
166d763792 | |||
0754700d51 | |||
c4fd0be029 | |||
d139344274 | |||
b6f80bbee0 | |||
2786de6c73 | |||
de992e86ea | |||
78d5dea649 | |||
7b77ce9eda |
13 changed files with 109 additions and 27 deletions
7
.gitignore
vendored
7
.gitignore
vendored
|
@ -4,4 +4,11 @@ resources/distok/versionlogs/*
|
|||
!resources/distok/versionlogs/.gitkeep
|
||||
resources/fdroid/repo/icons/*.xml
|
||||
resources/fonts/*.ttf
|
||||
resources/fonts/*.otf
|
||||
resources/icons/others/*
|
||||
!resources/icons/others/.gitkeep
|
||||
resources/ringtones/*
|
||||
!resources/ringtones/.gitkeep
|
||||
resources/keystores/*
|
||||
!resources/keystores/.gitkeep
|
||||
*.apk
|
||||
|
|
|
@ -2,7 +2,9 @@
|
|||
|
||||
Modular Client Mod for Discord's Android app.
|
||||
|
||||
**THIS IS A WORK IN PROGRESS BRANCH! THE PATCHES ARE INCOMPLETE!**
|
||||
**THIS IS A WORK IN PROGRESS BRANCH! SOME PATCHES ARE MISSING (tokenlogin, hideunusableemojis, plus showtag has a bug)!**
|
||||
|
||||
Current state is good enough™ for an RC release, and there's currently RC releases in the repo. Update away!
|
||||
|
||||
For status updates and support on the project, join #cutthecord on https://libera.chat. WebIRC link: https://web.libera.chat/#cutthecord
|
||||
|
||||
|
@ -10,7 +12,7 @@ For status updates and support on the project, join #cutthecord on https://liber
|
|||
|
||||
New patch development will be done for the latest supported version.
|
||||
|
||||

|
||||

|
||||
|
||||
Check out [README.md in patches folder to see what patches are available and what each of them do](patches/README.md)!
|
||||
|
||||
|
|
0
resources/icons/others/.gitkeep
Normal file
0
resources/icons/others/.gitkeep
Normal file
0
resources/keystores/.gitkeep
Normal file
0
resources/keystores/.gitkeep
Normal file
|
@ -1,7 +1,3 @@
|
|||
\cp res/mipmap-xxxhdpi/ic_launcher_background.png res/mipmap-hdpi/ic_launcher_background.png
|
||||
\cp res/mipmap-xxxhdpi/ic_launcher_background.png res/mipmap-xhdpi/ic_launcher_background.png
|
||||
\cp res/mipmap-xxxhdpi/ic_launcher_background.png res/mipmap-xxhdpi/ic_launcher_background.png
|
||||
|
||||
\cp res/mipmap-xxxhdpi/ic_launcher_foreground.png res/mipmap-hdpi/ic_launcher_foreground.png
|
||||
\cp res/mipmap-xxxhdpi/ic_launcher_foreground.png res/mipmap-xhdpi/ic_launcher_foreground.png
|
||||
\cp res/mipmap-xxxhdpi/ic_launcher_foreground.png res/mipmap-xxhdpi/ic_launcher_foreground.png
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 15 KiB |
|
@ -1,2 +1,2 @@
|
|||
#!/bin/bash
|
||||
\cp "$1" res/drawable-xxxhdpi/img_loading_logo.png
|
||||
\cp "$1" res/drawable-xxxhdpi/img_logo.png
|
||||
|
|
|
@ -1,8 +1,23 @@
|
|||
Binary files com.discord-base/build/apk/classes3.dex and com.discord/build/apk/classes3.dex differ
|
||||
Binary files com.discord-base/dist/com.discord-78204.apk and com.discord/dist/com.discord-78204.apk differ
|
||||
diff -crB com.discord-base/smali_classes3/com/lytefast/flexinput/fragment/FlexInputFragment$d.smali com.discord/smali_classes3/com/lytefast/flexinput/fragment/FlexInputFragment$d.smali
|
||||
*** com.discord-base/smali_classes3/com/lytefast/flexinput/fragment/FlexInputFragment$d.smali 2021-05-31 14:05:59.000000000 +0300
|
||||
--- com.discord/smali_classes3/com/lytefast/flexinput/fragment/FlexInputFragment$d.smali 2021-05-31 16:02:21.000000000 +0300
|
||||
diff --color -crB com.discord-87202-base/smali_classes3/com/lytefast/flexinput/fragment/FlexInputFragment$d.smali com.discord-87202/smali_classes3/com/lytefast/flexinput/fragment/FlexInputFragment$d.smali
|
||||
*** com.discord-87202-base/smali_classes3/com/lytefast/flexinput/fragment/FlexInputFragment$d.smali 2021-08-22 22:08:14.202391194 +0300
|
||||
--- com.discord-87202/smali_classes3/com/lytefast/flexinput/fragment/FlexInputFragment$d.smali 2021-08-22 22:14:01.302308963 +0300
|
||||
***************
|
||||
*** 183,189 ****
|
||||
|
||||
if-nez v4, :cond_5
|
||||
|
||||
! const/4 v9, 0x0
|
||||
|
||||
goto :goto_0
|
||||
|
||||
--- 183,189 ----
|
||||
|
||||
if-nez v4, :cond_5
|
||||
|
||||
! const/16 v9, 0x8
|
||||
|
||||
goto :goto_0
|
||||
|
||||
***************
|
||||
*** 206,212 ****
|
||||
|
||||
|
@ -20,3 +35,20 @@ diff -crB com.discord-base/smali_classes3/com/lytefast/flexinput/fragment/FlexIn
|
|||
|
||||
goto :goto_1
|
||||
|
||||
***************
|
||||
*** 234,240 ****
|
||||
goto :goto_2
|
||||
|
||||
:cond_7
|
||||
! const/16 v4, 0x8
|
||||
|
||||
:goto_2
|
||||
invoke-virtual {v5, v4}, Landroid/widget/ImageButton;->setVisibility(I)V
|
||||
--- 234,240 ----
|
||||
goto :goto_2
|
||||
|
||||
:cond_7
|
||||
! const/16 v4, 0x0
|
||||
|
||||
:goto_2
|
||||
invoke-virtual {v5, v4}, Landroid/widget/ImageButton;->setVisibility(I)V
|
||||
|
|
|
@ -1,10 +1,26 @@
|
|||
#!/bin/bash
|
||||
|
||||
cd /opt/ctc/gitrepo/resources/patches/slashcommands/code
|
||||
if [ -z "$DISTOK_FOLDER" ]
|
||||
then
|
||||
cd /opt/ctc/gitrepo/resources/patches/slashcommands/code
|
||||
else
|
||||
cd "$DISTOK_FOLDER/resources/patches/slashcommands/code"
|
||||
fi
|
||||
|
||||
if [ -z "$DISTOK_APKTOOL_COMMAND" ]
|
||||
then
|
||||
DISTOK_APKTOOL_COMMAND="java -jar /opt/ctc/tools/apktool.jar"
|
||||
fi
|
||||
|
||||
if [ -z "$DISTOK_DX_COMMAND" ]
|
||||
then
|
||||
DISTOK_DX_COMMAND="/lib/android-sdk/build-tools/debian/dx"
|
||||
fi
|
||||
|
||||
chmod +x gradlew
|
||||
rm -rf build
|
||||
./gradlew build
|
||||
cd build/libs
|
||||
/lib/android-sdk/build-tools/debian/dx --dex --output ctccommands.apk ctccommands-1.0-SNAPSHOT.jar
|
||||
java -jar /opt/ctc/tools/apktool.jar d ctccommands.apk
|
||||
$DISTOK_DX_COMMAND --dex --output ctccommands.apk ctccommands-1.0-SNAPSHOT.jar
|
||||
$DISTOK_APKTOOL_COMMAND d ctccommands.apk
|
||||
cp -r ctccommands/smali/* ${DISTOK_EXTRACTED_DISCORD_PATH}/smali/
|
|
@ -20,7 +20,7 @@ sourceCompatibility = 1.8
|
|||
targetCompatibility = 1.8
|
||||
|
||||
dependencies {
|
||||
implementation files('/tmp/cutthecord/discord-base-jar/discord-base.jar', 'libs/discord87202.jar')
|
||||
implementation files('/tmp/cutthecord/discord-base-87202-jar/discord-base.jar', 'libs/discord87202.jar')
|
||||
}
|
||||
|
||||
test {
|
||||
|
|
|
@ -21,7 +21,7 @@ def xmlpatch(patch_file, workdir, patch_name=""):
|
|||
|
||||
print(f"Applying {patch_file}")
|
||||
|
||||
subprocess.run(f"java -cp /opt/ctc/tools/xml-patch.jar com.github.dnault.xmlpatch.BatchPatcher --patch {patch_file} --srcdir {workdir}",
|
||||
subprocess.run(f"{XML_PATCH_BIN} com.github.dnault.xmlpatch.BatchPatcher --patch {patch_file} --srcdir {workdir}",
|
||||
shell=True, check=True, cwd=workdir)
|
||||
|
||||
def patch(patch_file, workdir, patch_name=""):
|
||||
|
@ -48,7 +48,7 @@ with open(os.path.join(REPO_FOLDER, "resources/patchport-state.json")) as f:
|
|||
VERSION = STATE["versioncode"]
|
||||
|
||||
BASE_APK_PATH = os.path.join(WORK_FOLDER, f"discord-base-{VERSION}")
|
||||
BASE_JAR_PATH = os.path.join(WORK_FOLDER, f"discord-base-jar")
|
||||
BASE_JAR_PATH = os.path.join(WORK_FOLDER, f"discord-base-{VERSION}-jar")
|
||||
# Wipe and recreate the base jar folder
|
||||
if os.path.exists(BASE_JAR_PATH):
|
||||
shutil.rmtree(BASE_JAR_PATH)
|
||||
|
@ -88,7 +88,6 @@ if not os.path.exists(BASE_JAR_PATH):
|
|||
subprocess.run(f"unzip -j {INPUT_FILE} *.dex -d {BASE_JAR_PATH}", shell=True, cwd=WORK_FOLDER)
|
||||
subprocess.run(f"{DEX2JAR_BIN} *.dex", shell=True, cwd=BASE_JAR_PATH)
|
||||
subprocess.run(f"zipmerge discord-base.jar classes*dex2jar.jar", shell=True, cwd=BASE_JAR_PATH)
|
||||
subprocess.run(f"rm classes*dex2jar.jar *.dex", shell=True, cwd=BASE_JAR_PATH)
|
||||
|
||||
# Copy the base cache to work on it
|
||||
shutil.copytree(BASE_APK_PATH, WORK_APK_PATH)
|
||||
|
@ -141,13 +140,9 @@ for patch_name in PATCHES:
|
|||
os.path.join(WORK_APK_PATH, "res", "mipmap-xxxhdpi", "logo_debug.png"))
|
||||
|
||||
if BRANCH in DYN_ICONS:
|
||||
shutil.copyfile(DYN_ICONS[BRANCH]["bg"],
|
||||
os.path.join(WORK_APK_PATH, "res", "mipmap-xxxhdpi", "ic_launcher_background.png"))
|
||||
shutil.copyfile(DYN_ICONS[BRANCH]["fg"],
|
||||
os.path.join(WORK_APK_PATH, "res", "mipmap-xxxhdpi", "ic_launcher_foreground.png"))
|
||||
elif "default" in ICONS:
|
||||
shutil.copyfile(DYN_ICONS["default"]["bg"],
|
||||
os.path.join(WORK_APK_PATH, "res", "mipmap-xxxhdpi", "ic_launcher_background.png"))
|
||||
shutil.copyfile(DYN_ICONS["default"]["fg"],
|
||||
os.path.join(WORK_APK_PATH, "res", "mipmap-xxxhdpi", "ic_launcher_foreground.png"))
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@ import os
|
|||
|
||||
APKTOOL_BIN = "java -jar /opt/ctc/tools/apktool.jar"
|
||||
DEX2JAR_BIN = "java -jar /opt/ctc/tools/dex2jar.jar"
|
||||
XML_PATCH_BIN = "java -cp /opt/ctc/tools/xml-patch.jar"
|
||||
|
||||
# APKs must be placed under $DISTOK_FOLDER/android/$PACKAGE_ID-$VERSION_NUMBER.apk
|
||||
# Example: /home/ave/distok/android/com.discord-909.apk
|
||||
|
@ -50,10 +51,8 @@ ICONS = {"ave": "/opt/ctc/gitrepo/resources/icons/ctclogoave.png",
|
|||
"default": "/opt/ctc/gitrepo/resources/icons/ctclogo.png"}
|
||||
|
||||
# Custom dynamic icons, default = applied to all the ones not explicitly stated
|
||||
DYN_ICONS = {"ave": {"bg": "/opt/ctc/gitrepo/resources/icons/bg.png",
|
||||
"fg": "/opt/ctc/gitrepo/resources/icons/fg.png"},
|
||||
"default": {"bg": "/opt/ctc/gitrepo/resources/icons/dcbg.png",
|
||||
"fg": "/opt/ctc/gitrepo/resources/icons/dcfg.png"}}
|
||||
DYN_ICONS = {"ave": {"fg": "/opt/ctc/gitrepo/resources/icons/fg.png"},
|
||||
"default": {"fg": "/opt/ctc/gitrepo/resources/icons/dcfg.png"}}
|
||||
|
||||
# Custom app names, default = applied to all the ones not explicitly stated
|
||||
# Needs to be one word, __ gets replaced with space
|
||||
|
|
|
@ -36,8 +36,43 @@
|
|||
<replace sel="resources/color[@name='primary_700_alpha_60']/text()">#990f0f0f</replace>
|
||||
<replace sel="resources/color[@name='primary_dark_600']/text()">#ff000000</replace>
|
||||
<replace sel="resources/color[@name='primary_dark_630']/text()">#ff000000</replace>
|
||||
<replace sel="resources/color[@name='primary_dark_660']/text()">#ff000000</replace>
|
||||
<replace sel="resources/color[@name='primary_dark_700']/text()">#ff000000</replace>
|
||||
<replace sel="resources/color[@name='tooltip_background_dark']/text()">#e6000000</replace>
|
||||
<replace sel="resources/color[@name='brand']/text()">#ff9c4249</replace>
|
||||
<replace sel="resources/color[@name='brand_500']/text()">#ff9c4249</replace>
|
||||
<replace sel="resources/color[@name='brand_500_alpha_10']/text()">#1a5865f2</replace>
|
||||
<replace sel="resources/color[@name='brand_500_alpha_20']/text()">#335865f2</replace>
|
||||
</diff>
|
||||
|
||||
<diff file="res/values/styles.xml">
|
||||
<replace sel="resources/style[@name='AppTheme.AutoGenerated.Dark']/item[@name='colorBackgroundMentioned']/text()">#1a9c4249</replace>
|
||||
<replace sel="resources/style[@name='AppTheme.AutoGenerated.Dark']/item[@name='colorBackgroundMentionedHover']/text()">#149c4249</replace>
|
||||
<replace sel="resources/style[@name='AppTheme.Base.Dark']/item[@name='theme_chat_mention_background']/text()">#4d9c4249</replace>
|
||||
<replace sel="resources/style[@name='AppTheme.Base.Dark']/item[@name='theme_chat_mentioned_me']/text()">#1a9c4249</replace>
|
||||
</diff>
|
||||
|
||||
<diff file="res/mipmap-anydpi-v26/ic_logo_round.xml" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<replace sel="adaptive-icon/background/@android:drawable">@color/primary_500</replace>
|
||||
</diff>
|
||||
|
||||
<diff file="res/mipmap-anydpi-v26/ic_logo_round_beta.xml" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<replace sel="adaptive-icon/background/@android:drawable">@color/primary_500</replace>
|
||||
</diff>
|
||||
|
||||
<diff file="res/mipmap-anydpi-v26/ic_logo_round_canary.xml" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<replace sel="adaptive-icon/background/@android:drawable">@color/primary_500</replace>
|
||||
</diff>
|
||||
|
||||
<diff file="res/mipmap-anydpi-v26/ic_logo_square.xml" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<replace sel="adaptive-icon/background/@android:drawable">@color/primary_500</replace>
|
||||
</diff>
|
||||
|
||||
<diff file="res/mipmap-anydpi-v26/ic_logo_square_beta.xml" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<replace sel="adaptive-icon/background/@android:drawable">@color/primary_500</replace>
|
||||
</diff>
|
||||
|
||||
<diff file="res/mipmap-anydpi-v26/ic_logo_square_canary.xml" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<replace sel="adaptive-icon/background/@android:drawable">@color/primary_500</replace>
|
||||
</diff>
|
||||
</diffs>
|
||||
|
|
Loading…
Reference in a new issue