Compare commits
62 commits
master
...
2021-05-31
Author | SHA1 | Date | |
---|---|---|---|
59c76a6506 | |||
a8c17e2032 | |||
de8cfb9a10 | |||
b7aa569435 | |||
7e4c49becc | |||
f58c28410d | |||
91c37ab9d0 | |||
166d763792 | |||
0754700d51 | |||
c4fd0be029 | |||
d139344274 | |||
b6f80bbee0 | |||
2786de6c73 | |||
de992e86ea | |||
78d5dea649 | |||
7b77ce9eda | |||
f1e8382505 | |||
d3c51e2bef | |||
4199ef9d22 | |||
e1e88773ec | |||
015c90eb70 | |||
cdfa005d35 | |||
c17cb44eaa | |||
4de5282bf3 | |||
a70f7395aa | |||
1d0a8b7088 | |||
5bd99aa8c3 | |||
5cca5ef444 | |||
3e0464c796 | |||
f08854f5d0 | |||
f8dbc9333c | |||
1c6b151083 | |||
0359f5f975 | |||
f709704fce | |||
ec47b98061 | |||
1a7ad17c87 | |||
55e2e94b63 | |||
8ec2dd75c2 | |||
44cd92fcdc | |||
8037a7c9b8 | |||
ab288a7c79 | |||
f38df07e48 | |||
350f30b1f6 | |||
4f86cec370 | |||
9d7138b6a6 | |||
66b238bb1b | |||
ee4a3cb49e | |||
8f690ffe03 | |||
69700dacaf | |||
fb587755da | |||
1b99304a05 | |||
c60d13a690 | |||
1cc00f6a48 | |||
f3ee05255c | |||
4db6c07a04 | |||
fb8a857955 | |||
9082828e56 | |||
354e1538c2 | |||
8811192499 | |||
9de62d94f3 | |||
dab5801b1e | |||
03827d9f02 |
2
.gitattributes
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
* text=auto eol=lf
|
||||
|
12
.gitignore
vendored
|
@ -1,2 +1,14 @@
|
|||
patches/*/*-custom.patch
|
||||
patches/*/*.patch-failed
|
||||
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,7 @@
|
|||
|
||||
#### Toolchain setup
|
||||
|
||||
- Get apktool (due to 2 bugs present in v2.3.4, you're strongly recommended to use v2.4.0 or higher, I compile latest from source).
|
||||
- Get apktool (use [this self-built version](//f001.backblazeb2.com/file/avepub/apktool-cli-all.jar) which is master + [this pr](https://github.com/iBotPeaches/Apktool/pull/2463)).
|
||||
- Get a keystore, see [here](https://stackoverflow.com/a/14994354/3286892), step 1.
|
||||
- Get apksigner, it's part of android build tools.
|
||||
- If you want Mutant Standard emoji patches, get 72x72 PNG copies of latest version of mutant standard emojis with codepoints. I have a zip [here](https://mutant.lavatech.top/72x72.zip).
|
||||
|
@ -21,7 +21,6 @@ CTCCI requires python3.6+, and also likely requires Linux (I haven't tried it on
|
|||
#### Initial setup
|
||||
|
||||
- Follow the "Toolchain setup" steps above in case you haven't already.
|
||||
- Install dependencies (`python3 -m pip install -Ur requirements.txt`)
|
||||
- Copy `ctcci/ctcconfig.example.py` to `ctcci/ctcconfig.py` and configure contents to your local data and your personal preferences.
|
||||
- If you don't want to always automatically be required to use the latest discord version, edit the `$REPO_FOLDER/patchport-state.json` file.
|
||||
- Set up a local distok-style file storage for your APKs, and copy your APKs on it, and name them properly (the format is `$DISTOK_FOLDER/android/$PACKAGE_ID-$VERSION_NUMBER.apk`, example: `/home/ave/distok/android/com.discord-909.apk`).
|
||||
|
@ -61,11 +60,11 @@ To get the diff, run `diff -crB -x "dist" -x "res/raw" -x "build" CleanFolder Pa
|
|||
|
||||
#### Porting patches
|
||||
|
||||
You can use `patchport.py` to easily attempt to port patches. This is what I use to port between every single version.
|
||||
You can use `patchport.py` to easily attempt to port patches. This is what I use to port between every single version. Note that while CTCCI requires python3.6+, `patchport.py` requires python3.7+.
|
||||
|
||||
It's not really intelligent and doesn't do much more than manually preparing necessary patch, checking if an existing patch can be applied to a given version, replacing relevant variables required for porting various patches and eliminating offsets caused by updates, but it saves a lot of time if used carefully.
|
||||
|
||||
Example command: `python3 patchport.py /home/ave/workbench/ctc/com.discord-968`
|
||||
Example command: `python3.7 patchport.py /home/ave/workbench/ctc/com.discord-968`
|
||||
|
||||
#### Figuring out which patch is causing your build to break
|
||||
|
||||
|
|
68
Dockerfile
Normal file
|
@ -0,0 +1,68 @@
|
|||
FROM ubuntu:21.04
|
||||
|
||||
# Install needed packages
|
||||
RUN apt-get update
|
||||
RUN DEBIAN_FRONTEND=noninteractive apt-get -y install python3 android-sdk-build-tools wget unzip imagemagick git patch software-properties-common
|
||||
# Mirror is being weird currently so install this seperatly
|
||||
RUN apt-get update
|
||||
RUN DEBIAN_FRONTEND=noninteractive apt-get -y install zipmerge
|
||||
|
||||
# Install fdroid
|
||||
RUN add-apt-repository ppa:fdroid/fdroidserver
|
||||
RUN apt-get update
|
||||
RUN apt-get -y install fdroidserver
|
||||
|
||||
# Create resources folder for tools/images etc
|
||||
ENV CTC_FOLDER=/opt/ctc
|
||||
RUN mkdir ${CTC_FOLDER}
|
||||
|
||||
# Grab modified apktool
|
||||
RUN mkdir ${CTC_FOLDER}/tools
|
||||
RUN wget -O ${CTC_FOLDER}/tools/apktool.jar https://f001.backblazeb2.com/file/avepub/apktool-cli-all.jar
|
||||
|
||||
# Grab xml-patch (https://github.com/dnault/xml-patch)
|
||||
RUN wget -O ${CTC_FOLDER}/tools/xml-patch.jar https://jcenter.bintray.com/com/github/dnault/xml-patch/0.3.1/xml-patch-0.3.1.jar
|
||||
|
||||
# Grab dex2jar (https://github.com/Aliucord/dex2jar)
|
||||
RUN wget -O ${CTC_FOLDER}/tools/dex2jar.jar https://github.com/Aliucord/dex2jar/releases/download/v19-fork2/dex2jar.jar
|
||||
|
||||
# Grab emoji sets
|
||||
ENV EMOJI_PATH=${CTC_FOLDER}/emojis
|
||||
ENV EMOJI_MUTANT_PATH=${EMOJI_PATH}/mutant
|
||||
ENV EMOJI_BLOBMOJIS_PATH=${EMOJI_PATH}/blobmojis
|
||||
RUN mkdir ${EMOJI_PATH}
|
||||
|
||||
# Mutant emojis
|
||||
RUN mkdir ${EMOJI_MUTANT_PATH}
|
||||
WORKDIR ${EMOJI_MUTANT_PATH}
|
||||
RUN wget https://mutant.lavatech.top/72x72.zip
|
||||
RUN unzip 72x72.zip
|
||||
RUN mv 72x72/*.png .
|
||||
RUN rm -rf 72x72
|
||||
RUN rm 72x72.zip
|
||||
|
||||
# Blobmojis
|
||||
RUN mkdir ${EMOJI_BLOBMOJIS_PATH}
|
||||
RUN mkdir /tmp/blobmoji
|
||||
WORKDIR /tmp/blobmoji
|
||||
RUN wget https://github.com/C1710/blobmoji/archive/refs/heads/main.zip
|
||||
RUN 7za x main.zip
|
||||
WORKDIR /tmp/blobmoji/blobmoji-main/svg
|
||||
RUN find ./*.svg -exec mogrify -format png -resize 72x72 -path ${EMOJI_BLOBMOJIS_PATH} {} \; ; exit 0
|
||||
|
||||
# Generate self signed KS
|
||||
RUN mkdir ${CTC_FOLDER}/keystores
|
||||
WORKDIR ${CTC_FOLDER}/keystores
|
||||
RUN keytool -genkey -alias test \
|
||||
-keyalg RSA -keystore keystore.jks \
|
||||
-dname "CN=Test, OU=Test, O=Test, L=Test, S=Test, C=Test" \
|
||||
-storepass password -keypass password
|
||||
|
||||
# Make folder for git repo
|
||||
RUN mkdir ${CTC_FOLDER}/gitrepo
|
||||
WORKDIR ${CTC_FOLDER}/gitrepo
|
||||
|
||||
# paths in ctcconfig in docker
|
||||
# container fs
|
||||
# /opt/ctc/gitrepo
|
||||
# /opt/ctc/keystores/keystore.jks not specified by default
|
10
README.md
|
@ -2,11 +2,17 @@
|
|||
|
||||
Modular Client Mod for Discord's Android app.
|
||||
|
||||
**Latest supported Discord Android version:** 53.0 (1356), released on 2020-12-13.
|
||||
**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
|
||||
|
||||
**Latest supported Discord Android version:** 87.2 - Alpha (87202), released on 2021-08-04.
|
||||
|
||||
New patch development will be done for the latest supported version.
|
||||
|
||||
![A CutTheCord screenshot](https://elixi.re/t/mh3eirsy9.png)
|
||||
![A CutTheCord screenshot](https://elixi.re/t/m16z287iw.png)
|
||||
|
||||
Check out [README.md in patches folder to see what patches are available and what each of them do](patches/README.md)!
|
||||
|
||||
|
|
1
ctcci/.gitignore
vendored
|
@ -1 +0,0 @@
|
|||
ctcconfig.py
|
|
@ -1 +0,0 @@
|
|||
../bettertm/bettertm.sh
|
|
@ -1,7 +0,0 @@
|
|||
\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
|
Before Width: | Height: | Size: 12 KiB |
|
@ -1,2 +0,0 @@
|
|||
#!/bin/bash
|
||||
\cp "$1" res/drawable-xxxhdpi/img_loading_logo.png
|
|
@ -1,204 +0,0 @@
|
|||
## DisTok CutTheCord: No Profile Strip Patch
|
||||
|
||||
This patch removes the "profile strip" from the left side menu, helping remove PII from screenshots:
|
||||
|
||||
![](https://x3.pm/i/99b1vutg.png)
|
||||
|
||||
#### Available and tested on:
|
||||
- 8.4.2g
|
||||
- 8.4.3g
|
||||
- 8.4.4g
|
||||
- 8.4.5g
|
||||
- 8.4.8
|
||||
- 8.5.0
|
||||
- 8.5.1
|
||||
- 8.5.3
|
||||
- 8.5.4
|
||||
- 8.5.5
|
||||
- 8.5.6
|
||||
- 8.7.6
|
||||
- 8.8.4
|
||||
- 8.8.8
|
||||
- 8.9.6
|
||||
- 8.9.7
|
||||
- 8.9.8
|
||||
- 8.9.9
|
||||
- 9.0.0
|
||||
- 9.0.1
|
||||
- 9.0.2
|
||||
- 9.0.3
|
||||
- 9.0.4
|
||||
- 9.0.6
|
||||
- 9.0.9
|
||||
- 9.1.0
|
||||
- 9.3.8-SAO-Heathcliff
|
||||
- 9.3.9
|
||||
- 9.4.0
|
||||
- 9.4.2-SA
|
||||
- 9.4.3-SA
|
||||
- 9.4.5
|
||||
- 9.4.6
|
||||
- 9.4.7
|
||||
- 9.4.8
|
||||
- 9.6.4
|
||||
- 9.6.5
|
||||
- 9.6.6
|
||||
- 9.6.7
|
||||
- 9.6.8
|
||||
- 9.7.0
|
||||
- 9.8.0
|
||||
- 9.8.4
|
||||
- 9.8.6
|
||||
- 9.9.1
|
||||
- 9.9.2
|
||||
- 9.9.3
|
||||
- 9.9.4
|
||||
- 9.9.6
|
||||
- 10.0.6
|
||||
- 10.0.7
|
||||
- 10.1.1
|
||||
- 10.1.2
|
||||
- 10.1.3
|
||||
- 10.1.5
|
||||
- 10.1.6
|
||||
- 10.1.9
|
||||
- 10.2.0
|
||||
- 10.2.1
|
||||
- 10.2.2
|
||||
- 10.2.3
|
||||
- 10.2.4
|
||||
- 10.2.5
|
||||
- 10.2.6
|
||||
- 10.2.9
|
||||
- 10.3.1
|
||||
- 10.3.2
|
||||
- 10.3.3
|
||||
- 10.4.0
|
||||
- 10.4.1
|
||||
- 10.5.1
|
||||
- 11.0
|
||||
- 11.4
|
||||
- 11.5
|
||||
- 12.0-alpha1
|
||||
- 11.7
|
||||
- 12.1
|
||||
- 12.2
|
||||
- 12.3
|
||||
- 13-alpha1
|
||||
- 12.5
|
||||
- 14-alpha2
|
||||
- 14-alpha3
|
||||
- 14.0
|
||||
- 15-alpha3
|
||||
- 15.0
|
||||
- 16
|
||||
- 17.0
|
||||
- 18.0-alpha1
|
||||
- 18.0-alpha9
|
||||
- 18.0-alpha11
|
||||
- 18.0-alpha12
|
||||
- 19.0
|
||||
- 20-alpha1
|
||||
- 21-alpha2
|
||||
- 22-alpha1
|
||||
- 21.3
|
||||
- 22-alpha3-alpha1
|
||||
- 16
|
||||
- 17.0
|
||||
- 18.0-alpha1
|
||||
- 18.0-alpha9
|
||||
- 18.0-alpha11
|
||||
- 18.0-alpha12
|
||||
- 19.0
|
||||
- 20-alpha1
|
||||
- 21-alpha2
|
||||
- 22-alpha1
|
||||
- 21.3
|
||||
- 22-alpha3-alpha4
|
||||
- 16
|
||||
- 17.0
|
||||
- 18.0-alpha1
|
||||
- 18.0-alpha9
|
||||
- 18.0-alpha11
|
||||
- 18.0-alpha12
|
||||
- 19.0
|
||||
- 20-alpha1
|
||||
- 21-alpha2
|
||||
- 22-alpha1
|
||||
- 21.3
|
||||
- 22-alpha3-alpha6
|
||||
- 16
|
||||
- 17.0
|
||||
- 18.0-alpha1
|
||||
- 18.0-alpha9
|
||||
- 18.0-alpha11
|
||||
- 18.0-alpha12
|
||||
- 19.0
|
||||
- 20-alpha1
|
||||
- 21-alpha2
|
||||
- 22-alpha1
|
||||
- 21.3
|
||||
- 22-alpha3-alpha7
|
||||
- 16
|
||||
- 17.0
|
||||
- 18.0-alpha1
|
||||
- 18.0-alpha9
|
||||
- 18.0-alpha11
|
||||
- 18.0-alpha12
|
||||
- 19.0
|
||||
- 20-alpha1
|
||||
- 21-alpha2
|
||||
- 22-alpha1
|
||||
- 21.3
|
||||
- 22-alpha3
|
||||
- 22.4
|
||||
- 22.5
|
||||
- 23.0
|
||||
- 24-alpha2
|
||||
- 24
|
||||
- 28-alpha2
|
||||
- 28.1
|
||||
- 29-alpha1
|
||||
- 30.0
|
||||
- 30.1
|
||||
- 31-alpha1
|
||||
- 31-alpha2
|
||||
- 32-alpha2
|
||||
- 32.0
|
||||
- 33.1
|
||||
- 34.0
|
||||
- 34.2
|
||||
- 34.3
|
||||
- 35.0-alpha1
|
||||
- 36.3
|
||||
- 36.5
|
||||
- 38.0
|
||||
- 38.1
|
||||
- 40.04
|
||||
- 41.02
|
||||
- 41.05
|
||||
- 41.06
|
||||
- 41.10
|
||||
- 41.11
|
||||
- 42.0
|
||||
- 42.1
|
||||
- 42.3
|
||||
- 44-alpha2
|
||||
- 44-alpha4
|
||||
- 44.5
|
||||
- 44.6
|
||||
- 45.2
|
||||
- 46.0
|
||||
- 46.3
|
||||
- 48.0
|
||||
- 48.1
|
||||
- 48.2
|
||||
- 49.1
|
||||
- 49.2
|
||||
- 49.8
|
||||
- 49.10
|
||||
- 49.12
|
||||
- 49.13
|
||||
- 52.3
|
||||
- 53.0
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"versionname": "53.0", "versioncode": "1356"}
|
236
patchport.py
|
@ -1,236 +0,0 @@
|
|||
#!/bin/env python3
|
||||
import re
|
||||
import sys
|
||||
import os
|
||||
import json
|
||||
import subprocess
|
||||
import datetime
|
||||
import shutil
|
||||
|
||||
# Example invocation:
|
||||
# python3 patchport.py /home/ave/apks/com.discord-900/
|
||||
|
||||
with open("patchport-state.json", "r") as f:
|
||||
jin = json.load(f)
|
||||
from_versioncode = jin["versioncode"]
|
||||
from_versionname = jin["versionname"]
|
||||
|
||||
apk_folder = sys.argv[1]
|
||||
cutthecord_folder = os.path.dirname(os.path.realpath(__file__))
|
||||
debug = False
|
||||
tmp_folder = "/tmp/patchport"
|
||||
|
||||
if debug:
|
||||
print(f"ctc folder: {cutthecord_folder}")
|
||||
|
||||
|
||||
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
|
||||
|
||||
|
||||
def apply_patch(patch_contents):
|
||||
subprocess.run("patch -p1 --no-backup-if-mismatch --force",
|
||||
shell=True, input=patch_contents, text=True,
|
||||
cwd=apk_folder, capture_output=True)
|
||||
|
||||
|
||||
def fix_offset(patch_contents):
|
||||
# OH GOD OH FUCK
|
||||
shutil.rmtree(tmp_folder, ignore_errors=True)
|
||||
shutil.copytree(apk_folder, tmp_folder)
|
||||
subprocess.run("patch -p1 --no-backup-if-mismatch --force",
|
||||
shell=True, input=patch_contents, text=True,
|
||||
cwd=tmp_folder, capture_output=True)
|
||||
out = subprocess.run(f"diff -crB {apk_folder} {tmp_folder}",
|
||||
shell=True, input=patch_contents, text=True,
|
||||
cwd=tmp_folder, capture_output=True)
|
||||
shutil.rmtree(tmp_folder, ignore_errors=True)
|
||||
patch_out = out.stdout.replace(apk_folder, "from").replace(tmp_folder, "to")
|
||||
return patch_out
|
||||
|
||||
|
||||
def make_necessary(version_name, version_code):
|
||||
# OH GOD OH FUCK
|
||||
shutil.rmtree(tmp_folder, ignore_errors=True)
|
||||
shutil.copytree(apk_folder, tmp_folder)
|
||||
|
||||
# Set version code and name
|
||||
# Due to https://github.com/iBotPeaches/Apktool/issues/2046
|
||||
# Code based on https://stackoverflow.com/a/4128192/3286892
|
||||
with open(os.path.join(tmp_folder, "AndroidManifest.xml")) as fin:
|
||||
filec = fin.read()
|
||||
incorrect_versioncode = re_versioncode_xml.findall(filec)[0]
|
||||
filec = filec.replace(incorrect_versioncode,
|
||||
f'platformBuildVersionCode="{to_versioncode}"')
|
||||
incorrect_versionname = re_versionname_xml.findall(filec)[0]
|
||||
filec = filec.replace(incorrect_versionname,
|
||||
f'platformBuildVersionName="{to_versionname}"')
|
||||
with open(os.path.join(tmp_folder, "AndroidManifest.xml"), "w") as fout:
|
||||
fout.write(filec)
|
||||
|
||||
out = subprocess.run(f"diff -crB {apk_folder} {tmp_folder}",
|
||||
shell=True, text=True,
|
||||
cwd=tmp_folder, capture_output=True)
|
||||
shutil.rmtree(tmp_folder, ignore_errors=True)
|
||||
patch_out = out.stdout.replace(apk_folder, "from").replace(tmp_folder, "to")
|
||||
return patch_out
|
||||
|
||||
|
||||
re_versioncode_xml = re.compile(r'(platformBuildVersionCode="[0-9]+")')
|
||||
re_versionname_xml = re.compile(r'(platformBuildVersionName="[0-9a-z.]+")')
|
||||
|
||||
re_versioncode_yml = re.compile(r'versionCode: \'([0-9]+)\'')
|
||||
re_versionname_yml = re.compile(r'versionName: \'?(.+?)\'?$')
|
||||
|
||||
re_releasedate = re.compile(r'released on ([0-9]{4}-[0-9]{2}-[0-9]{2})')
|
||||
re_crashlytics = re.compile(r'com\.crashlytics\.android\.build_id">([a-z0-9]'
|
||||
r'{8}-?[a-z0-9]{4}-?[a-z0-9]{4}-?[a-z0-9]{4}-?'
|
||||
r'[a-z0-9]{12})</string>')
|
||||
|
||||
|
||||
# Get version code and name
|
||||
with open(os.path.join(apk_folder, "apktool.yml")) as f:
|
||||
file_contents = f.read()
|
||||
to_versioncode = re_versioncode_yml.findall(file_contents)[0]
|
||||
to_versionname = re_versionname_yml.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")):
|
||||
if debug:
|
||||
print(f"going over patch: {patch}")
|
||||
|
||||
# Ignore non-dirs
|
||||
if not os.path.isdir(os.path.join(cutthecord_folder, "patches", patch)):
|
||||
if debug:
|
||||
print(f"patch is not a folder, skipping: {patch}")
|
||||
continue
|
||||
|
||||
pre_in_path = os.path.join(cutthecord_folder, "patches", patch,
|
||||
f"{from_versioncode}-pre.sh")
|
||||
post_in_path = os.path.join(cutthecord_folder, "patches", patch,
|
||||
f"{from_versioncode}-post.sh")
|
||||
pre_out_path = os.path.join(cutthecord_folder, "patches", patch,
|
||||
f"{to_versioncode}-pre.sh")
|
||||
post_out_path = os.path.join(cutthecord_folder, "patches", patch,
|
||||
f"{to_versioncode}-post.sh")
|
||||
|
||||
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")
|
||||
|
||||
# Handle copying of versioned scripts, untested and dirty!
|
||||
script_path = os.path.join(cutthecord_folder, "patches", patch,
|
||||
f"{from_versioncode}.sh")
|
||||
if os.path.exists(script_path):
|
||||
script_out_path = os.path.join(cutthecord_folder, "patches", patch,
|
||||
f"{to_versioncode}.sh")
|
||||
with open(script_path) as f:
|
||||
with open(script_out_path, "w") as f2:
|
||||
f2.write(f.read())
|
||||
|
||||
# Check if patch exists for from_version, if it doesn't, warn user
|
||||
if not os.path.isfile(patch_path) and patch not in ["necessary"]:
|
||||
# Don't warn on instructional patches
|
||||
if patch not in ["customfont", "customring",
|
||||
"bettertm", "bettertmlight",
|
||||
"blobs"]:
|
||||
print(f"SKIPPED: No {from_versionname} version found for {patch}.")
|
||||
continue
|
||||
|
||||
# Check if pre-script exists, if it does copy it
|
||||
if os.path.isfile(pre_in_path):
|
||||
shutil.copyfile(pre_in_path, pre_out_path)
|
||||
print(f"PRE COPIED: {patch}'s pre script was copied.")
|
||||
|
||||
# Check if post-script exists, if it does copy it
|
||||
if os.path.isfile(post_in_path):
|
||||
shutil.copyfile(post_in_path, post_out_path)
|
||||
print(f"POST COPIED: {patch}'s post script was copied.")
|
||||
|
||||
# Create necessary instead of porting it.
|
||||
if patch == "necessary":
|
||||
patch_contents = make_necessary(to_versioncode, to_versionname)
|
||||
else:
|
||||
# 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)
|
||||
out_path += "-failed"
|
||||
elif "offset" in out.stdout:
|
||||
patch_contents = fix_offset(patch_contents)
|
||||
print(f"WARNING: {patch} has offsets which were auto corrected.")
|
||||
|
||||
if debug:
|
||||
print(out.stdout)
|
||||
|
||||
# Apply patch to main APK folder too
|
||||
if patch in ["necessary"]:
|
||||
apply_patch(patch_contents)
|
||||
|
||||
if from_versionname != to_versionname:
|
||||
# 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}\n',
|
||||
f'- {from_versionname}\n'
|
||||
f'- {to_versionname}\n')
|
||||
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)
|
||||
|
||||
if not out_path.endswith("-failed"):
|
||||
print(f"PORTED: {patch} was successfully ported.")
|
||||
|
||||
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)
|
||||
|
||||
with open("patchport-state.json", "w") as f:
|
||||
jout = {"versionname": to_versionname, "versioncode": to_versioncode}
|
||||
json.dump(jout, f)
|
||||
|
||||
if failures:
|
||||
print(f"Port complete. Following patches failed: {', '.join(failures)}")
|
||||
else:
|
||||
print("Port complete. All patches completed successfully.")
|
2
resources/distok/android/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
*.apk
|
||||
|
0
resources/distok/android/.gitkeep
Normal file
0
resources/distok/versionlogs/.gitkeep
Normal file
0
resources/fdroid/repo/.gitkeep
Normal file
0
resources/fonts/.gitkeep
Normal file
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 578 KiB After Width: | Height: | Size: 578 KiB |
Before Width: | Height: | Size: 638 KiB After Width: | Height: | Size: 638 KiB |
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 44 KiB |
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 8.5 KiB |
Before Width: | Height: | Size: 9.9 KiB After Width: | Height: | Size: 9.9 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 44 KiB |
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 8.5 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 44 KiB |
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 8.5 KiB |
Before Width: | Height: | Size: 9.9 KiB After Width: | Height: | Size: 9.9 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 44 KiB |
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 8.5 KiB |
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.7 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 112 KiB After Width: | Height: | Size: 112 KiB |
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 63 KiB |
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 578 KiB After Width: | Height: | Size: 578 KiB |
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 591 KiB After Width: | Height: | Size: 591 KiB |
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 51 KiB |
0
resources/icons/others/.gitkeep
Normal file
0
resources/keystores/.gitkeep
Normal file
|
@ -9,3 +9,9 @@ Here's why these patches are no longer maintained in this form:
|
|||
- compact: It's just a pain to maintain.
|
||||
- smalltime: It's just a pain to maintain.
|
||||
- customdefaultemoji: There doesn't seem to be default emojis anymore?
|
||||
- noprofilestrip: UI changes removed the profile strip.
|
||||
- nonearby: Didn't add much anyways.
|
||||
- squareavatars: Moved to xml-patchs
|
||||
- betterrotation: Moved to xml-patchs
|
||||
- noblocked: Moved to xml-patchs
|
||||
- slashcommands: Moved to dynamic patch due to discord api supporting this now
|
22
resources/old-patches/betterrotation/1358.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
diff -crB from/AndroidManifest.xml to/AndroidManifest.xml
|
||||
*** from/AndroidManifest.xml 2020-12-08 18:13:28.198490900 +0000
|
||||
--- to/AndroidManifest.xml 2020-12-08 18:10:38.788471600 +0000
|
||||
***************
|
||||
*** 30,37 ****
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||
<application android:allowBackup="false" android:appCategory="social" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:icon="@mipmap/ic_logo_square" android:label="@string/discord" android:largeHeap="true" android:name="com.discord.app.App" android:requestLegacyExternalStorage="true" android:roundIcon="@mipmap/ic_logo_round" android:supportsRtl="true" android:theme="@style/AppTheme.Dark" android:usesCleartextTraffic="@bool/use_cleartext_traffic">
|
||||
<activity android:name="com.discord.samsung.SamsungConnectActivity" android:theme="@style/AppTheme.Translucent"/>
|
||||
! <activity android:name="com.discord.app.AppActivity" android:screenOrientation="fullUser" android:theme="@style/AppTheme.Dark" android:windowSoftInputMode="adjustResize|stateHidden"/>
|
||||
! <activity android:exported="true" android:launchMode="singleTask" android:name="com.discord.app.AppActivity$Main" android:screenOrientation="fullUser" android:theme="@style/AppTheme.Loading" android:windowSoftInputMode="adjustResize|stateHidden">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
--- 30,37 ----
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||
<application android:allowBackup="false" android:appCategory="social" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:icon="@mipmap/ic_logo_square" android:label="@string/discord" android:largeHeap="true" android:name="com.discord.app.App" android:requestLegacyExternalStorage="true" android:roundIcon="@mipmap/ic_logo_round" android:supportsRtl="true" android:theme="@style/AppTheme.Dark" android:usesCleartextTraffic="@bool/use_cleartext_traffic">
|
||||
<activity android:name="com.discord.samsung.SamsungConnectActivity" android:theme="@style/AppTheme.Translucent"/>
|
||||
! <activity android:name="com.discord.app.AppActivity" android:theme="@style/AppTheme.Dark" android:windowSoftInputMode="adjustResize|stateHidden"/>
|
||||
! <activity android:exported="true" android:launchMode="singleTask" android:name="com.discord.app.AppActivity$Main" android:theme="@style/AppTheme.Loading" android:windowSoftInputMode="adjustResize|stateHidden">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
22
resources/old-patches/betterrotation/1361.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
diff -crB from/AndroidManifest.xml to/AndroidManifest.xml
|
||||
*** from/AndroidManifest.xml 2020-12-08 18:13:28.198490900 +0000
|
||||
--- to/AndroidManifest.xml 2020-12-08 18:10:38.788471600 +0000
|
||||
***************
|
||||
*** 30,37 ****
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||
<application android:allowBackup="false" android:appCategory="social" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:icon="@mipmap/ic_logo_square" android:label="@string/discord" android:largeHeap="true" android:name="com.discord.app.App" android:requestLegacyExternalStorage="true" android:roundIcon="@mipmap/ic_logo_round" android:supportsRtl="true" android:theme="@style/AppTheme.Dark" android:usesCleartextTraffic="@bool/use_cleartext_traffic">
|
||||
<activity android:name="com.discord.samsung.SamsungConnectActivity" android:theme="@style/AppTheme.Translucent"/>
|
||||
! <activity android:name="com.discord.app.AppActivity" android:screenOrientation="fullUser" android:theme="@style/AppTheme.Dark" android:windowSoftInputMode="adjustResize|stateHidden"/>
|
||||
! <activity android:exported="true" android:launchMode="singleTask" android:name="com.discord.app.AppActivity$Main" android:screenOrientation="fullUser" android:theme="@style/AppTheme.Loading" android:windowSoftInputMode="adjustResize|stateHidden">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
--- 30,37 ----
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||
<application android:allowBackup="false" android:appCategory="social" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:icon="@mipmap/ic_logo_square" android:label="@string/discord" android:largeHeap="true" android:name="com.discord.app.App" android:requestLegacyExternalStorage="true" android:roundIcon="@mipmap/ic_logo_round" android:supportsRtl="true" android:theme="@style/AppTheme.Dark" android:usesCleartextTraffic="@bool/use_cleartext_traffic">
|
||||
<activity android:name="com.discord.samsung.SamsungConnectActivity" android:theme="@style/AppTheme.Translucent"/>
|
||||
! <activity android:name="com.discord.app.AppActivity" android:theme="@style/AppTheme.Dark" android:windowSoftInputMode="adjustResize|stateHidden"/>
|
||||
! <activity android:exported="true" android:launchMode="singleTask" android:name="com.discord.app.AppActivity$Main" android:theme="@style/AppTheme.Loading" android:windowSoftInputMode="adjustResize|stateHidden">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
22
resources/old-patches/betterrotation/1362.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
diff -crB from/AndroidManifest.xml to/AndroidManifest.xml
|
||||
*** from/AndroidManifest.xml 2020-12-08 18:13:28.198490900 +0000
|
||||
--- to/AndroidManifest.xml 2020-12-08 18:10:38.788471600 +0000
|
||||
***************
|
||||
*** 30,37 ****
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||
<application android:allowBackup="false" android:appCategory="social" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:icon="@mipmap/ic_logo_square" android:label="@string/discord" android:largeHeap="true" android:name="com.discord.app.App" android:requestLegacyExternalStorage="true" android:roundIcon="@mipmap/ic_logo_round" android:supportsRtl="true" android:theme="@style/AppTheme.Dark" android:usesCleartextTraffic="@bool/use_cleartext_traffic">
|
||||
<activity android:name="com.discord.samsung.SamsungConnectActivity" android:theme="@style/AppTheme.Translucent"/>
|
||||
! <activity android:name="com.discord.app.AppActivity" android:screenOrientation="fullUser" android:theme="@style/AppTheme.Dark" android:windowSoftInputMode="adjustResize|stateHidden"/>
|
||||
! <activity android:exported="true" android:launchMode="singleTask" android:name="com.discord.app.AppActivity$Main" android:screenOrientation="fullUser" android:theme="@style/AppTheme.Loading" android:windowSoftInputMode="adjustResize|stateHidden">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
--- 30,37 ----
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||
<application android:allowBackup="false" android:appCategory="social" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:icon="@mipmap/ic_logo_square" android:label="@string/discord" android:largeHeap="true" android:name="com.discord.app.App" android:requestLegacyExternalStorage="true" android:roundIcon="@mipmap/ic_logo_round" android:supportsRtl="true" android:theme="@style/AppTheme.Dark" android:usesCleartextTraffic="@bool/use_cleartext_traffic">
|
||||
<activity android:name="com.discord.samsung.SamsungConnectActivity" android:theme="@style/AppTheme.Translucent"/>
|
||||
! <activity android:name="com.discord.app.AppActivity" android:theme="@style/AppTheme.Dark" android:windowSoftInputMode="adjustResize|stateHidden"/>
|
||||
! <activity android:exported="true" android:launchMode="singleTask" android:name="com.discord.app.AppActivity$Main" android:theme="@style/AppTheme.Loading" android:windowSoftInputMode="adjustResize|stateHidden">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
22
resources/old-patches/betterrotation/1365.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
diff -crB from/AndroidManifest.xml to/AndroidManifest.xml
|
||||
*** from/AndroidManifest.xml 2020-12-08 18:13:28.198490900 +0000
|
||||
--- to/AndroidManifest.xml 2020-12-08 18:10:38.788471600 +0000
|
||||
***************
|
||||
*** 30,37 ****
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||
<application android:allowBackup="false" android:appCategory="social" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:icon="@mipmap/ic_logo_square" android:label="@string/discord" android:largeHeap="true" android:name="com.discord.app.App" android:requestLegacyExternalStorage="true" android:roundIcon="@mipmap/ic_logo_round" android:supportsRtl="true" android:theme="@style/AppTheme.Dark" android:usesCleartextTraffic="@bool/use_cleartext_traffic">
|
||||
<activity android:name="com.discord.samsung.SamsungConnectActivity" android:theme="@style/AppTheme.Translucent"/>
|
||||
! <activity android:name="com.discord.app.AppActivity" android:screenOrientation="fullUser" android:theme="@style/AppTheme.Dark" android:windowSoftInputMode="adjustResize|stateHidden"/>
|
||||
! <activity android:exported="true" android:launchMode="singleTask" android:name="com.discord.app.AppActivity$Main" android:screenOrientation="fullUser" android:theme="@style/AppTheme.Loading" android:windowSoftInputMode="adjustResize|stateHidden">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
--- 30,37 ----
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||
<application android:allowBackup="false" android:appCategory="social" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:icon="@mipmap/ic_logo_square" android:label="@string/discord" android:largeHeap="true" android:name="com.discord.app.App" android:requestLegacyExternalStorage="true" android:roundIcon="@mipmap/ic_logo_round" android:supportsRtl="true" android:theme="@style/AppTheme.Dark" android:usesCleartextTraffic="@bool/use_cleartext_traffic">
|
||||
<activity android:name="com.discord.samsung.SamsungConnectActivity" android:theme="@style/AppTheme.Translucent"/>
|
||||
! <activity android:name="com.discord.app.AppActivity" android:theme="@style/AppTheme.Dark" android:windowSoftInputMode="adjustResize|stateHidden"/>
|
||||
! <activity android:exported="true" android:launchMode="singleTask" android:name="com.discord.app.AppActivity$Main" android:theme="@style/AppTheme.Loading" android:windowSoftInputMode="adjustResize|stateHidden">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
22
resources/old-patches/betterrotation/1367.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
diff -crB from/AndroidManifest.xml to/AndroidManifest.xml
|
||||
*** from/AndroidManifest.xml 2020-12-08 18:13:28.198490900 +0000
|
||||
--- to/AndroidManifest.xml 2020-12-08 18:10:38.788471600 +0000
|
||||
***************
|
||||
*** 30,37 ****
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||
<application android:allowBackup="false" android:appCategory="social" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:icon="@mipmap/ic_logo_square" android:label="@string/discord" android:largeHeap="true" android:name="com.discord.app.App" android:requestLegacyExternalStorage="true" android:roundIcon="@mipmap/ic_logo_round" android:supportsRtl="true" android:theme="@style/AppTheme.Dark" android:usesCleartextTraffic="@bool/use_cleartext_traffic">
|
||||
<activity android:name="com.discord.samsung.SamsungConnectActivity" android:theme="@style/AppTheme.Translucent"/>
|
||||
! <activity android:name="com.discord.app.AppActivity" android:screenOrientation="fullUser" android:theme="@style/AppTheme.Dark" android:windowSoftInputMode="adjustResize|stateHidden"/>
|
||||
! <activity android:exported="true" android:launchMode="singleTask" android:name="com.discord.app.AppActivity$Main" android:screenOrientation="fullUser" android:theme="@style/AppTheme.Loading" android:windowSoftInputMode="adjustResize|stateHidden">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
--- 30,37 ----
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||
<application android:allowBackup="false" android:appCategory="social" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:icon="@mipmap/ic_logo_square" android:label="@string/discord" android:largeHeap="true" android:name="com.discord.app.App" android:requestLegacyExternalStorage="true" android:roundIcon="@mipmap/ic_logo_round" android:supportsRtl="true" android:theme="@style/AppTheme.Dark" android:usesCleartextTraffic="@bool/use_cleartext_traffic">
|
||||
<activity android:name="com.discord.samsung.SamsungConnectActivity" android:theme="@style/AppTheme.Translucent"/>
|
||||
! <activity android:name="com.discord.app.AppActivity" android:theme="@style/AppTheme.Dark" android:windowSoftInputMode="adjustResize|stateHidden"/>
|
||||
! <activity android:exported="true" android:launchMode="singleTask" android:name="com.discord.app.AppActivity$Main" android:theme="@style/AppTheme.Loading" android:windowSoftInputMode="adjustResize|stateHidden">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
22
resources/old-patches/betterrotation/1368.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
diff -crB from/AndroidManifest.xml to/AndroidManifest.xml
|
||||
*** from/AndroidManifest.xml 2020-12-08 18:13:28.198490900 +0000
|
||||
--- to/AndroidManifest.xml 2020-12-08 18:10:38.788471600 +0000
|
||||
***************
|
||||
*** 30,37 ****
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||
<application android:allowBackup="false" android:appCategory="social" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:icon="@mipmap/ic_logo_square" android:label="@string/discord" android:largeHeap="true" android:name="com.discord.app.App" android:requestLegacyExternalStorage="true" android:roundIcon="@mipmap/ic_logo_round" android:supportsRtl="true" android:theme="@style/AppTheme.Dark" android:usesCleartextTraffic="@bool/use_cleartext_traffic">
|
||||
<activity android:name="com.discord.samsung.SamsungConnectActivity" android:theme="@style/AppTheme.Translucent"/>
|
||||
! <activity android:name="com.discord.app.AppActivity" android:screenOrientation="fullUser" android:theme="@style/AppTheme.Dark" android:windowSoftInputMode="adjustResize|stateHidden"/>
|
||||
! <activity android:exported="true" android:launchMode="singleTask" android:name="com.discord.app.AppActivity$Main" android:screenOrientation="fullUser" android:theme="@style/AppTheme.Loading" android:windowSoftInputMode="adjustResize|stateHidden">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
--- 30,37 ----
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||
<application android:allowBackup="false" android:appCategory="social" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:icon="@mipmap/ic_logo_square" android:label="@string/discord" android:largeHeap="true" android:name="com.discord.app.App" android:requestLegacyExternalStorage="true" android:roundIcon="@mipmap/ic_logo_round" android:supportsRtl="true" android:theme="@style/AppTheme.Dark" android:usesCleartextTraffic="@bool/use_cleartext_traffic">
|
||||
<activity android:name="com.discord.samsung.SamsungConnectActivity" android:theme="@style/AppTheme.Translucent"/>
|
||||
! <activity android:name="com.discord.app.AppActivity" android:theme="@style/AppTheme.Dark" android:windowSoftInputMode="adjustResize|stateHidden"/>
|
||||
! <activity android:exported="true" android:launchMode="singleTask" android:name="com.discord.app.AppActivity$Main" android:theme="@style/AppTheme.Loading" android:windowSoftInputMode="adjustResize|stateHidden">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
22
resources/old-patches/betterrotation/1370.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
diff -crB from/AndroidManifest.xml to/AndroidManifest.xml
|
||||
*** from/AndroidManifest.xml 2020-12-08 18:13:28.198490900 +0000
|
||||
--- to/AndroidManifest.xml 2020-12-08 18:10:38.788471600 +0000
|
||||
***************
|
||||
*** 30,37 ****
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||
<application android:allowBackup="false" android:appCategory="social" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:icon="@mipmap/ic_logo_square" android:label="@string/discord" android:largeHeap="true" android:name="com.discord.app.App" android:requestLegacyExternalStorage="true" android:roundIcon="@mipmap/ic_logo_round" android:supportsRtl="true" android:theme="@style/AppTheme.Dark" android:usesCleartextTraffic="@bool/use_cleartext_traffic">
|
||||
<activity android:name="com.discord.samsung.SamsungConnectActivity" android:theme="@style/AppTheme.Translucent"/>
|
||||
! <activity android:name="com.discord.app.AppActivity" android:screenOrientation="fullUser" android:theme="@style/AppTheme.Dark" android:windowSoftInputMode="adjustResize|stateHidden"/>
|
||||
! <activity android:exported="true" android:launchMode="singleTask" android:name="com.discord.app.AppActivity$Main" android:screenOrientation="fullUser" android:theme="@style/AppTheme.Loading" android:windowSoftInputMode="adjustResize|stateHidden">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
--- 30,37 ----
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||
<application android:allowBackup="false" android:appCategory="social" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:icon="@mipmap/ic_logo_square" android:label="@string/discord" android:largeHeap="true" android:name="com.discord.app.App" android:requestLegacyExternalStorage="true" android:roundIcon="@mipmap/ic_logo_round" android:supportsRtl="true" android:theme="@style/AppTheme.Dark" android:usesCleartextTraffic="@bool/use_cleartext_traffic">
|
||||
<activity android:name="com.discord.samsung.SamsungConnectActivity" android:theme="@style/AppTheme.Translucent"/>
|
||||
! <activity android:name="com.discord.app.AppActivity" android:theme="@style/AppTheme.Dark" android:windowSoftInputMode="adjustResize|stateHidden"/>
|
||||
! <activity android:exported="true" android:launchMode="singleTask" android:name="com.discord.app.AppActivity$Main" android:theme="@style/AppTheme.Loading" android:windowSoftInputMode="adjustResize|stateHidden">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
22
resources/old-patches/betterrotation/1371.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
diff -crB from/AndroidManifest.xml to/AndroidManifest.xml
|
||||
*** from/AndroidManifest.xml 2020-12-08 18:13:28.198490900 +0000
|
||||
--- to/AndroidManifest.xml 2020-12-08 18:10:38.788471600 +0000
|
||||
***************
|
||||
*** 30,37 ****
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||
<application android:allowBackup="false" android:appCategory="social" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:icon="@mipmap/ic_logo_square" android:label="@string/discord" android:largeHeap="true" android:name="com.discord.app.App" android:requestLegacyExternalStorage="true" android:roundIcon="@mipmap/ic_logo_round" android:supportsRtl="true" android:theme="@style/AppTheme.Dark" android:usesCleartextTraffic="@bool/use_cleartext_traffic">
|
||||
<activity android:name="com.discord.samsung.SamsungConnectActivity" android:theme="@style/AppTheme.Translucent"/>
|
||||
! <activity android:name="com.discord.app.AppActivity" android:screenOrientation="fullUser" android:theme="@style/AppTheme.Dark" android:windowSoftInputMode="adjustResize|stateHidden"/>
|
||||
! <activity android:exported="true" android:launchMode="singleTask" android:name="com.discord.app.AppActivity$Main" android:screenOrientation="fullUser" android:theme="@style/AppTheme.Loading" android:windowSoftInputMode="adjustResize|stateHidden">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
--- 30,37 ----
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||
<application android:allowBackup="false" android:appCategory="social" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:icon="@mipmap/ic_logo_square" android:label="@string/discord" android:largeHeap="true" android:name="com.discord.app.App" android:requestLegacyExternalStorage="true" android:roundIcon="@mipmap/ic_logo_round" android:supportsRtl="true" android:theme="@style/AppTheme.Dark" android:usesCleartextTraffic="@bool/use_cleartext_traffic">
|
||||
<activity android:name="com.discord.samsung.SamsungConnectActivity" android:theme="@style/AppTheme.Translucent"/>
|
||||
! <activity android:name="com.discord.app.AppActivity" android:theme="@style/AppTheme.Dark" android:windowSoftInputMode="adjustResize|stateHidden"/>
|
||||
! <activity android:exported="true" android:launchMode="singleTask" android:name="com.discord.app.AppActivity$Main" android:theme="@style/AppTheme.Loading" android:windowSoftInputMode="adjustResize|stateHidden">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
22
resources/old-patches/betterrotation/78204.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
diff -crB fromAndroidManifest.xml to/AndroidManifest.xml
|
||||
*** fromAndroidManifest.xml 2021-05-31 15:40:24.000000000 +0300
|
||||
--- to/AndroidManifest.xml 2021-05-31 15:40:24.000000000 +0300
|
||||
***************
|
||||
*** 37,44 ****
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||
<application android:allowBackup="false" android:appCategory="social" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:icon="@mipmap/ic_logo_square_canary" android:label="@string/discord" android:largeHeap="true" android:name="com.discord.app.App" android:networkSecurityConfig="@xml/network_security_config" android:roundIcon="@mipmap/ic_logo_round_canary" android:supportsRtl="true" android:theme="@style/AppTheme.Dark">
|
||||
<activity android:name="com.discord.samsung.SamsungConnectActivity" android:theme="@style/AppTheme.Translucent"/>
|
||||
! <activity android:name="com.discord.app.AppActivity" android:screenOrientation="fullUser" android:theme="@style/AppTheme.Dark" android:windowSoftInputMode="adjustResize|stateHidden"/>
|
||||
! <activity android:exported="true" android:launchMode="singleTask" android:name="com.discord.app.AppActivity$Main" android:screenOrientation="fullUser" android:theme="@style/AppTheme.Loading" android:windowSoftInputMode="adjustResize|stateHidden">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
--- 37,44 ----
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||
<application android:allowBackup="false" android:appCategory="social" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:icon="@mipmap/ic_logo_square_canary" android:label="@string/discord" android:largeHeap="true" android:name="com.discord.app.App" android:networkSecurityConfig="@xml/network_security_config" android:roundIcon="@mipmap/ic_logo_round_canary" android:supportsRtl="true" android:theme="@style/AppTheme.Dark">
|
||||
<activity android:name="com.discord.samsung.SamsungConnectActivity" android:theme="@style/AppTheme.Translucent"/>
|
||||
! <activity android:name="com.discord.app.AppActivity" android:theme="@style/AppTheme.Dark" android:windowSoftInputMode="adjustResize|stateHidden"/>
|
||||
! <activity android:exported="true" android:launchMode="singleTask" android:name="com.discord.app.AppActivity$Main" android:theme="@style/AppTheme.Loading" android:windowSoftInputMode="adjustResize|stateHidden">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
22
resources/old-patches/betterrotation/87202.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
diff -crB fromAndroidManifest.xml to/AndroidManifest.xml
|
||||
*** fromAndroidManifest.xml 2021-05-31 15:40:24.000000000 +0300
|
||||
--- to/AndroidManifest.xml 2021-05-31 15:40:24.000000000 +0300
|
||||
***************
|
||||
*** 37,44 ****
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||
<application android:allowBackup="false" android:appCategory="social" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:icon="@mipmap/ic_logo_square_canary" android:label="@string/discord" android:largeHeap="true" android:name="com.discord.app.App" android:networkSecurityConfig="@xml/network_security_config" android:roundIcon="@mipmap/ic_logo_round_canary" android:supportsRtl="true" android:theme="@style/AppTheme.Dark">
|
||||
<activity android:name="com.discord.samsung.SamsungConnectActivity" android:theme="@style/AppTheme.Translucent"/>
|
||||
! <activity android:name="com.discord.app.AppActivity" android:screenOrientation="fullUser" android:theme="@style/AppTheme.Dark" android:windowSoftInputMode="adjustResize|stateHidden"/>
|
||||
! <activity android:exported="true" android:launchMode="singleTask" android:name="com.discord.app.AppActivity$Main" android:screenOrientation="fullUser" android:theme="@style/AppTheme.Loading" android:windowSoftInputMode="adjustResize|stateHidden">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
--- 37,44 ----
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||
<application android:allowBackup="false" android:appCategory="social" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:icon="@mipmap/ic_logo_square_canary" android:label="@string/discord" android:largeHeap="true" android:name="com.discord.app.App" android:networkSecurityConfig="@xml/network_security_config" android:roundIcon="@mipmap/ic_logo_round_canary" android:supportsRtl="true" android:theme="@style/AppTheme.Dark">
|
||||
<activity android:name="com.discord.samsung.SamsungConnectActivity" android:theme="@style/AppTheme.Translucent"/>
|
||||
! <activity android:name="com.discord.app.AppActivity" android:theme="@style/AppTheme.Dark" android:windowSoftInputMode="adjustResize|stateHidden"/>
|
||||
! <activity android:exported="true" android:launchMode="singleTask" android:name="com.discord.app.AppActivity$Main" android:theme="@style/AppTheme.Loading" android:windowSoftInputMode="adjustResize|stateHidden">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
|
@ -8,4 +8,10 @@ Contributed by [clienthax](https://gitdab.com/clienthax).
|
|||
- 49.13
|
||||
- 52.3
|
||||
- 53.0
|
||||
- 53.1
|
||||
- 53.3
|
||||
- 54.0
|
||||
- 55.1
|
||||
- 56.0
|
||||
- 78.4 - Alpha
|
||||
|