diff --git a/.gitignore b/.gitignore
index 4dbd9d3..8845bb8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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
diff --git a/README.md b/README.md
index fc55aca..bd82bc6 100644
--- a/README.md
+++ b/README.md
@@ -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)!
diff --git a/resources/icons/others/.gitkeep b/resources/icons/others/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/resources/keystores/.gitkeep b/resources/keystores/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/resources/patches/branding/customdynamicicon.sh b/resources/patches/branding/customdynamicicon.sh
index 750bb67..0bc68a7 100644
--- a/resources/patches/branding/customdynamicicon.sh
+++ b/resources/patches/branding/customdynamicicon.sh
@@ -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
diff --git a/resources/patches/customtheme/asset_loading_zhu_white.png b/resources/patches/customtheme/asset_loading_zhu_white.png
index 1c1e5a1..a0d16f2 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 b1a9574..a7ab3f9 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_loading_logo.png
+\cp "$1" res/drawable-xxxhdpi/img_logo.png
diff --git a/resources/patches/nocamerabutton/87202.patch b/resources/patches/nocamerabutton/87202.patch
index 49d6d8e..fb56644 100644
--- a/resources/patches/nocamerabutton/87202.patch
+++ b/resources/patches/nocamerabutton/87202.patch
@@ -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
diff --git a/resources/patches/slashcommands/87202-pre.sh b/resources/patches/slashcommands/87202-pre.sh
index f6500a0..0f4edf6 100644
--- a/resources/patches/slashcommands/87202-pre.sh
+++ b/resources/patches/slashcommands/87202-pre.sh
@@ -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/
\ No newline at end of file
diff --git a/resources/patches/slashcommands/code/build.gradle b/resources/patches/slashcommands/code/build.gradle
index 28a7cbc..59a0f8e 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-jar/discord-base.jar', 'libs/discord87202.jar')
+ implementation files('/tmp/cutthecord/discord-base-87202-jar/discord-base.jar', 'libs/discord87202.jar')
}
test {
diff --git a/resources/scripts/ctcci/ctcci.py b/resources/scripts/ctcci/ctcci.py
index 124d2ae..b17add8 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"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"))
diff --git a/resources/scripts/ctcci/ctcconfig.example.py b/resources/scripts/ctcci/ctcconfig.example.py
index 095f888..6ad82bb 100644
--- a/resources/scripts/ctcci/ctcconfig.example.py
+++ b/resources/scripts/ctcci/ctcconfig.example.py
@@ -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
diff --git a/resources/xmlpatches/customtheme/87202.xml b/resources/xmlpatches/customtheme/87202.xml
index 34ead93..fef3faf 100644
--- a/resources/xmlpatches/customtheme/87202.xml
+++ b/resources/xmlpatches/customtheme/87202.xml
@@ -36,8 +36,43 @@
#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
+