diff --git a/.gitignore b/.gitignore index 8845bb8..4dbd9d3 100644 --- a/.gitignore +++ b/.gitignore @@ -4,11 +4,4 @@ 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 diff --git a/README.md b/README.md index bd82bc6..fc55aca 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,7 @@ Modular Client Mod for Discord's Android app. -**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! +**THIS IS A WORK IN PROGRESS BRANCH! THE PATCHES ARE INCOMPLETE!** For status updates and support on the project, join #cutthecord on https://libera.chat. WebIRC link: https://web.libera.chat/#cutthecord @@ -12,7 +10,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. -![A CutTheCord screenshot](https://elixi.re/t/m16z287iw.png) +![A CutTheCord screenshot](https://elixi.re/t/mh3eirsy9.png) Check out [README.md in patches folder to see what patches are available and what each of them do](patches/README.md)! diff --git a/resources/icons/others/.gitkeep b/resources/icons/others/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/resources/keystores/.gitkeep b/resources/keystores/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/resources/patches/branding/customdynamicicon.sh b/resources/patches/branding/customdynamicicon.sh index 0bc68a7..750bb67 100644 --- a/resources/patches/branding/customdynamicicon.sh +++ b/resources/patches/branding/customdynamicicon.sh @@ -1,3 +1,7 @@ +\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 diff --git a/resources/patches/customtheme/asset_loading_zhu_white.png b/resources/patches/customtheme/asset_loading_zhu_white.png index a0d16f2..1c1e5a1 100644 Binary files a/resources/patches/customtheme/asset_loading_zhu_white.png and b/resources/patches/customtheme/asset_loading_zhu_white.png differ diff --git a/resources/patches/customtheme/fixsplash.sh b/resources/patches/customtheme/fixsplash.sh index a7ab3f9..b1a9574 100644 --- a/resources/patches/customtheme/fixsplash.sh +++ b/resources/patches/customtheme/fixsplash.sh @@ -1,2 +1,2 @@ #!/bin/bash -\cp "$1" res/drawable-xxxhdpi/img_logo.png +\cp "$1" res/drawable-xxxhdpi/img_loading_logo.png diff --git a/resources/patches/nocamerabutton/87202.patch b/resources/patches/nocamerabutton/87202.patch index fb56644..49d6d8e 100644 --- a/resources/patches/nocamerabutton/87202.patch +++ b/resources/patches/nocamerabutton/87202.patch @@ -1,23 +1,8 @@ -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 - +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 *************** *** 206,212 **** @@ -35,20 +20,3 @@ diff --color -crB com.discord-87202-base/smali_classes3/com/lytefast/flexinput/f 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 diff --git a/resources/patches/slashcommands/87202-pre.sh b/resources/patches/slashcommands/87202-pre.sh index 0f4edf6..f6500a0 100644 --- a/resources/patches/slashcommands/87202-pre.sh +++ b/resources/patches/slashcommands/87202-pre.sh @@ -1,26 +1,10 @@ #!/bin/bash -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 - +cd /opt/ctc/gitrepo/resources/patches/slashcommands/code chmod +x gradlew rm -rf build ./gradlew build cd build/libs -$DISTOK_DX_COMMAND --dex --output ctccommands.apk ctccommands-1.0-SNAPSHOT.jar -$DISTOK_APKTOOL_COMMAND d ctccommands.apk +/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 cp -r ctccommands/smali/* ${DISTOK_EXTRACTED_DISCORD_PATH}/smali/ \ No newline at end of file diff --git a/resources/patches/slashcommands/code/build.gradle b/resources/patches/slashcommands/code/build.gradle index 59a0f8e..28a7cbc 100644 --- a/resources/patches/slashcommands/code/build.gradle +++ b/resources/patches/slashcommands/code/build.gradle @@ -20,7 +20,7 @@ sourceCompatibility = 1.8 targetCompatibility = 1.8 dependencies { - implementation files('/tmp/cutthecord/discord-base-87202-jar/discord-base.jar', 'libs/discord87202.jar') + implementation files('/tmp/cutthecord/discord-base-jar/discord-base.jar', 'libs/discord87202.jar') } test { diff --git a/resources/scripts/ctcci/ctcci.py b/resources/scripts/ctcci/ctcci.py index b17add8..124d2ae 100755 --- a/resources/scripts/ctcci/ctcci.py +++ b/resources/scripts/ctcci/ctcci.py @@ -21,7 +21,7 @@ def xmlpatch(patch_file, workdir, patch_name=""): print(f"Applying {patch_file}") - subprocess.run(f"{XML_PATCH_BIN} com.github.dnault.xmlpatch.BatchPatcher --patch {patch_file} --srcdir {workdir}", + subprocess.run(f"java -cp /opt/ctc/tools/xml-patch.jar 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-{VERSION}-jar") +BASE_JAR_PATH = os.path.join(WORK_FOLDER, f"discord-base-jar") # Wipe and recreate the base jar folder if os.path.exists(BASE_JAR_PATH): shutil.rmtree(BASE_JAR_PATH) @@ -88,6 +88,7 @@ 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) @@ -140,9 +141,13 @@ 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")) diff --git a/resources/scripts/ctcci/ctcconfig.example.py b/resources/scripts/ctcci/ctcconfig.example.py index 6ad82bb..095f888 100644 --- a/resources/scripts/ctcci/ctcconfig.example.py +++ b/resources/scripts/ctcci/ctcconfig.example.py @@ -2,7 +2,6 @@ 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 @@ -51,8 +50,10 @@ 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": {"fg": "/opt/ctc/gitrepo/resources/icons/fg.png"}, - "default": {"fg": "/opt/ctc/gitrepo/resources/icons/dcfg.png"}} +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"}} # Custom app names, default = applied to all the ones not explicitly stated # Needs to be one word, __ gets replaced with space diff --git a/resources/xmlpatches/customtheme/87202.xml b/resources/xmlpatches/customtheme/87202.xml index fef3faf..34ead93 100644 --- a/resources/xmlpatches/customtheme/87202.xml +++ b/resources/xmlpatches/customtheme/87202.xml @@ -36,43 +36,8 @@ #990f0f0f #ff000000 #ff000000 - #ff000000 #ff000000 #e6000000 - #ff9c4249 - #ff9c4249 - #1a5865f2 - #335865f2 - - #1a9c4249 - #149c4249 - #4d9c4249 - #1a9c4249 - - - - @color/primary_500 - - - - @color/primary_500 - - - - @color/primary_500 - - - - @color/primary_500 - - - - @color/primary_500 - - - - @color/primary_500 -