Compare commits
224 Commits
master
...
2021-05-31
Author | SHA1 | Date |
---|---|---|
ave | 59c76a6506 | |
ave | a8c17e2032 | |
ave | de8cfb9a10 | |
ave | b7aa569435 | |
ave | 7e4c49becc | |
ave | f58c28410d | |
ave | 91c37ab9d0 | |
ave | 166d763792 | |
ave | 0754700d51 | |
ave | c4fd0be029 | |
ave | d139344274 | |
ave | b6f80bbee0 | |
ave | 2786de6c73 | |
ave | de992e86ea | |
ave | 78d5dea649 | |
ave | 7b77ce9eda | |
ave | f1e8382505 | |
ave | d3c51e2bef | |
ave | 4199ef9d22 | |
clienthax | e1e88773ec | |
clienthax | 015c90eb70 | |
clienthax | cdfa005d35 | |
clienthax | c17cb44eaa | |
clienthax | 4de5282bf3 | |
clienthax | a70f7395aa | |
clienthax | 1d0a8b7088 | |
clienthax | 5bd99aa8c3 | |
clienthax | 5cca5ef444 | |
clienthax | 3e0464c796 | |
clienthax | f08854f5d0 | |
clienthax | f8dbc9333c | |
clienthax | 1c6b151083 | |
clienthax | 0359f5f975 | |
clienthax | f709704fce | |
clienthax | ec47b98061 | |
clienthax | 1a7ad17c87 | |
clienthax | 55e2e94b63 | |
clienthax | 8ec2dd75c2 | |
ave | 44cd92fcdc | |
ave | 8037a7c9b8 | |
ave | ab288a7c79 | |
ave | f38df07e48 | |
ave | 350f30b1f6 | |
ave | 4f86cec370 | |
ave | 9d7138b6a6 | |
ave | 66b238bb1b | |
ave | ee4a3cb49e | |
ave | 8f690ffe03 | |
ave | 69700dacaf | |
ave | fb587755da | |
ave | 1b99304a05 | |
ave | c60d13a690 | |
ave | 1cc00f6a48 | |
ave | f3ee05255c | |
ave | 4db6c07a04 | |
tesnos | fb8a857955 | |
tesnos | 9082828e56 | |
tesnos | 354e1538c2 | |
tesnos | 8811192499 | |
tesnos | 9de62d94f3 | |
tesnos | dab5801b1e | |
tesnos | 03827d9f02 | |
ave | 73cba5f94d | |
eatsfoobars | a35345d167 | |
eatsfoobars | c21b085f22 | |
eatsfoobars | 91dd61f262 | |
eatsfoobars | f52a1d0764 | |
ave | b9cf51f294 | |
ave | 2027eaeb39 | |
clienthax | 846555b074 | |
eatsfoobars | aa4716a408 | |
eatsfoobars | be9d148ab6 | |
eatsfoobars | 5b3d119feb | |
eatsfoobars | ba24b116ef | |
eatsfoobars | cc8480a670 | |
eatsfoobars | 1b951992d6 | |
eatsfoobars | c959bbd5dc | |
eatsfoobars | eb5982b549 | |
eatsfoobars | 1a0e94e839 | |
eatsfoobars | 4d55171e0a | |
eatsfoobars | eba502d79b | |
eatsfoobars | 74ef6c739c | |
eatsfoobars | 0d9e174896 | |
eatsfoobars | 50635e7ef5 | |
eatsfoobars | 27e17c1b02 | |
eatsfoobars | fa42c5c2ac | |
eatsfoobars | 6b28150550 | |
eatsfoobars | 042e463396 | |
eatsfoobars | 7d26edb384 | |
eatsfoobars | 55350f39f3 | |
eatsfoobars | 0eac291e9e | |
eatsfoobars | 365fbb5434 | |
eatsfoobars | 8b40115c04 | |
eatsfoobars | 1e65ddc414 | |
eatsfoobars | 36148dc8c4 | |
eatsfoobars | af9c3084c4 | |
eatsfoobars | b486a04551 | |
eatsfoobars | 012602f8d3 | |
eatsfoobars | dedd8883e6 | |
eatsfoobars | b9a34abfd1 | |
eatsfoobars | 4135a5166e | |
eatsfoobars | e4214a720a | |
eatsfoobars | a41f6243c6 | |
eatsfoobars | 654b36a802 | |
eatsfoobars | be8022f711 | |
eatsfoobars | 3a3a87e5b0 | |
eatsfoobars | 5a51e939bf | |
Juby210 | ec246529e2 | |
ave | e17082f086 | |
Juby210 | 19d9174f13 | |
eatsfoobars | e0da880575 | |
ave | 68088a72da | |
ave | 6b0907b1f4 | |
ave | c0f31381e4 | |
ave | 8021dc754f | |
ave | cb48362e57 | |
ave | bcbb19690b | |
ave | 839fac0839 | |
ave | 38112bd90f | |
ave | ce167af965 | |
ave | 14f60a1f71 | |
ave | 8fb52e55b0 | |
ave | 470cf56160 | |
ave | 39936489cd | |
ave | 393bc9f5f7 | |
ave | 6de3dd6e9b | |
eatsfoobars | 9c69a542df | |
eatsfoobars | e5917c3468 | |
eatsfoobars | e90a1f7dbe | |
eatsfoobars | daf4e2870e | |
eatsfoobars | b778156d13 | |
eatsfoobars | a8231cf8e7 | |
eatsfoobars | 1aa4259dc7 | |
eatsfoobars | 73727f987d | |
eatsfoobars | 371deaeb8c | |
eatsfoobars | 36b408b344 | |
eatsfoobars | 6017340000 | |
eatsfoobars | 3bf697bda2 | |
eatsfoobars | 2e08b423ab | |
eatsfoobars | 9124e4f55a | |
eatsfoobars | 453d686ce9 | |
eatsfoobars | eed9c96977 | |
eatsfoobars | 8baa11bd63 | |
ave | d8a7778363 | |
ave | a0f1e3be25 | |
eatsfoobars | 13e2bea520 | |
ave | b21564104e | |
ave | 30c8b07077 | |
ave | cf6f10a0e1 | |
ave | 018474dc2b | |
ave | 0fce4fcc32 | |
ave | 6c0281585b | |
ave | c9f6835a3a | |
ave | 1ef4aeca93 | |
eatsfoobars | 51dd62b8dd | |
eatsfoobars | 763c3d049e | |
ave | 8de59b609e | |
ave | 34ed1d26a1 | |
ave | 45ae1da7c0 | |
ave | a7f86633eb | |
ave | e258381598 | |
ave | 2e54e52e9c | |
ave | 2b7fd2db8b | |
ave | e5d1d15529 | |
ave | d543bdf05e | |
ave | 4222669a72 | |
eatsfoobars | 3f66c64829 | |
eatsfoobars | aa7717d480 | |
eatsfoobars | b5d311537d | |
eatsfoobars | ecdaae17c9 | |
eatsfoobars | b2bde909dd | |
eatsfoobars | 283cb1eff8 | |
eatsfoobars | 882e7af9a5 | |
eatsfoobars | 468c6524c3 | |
eatsfoobars | 78763267b7 | |
eatsfoobars | 7c0e23cba0 | |
eatsfoobars | 9a5e48e4bc | |
eatsfoobars | d878b5fa04 | |
ave | a7c5df7f94 | |
eatsfoobars | 11aee3867d | |
eatsfoobars | 49b5c1260d | |
ave | 06bbc516cd | |
ave | 26464885ce | |
ave | e835e524d1 | |
ave | c10a876d49 | |
ave | bcdde1a700 | |
ave | 031c035ed4 | |
ave | 704bcbf36a | |
ave | 515224c26e | |
ave | 37c67106c3 | |
ave | 2b5c73dbad | |
ave | fd7ad91162 | |
eatsfoobars | 27612d0bb4 | |
eatsfoobars | b46948e870 | |
eatsfoobars | ba1b4e53b0 | |
eatsfoobars | fc5114053d | |
eatsfoobars | 46cad4a8b6 | |
eatsfoobars | 9fa3cfd767 | |
eatsfoobars | 97e5c3cf65 | |
eatsfoobars | ed1ab9c21e | |
eatsfoobars | 4514a2e10d | |
eatsfoobars | d48b83f959 | |
eatsfoobars | 19d1183996 | |
eatsfoobars | 800cdc5744 | |
eatsfoobars | 939e03f02e | |
eatsfoobars | 34f9c741e8 | |
eatsfoobars | dbbadae1d8 | |
eatsfoobars | 4bd9374153 | |
eatsfoobars | 3e617ce379 | |
eatsfoobars | a7a16f68a6 | |
eatsfoobars | 88f716ade9 | |
eatsfoobars | 74d87d178f | |
eatsfoobars | 342909ebfd | |
eatsfoobars | bd5164d8c0 | |
eatsfoobars | 0eb66929c2 | |
eatsfoobars | afcc6cfc5c | |
ave | 018827f9a2 | |
ave | 2f488ed270 | |
ave | d8e3b15116 | |
eatsfoobars | 92faf73c74 | |
eatsfoobars | 2118070d84 | |
eatsfoobars | 909b9298b8 | |
eatsfoobars | 72e31b2a4e | |
ave | 4343c6f701 |
|
@ -0,0 +1,2 @@
|
|||
* text=auto eol=lf
|
||||
|
|
@ -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
|
||||
|
|
20
BUILDING.md
|
@ -2,13 +2,14 @@
|
|||
|
||||
#### 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).
|
||||
- If you want Blob emoji patches, get 72x72 PNG copies of blobmojis with codepoints. I personally resized the png/128 folder in this [repo](https://github.com/C1710/blobmoji) (`find /home/ave/blobmoji/png/72 -iname '*.png' -exec convert \{\} -verbose -resize 72x72\> \{\} \;`).
|
||||
- Extract the emojis you got somewhere.
|
||||
- Clone this repo somewhere, edit `patches/mutant/emojireplace.py` and `patches/blobs/emojireplace.py`, set the `extracted_mutstd_path` and `extracted_blobmoji_path` folders respectively to the folder you just extracted emojis to.
|
||||
- Clone this repo somewhere.
|
||||
- Set your environment variables (see below), put them to somewhere where they'll persist (like your .bashrc/.zshrc, or preferably a build script).
|
||||
- Get a Discord apk (*cough* [apkmirror](https://www.apkmirror.com/apk/discord-inc/discord-chat-for-gamers/), [aptoide API](https://ws75.aptoide.com/api/7/app/getMeta?package_name=com.discord)).
|
||||
|
||||
### Using CutTheCord CI
|
||||
|
@ -20,13 +21,20 @@ 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, set `LOCAL_STATE` to `True` and point `STATE_FILE` to a `state.json` file that looks like this: `{"android": {"com.discord": {"version": 909}}}`.
|
||||
- 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`).
|
||||
|
||||
#### Environment Variables
|
||||
|
||||
- `DISTOK_VERSION_LOGS` (required, default: `"/root/distokrepos/versionlogs/"`): Should point to an empty directory (such as `export DISTOK_VERSION_LOGS="/home/ave/distokversionlogs"`). This directory will hold versions that will increase with each build. This is a hack that I need to eventually re-design, preferably move to a json file etc.
|
||||
- `DISTOK_EMOJI_MUTANT` (optional, default: `"/root/distokfiles/mutant/72x72"`): Folder with the mutant emoji files. This should be set if you're going to be enabling the mutant emoji patches.
|
||||
- `DISTOK_EMOJI_BLOBMOJI` (optional, default: `"/root/distokfiles/blobmoji/png/72"`): Folder with the blobmoji files. This should be set if you're going to be enabling the blobmoji patches.
|
||||
- `DISTOK_EXTRACTED_DISCORD_PATH` (complicated, default: `"/tmp/cutthecord/discord"`): Directory at which your extracted discord files reside. This is required on manual builds, but will be overriden by ctcci with `WORK_APK_PATH` if ctcci is being used.
|
||||
|
||||
#### Running builds
|
||||
|
||||
- Firstly, ensure that you properly set your environment variables!
|
||||
- Simply run the `ctcci.py` script, with first argument being branch name, and latter ones being name of patches you want to add in.
|
||||
|
||||
Example: `python3.6 /home/ave/distokrepos/cutthecord/ctcci/ctcci.py ave mutant customfont slashcommands tokenlogin customtheme customdefaultemoji customring bettertm notrack noprofilestrip nonearby experiments noblocked squareavatars`
|
||||
|
@ -52,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
|
||||
|
||||
|
|
|
@ -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
|
23
README.md
|
@ -2,11 +2,17 @@
|
|||
|
||||
Modular Client Mod for Discord's Android app.
|
||||
|
||||
**Latest supported Discord Android version:** 10.2.9 (1029), released on 2020-01-28.
|
||||
**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/i/h3eirsy9.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)!
|
||||
|
||||
|
@ -18,14 +24,13 @@ You can add that to your phone and get updates easily or just download directly
|
|||
|
||||
Feel free to ignore play protect, it's bullshit.
|
||||
|
||||
If you fail recaptcha, [follow this](https://gitdab.com/distok/cutthecord/issues/22#issuecomment-82) (run through adb).
|
||||
|
||||
**PSA: Please keep in mind that you may be unable to receive updates due to an F-Droid bug.**
|
||||
|
||||
~~If you're affected by this, here's a workaround: F-Droid -> Settings -> Repositories -> Seabear, tap Share on top bar, copy to clipboard, tap Delete (next to share), then tap Add Repository. It should already be filled in (from clipboard), so add it and you should be able to get updates after that.~~
|
||||
|
||||
If you're affected by this, ensure that your F-Droid version is 1.7 or higher. As of time of writing, F-Droid 1.7 is alpha, and can only be downloaded by enabling Unstable Updates through Settings -> Advanced Settings.
|
||||
If you fail recaptcha, [follow this](https://gitdab.com/distok/cutthecord/issues/22#issuecomment-82).
|
||||
|
||||
## Building
|
||||
|
||||
See [BUILDING.md](BUILDING.md).
|
||||
|
||||
## License
|
||||
|
||||
- CTCCI, patchport and other scripts are AGPLv3.
|
||||
- We chose to not license the patches, and are therefore "All Rights Reserved". However, you're allowed to use it to build your own version of CutTheCord, fork CutTheCord, develop your own patches etc, and we kindly ask you to send us any patches you develop that you think may be helpful. You're free to distribute binaries (apks) including CutTheCord patches as long as you give appropriate credit to the CutTheCord project.
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
ctcconfig.py
|
|
@ -1,81 +0,0 @@
|
|||
import os
|
||||
|
||||
APKTOOL_BIN = "java -jar /home/ave/apktool-cli-all.jar" # use latest
|
||||
|
||||
# Set to false if you're going to use a local state.json file
|
||||
# state.json has information about the latest discord version
|
||||
LOCAL_STATE = False
|
||||
STATE_FILE = "/home/ave/distok/state.json"
|
||||
|
||||
# APKs must be placed under $DISTOK_FOLDER/android/$PACKAGE_ID-$VERSION_NUMBER.apk
|
||||
# Example: /home/ave/distok/android/com.discord-909.apk
|
||||
DISTOK_FOLDER = "/home/ave/distok"
|
||||
|
||||
# Set if F-Droid repo should be automatically updated or not
|
||||
# If set to False, you can leave FDROID_FOLDER empty
|
||||
DO_FDROID = True
|
||||
FDROID_FOLDER = "/var/www/fdroid/seabear"
|
||||
|
||||
# This is where APKs will be placed
|
||||
RESULT_FOLDER = FDROID_FOLDER + "/repo"
|
||||
|
||||
# Repo for CutTheCord (https://gitdab.com/distok/cutthecord)
|
||||
DO_GITPULL = True
|
||||
REPO_FOLDER = "/home/ave/distokrepos/cutthecord"
|
||||
|
||||
# If false, jarsigner will be used for signing the apk.
|
||||
DO_APKSIGNER = True
|
||||
|
||||
# Keystore file, alias and pass. Required.
|
||||
KEYSTORE_FILE = "/home/ave/oof.keystore"
|
||||
KEYSTORE_ALIAS = "distok"
|
||||
KEYSTORE_PASS = "redacted"
|
||||
|
||||
# Set this to the python version you want to use. Needs to be 3.6+.
|
||||
PYTHON_BIN = "python3.6"
|
||||
|
||||
# Folder where the apk will be extracted to, patched in, and packed back on
|
||||
# You're not recommended to touch WORK_APK_PATH.
|
||||
WORK_FOLDER = "/tmp/cutthecord"
|
||||
WORK_APK_PATH = os.path.join(WORK_FOLDER, "discord")
|
||||
|
||||
# Package ID for discord. You should probably not touch this.
|
||||
PACKAGE_ID = "com.discord"
|
||||
|
||||
# Set to force if you want builds to be done
|
||||
# even if there's already a build for this version
|
||||
FORCE = False
|
||||
|
||||
# Custom ringtones, default = applied to all the ones not explicitly stated
|
||||
RINGTONES = {"ave": "/home/ave/sans.mp3",
|
||||
"default": "/home/ave/removeskype.mp3"}
|
||||
|
||||
# Custom icons, default = applied to all the ones not explicitly stated
|
||||
ICONS = {"ave": "/home/ave/ctclogoave.png",
|
||||
"default": "/home/ave/ctclogo.png"}
|
||||
|
||||
# Custom dynamic icons, default = applied to all the ones not explicitly stated
|
||||
DYN_ICONS = {"ave": {"bg": "/home/ave/distokrepos/cutthecord/icons/bg.png",
|
||||
"fg": "/home/ave/distokrepos/cutthecord/icons/fg.png"},
|
||||
"default": {"bg": "/home/ave/dcbg.png",
|
||||
"fg": "/home/ave/dcfg.png"}}
|
||||
|
||||
# Custom app names, default = applied to all the ones not explicitly stated
|
||||
# Needs to be one word, __ gets replaced with space
|
||||
APP_NAMES = {"ave": "CutTheCord__Ave",
|
||||
"litecord": "Litecord",
|
||||
"test": "CTC__Testing",
|
||||
"default": "CutTheCord"}
|
||||
|
||||
# Custom fonts, default = applied to all the ones not explicitly stated
|
||||
FONTS = {"ellie": {"whitney_bold.ttf": "/home/ave/fonts/GoogleSans-Bold.ttf",
|
||||
"whitney_semibold.ttf": "/home/ave/fonts/GoogleSans-Medium.ttf",
|
||||
"whitney_medium.ttf": "/home/ave/fonts/GoogleSans-Regular.ttf"},
|
||||
"dyslexic": {"whitney_bold.ttf": "/home/ave/fonts/OpenDyslexic3-Bold.ttf",
|
||||
"whitney_semibold.ttf": "/home/ave/fonts/OpenDyslexic3-Bold.ttf",
|
||||
"whitney_medium.ttf": "/home/ave/fonts/OpenDyslexic3-Regular.ttf"},
|
||||
"murm": {"whitney_bold.ttf": "/home/ave/fonts/comicbd.ttf",
|
||||
"whitney_semibold.ttf": "/home/ave/fonts/comicbd.ttf",
|
||||
"whitney_medium.ttf": "/home/ave/fonts/comic.ttf"},
|
||||
"ave": {"sourcecodepro_semibold.ttf": "/home/ave/fonts/comic.ttf"},
|
||||
"default": {}}
|
|
@ -1 +0,0 @@
|
|||
requests
|
|
@ -1,3 +0,0 @@
|
|||
#!/bin/bash
|
||||
\cp "$1/emoji_2122_fe0f.png" res/raw/
|
||||
\cp "$1/emoji_ae_fe0f.png" res/raw/
|
|
@ -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,3 +0,0 @@
|
|||
#!/bin/bash
|
||||
\cp "$1" res/drawable-xxhdpi/img_loading_clyde.png
|
||||
\cp "$1" res/drawable-xxxhdpi/img_loading_clyde.png
|
|
@ -1,81 +0,0 @@
|
|||
## DisTok CutTheCord: Custom Version Patch
|
||||
|
||||
This patch replaces version string and adds mention of cutthecord in the user settings:
|
||||
|
||||
![](https://elixi.re/i/f6lfgh0s.png)
|
||||
|
||||
#### Available and tested on:
|
||||
- 8.3.2
|
||||
- 8.3.3
|
||||
- 8.3.4g
|
||||
- 8.3.5g
|
||||
- 8.3.6g
|
||||
- 8.3.9g
|
||||
- 8.4.1g
|
||||
- 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.3
|
||||
- 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
|
||||
|
|
@ -1,83 +0,0 @@
|
|||
## DisTok CutTheCord: Disable Mobile Indicator Patch
|
||||
|
||||
This patch replaces the browser name from "Discord Android" to "Discord Client", disabling the Mobile Indicator which is a privacy violation without an explicit opt-out option.
|
||||
|
||||
However, this causes some issues. See the `Bugs / Side effects` list below.
|
||||
|
||||
#### Bugs / Side effects
|
||||
- CRITICAL: Push notifications are broken
|
||||
- NOTE: This is really obvious on discord's end, and may be bannable.
|
||||
|
||||
#### Available and tested on:
|
||||
- 8.3.0
|
||||
- 8.3.1
|
||||
- 8.3.6g
|
||||
- 8.3.9g
|
||||
- 8.4.1g
|
||||
- 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.3
|
||||
- 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
|
||||
|
|
@ -1,76 +0,0 @@
|
|||
## DisTok CutTheCord: Custom Version Patch
|
||||
|
||||
This patch completely hides the "# Blocked Message(s)" thing.
|
||||
|
||||
#### Available and tested on:
|
||||
- 8.3.5g
|
||||
- 8.3.6g
|
||||
- 8.3.9g
|
||||
- 8.4.1g
|
||||
- 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.3
|
||||
- 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
|
||||
|
|
@ -1,79 +0,0 @@
|
|||
## DisTok CutTheCord: No Nearby Patch
|
||||
|
||||
This patch nulls a bunch of nearby friends features for privacy.
|
||||
|
||||
#### Available and tested on:
|
||||
- 8.3.2
|
||||
- 8.3.3
|
||||
- 8.3.4g
|
||||
- 8.3.5g
|
||||
- 8.3.6g
|
||||
- 8.3.9g
|
||||
- 8.4.1g
|
||||
- 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.3
|
||||
- 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
|
||||
|
|
@ -1,73 +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
|
||||
|
|
@ -1,76 +0,0 @@
|
|||
## DisTok CutTheCord: No zlib-stream Patch
|
||||
|
||||
This patch disables zlib-stream field on wss, making it easier to parse it.
|
||||
|
||||
#### Available and tested on:
|
||||
- 8.3.5g
|
||||
- 8.3.6g
|
||||
- 8.3.9g
|
||||
- 8.4.1g
|
||||
- 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.3
|
||||
- 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
|
||||
|
|
@ -1,78 +0,0 @@
|
|||
## DisTok CutTheCord: Square Avatars Patch
|
||||
|
||||
This patch turns the circle avatars to their full square versions, letting you see the whole image.
|
||||
|
||||
A very small amount of rounding is applied to make it look a little better.
|
||||
|
||||
#### Available and tested on:
|
||||
- 8.3.5g
|
||||
- 8.3.6g
|
||||
- 8.3.9g
|
||||
- 8.4.1g
|
||||
- 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.3
|
||||
- 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
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
## DisTok CutTheCord: Supplemental Patch
|
||||
|
||||
This patch adds various helper functions that were previously part of slashcommands. It is required to have this patch if you're going to use patches such as tokenlogin.
|
||||
|
||||
![Captain's Log](https://elixi.re/i/ug70v29p.jpg)
|
||||
|
||||
#### Available and tested on:
|
||||
- 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
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
## DisTok CutTheCord: Token Login Patch
|
||||
|
||||
This patch allows you to login with just a token.
|
||||
|
||||
On login screen, set email to anything that starts with `tokenlogin`, such as `tokenlogin@example.com`. Set password to token, press login. Close app, restart it, and you'll automatically get logged in with that token.
|
||||
|
||||
This patch relies on supplemental, so please use that patch too.
|
||||
|
||||
#### Available and tested on:
|
||||
- 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.3
|
||||
- 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
|
|
@ -1 +0,0 @@
|
|||
{"versionname": "10.2.9", "versioncode": "1029"}
|
235
patchport.py
|
@ -1,235 +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)
|
||||
|
||||
# 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)
|
||||
|
||||
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.")
|
|
@ -0,0 +1,2 @@
|
|||
*.apk
|
||||
|
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 |
|
@ -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
|
|
@ -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"/>
|
|
@ -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"/>
|
|
@ -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"/>
|
|
@ -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"/>
|
|
@ -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"/>
|
|
@ -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"/>
|
|
@ -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"/>
|
|
@ -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"/>
|
|
@ -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"/>
|
|
@ -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"/>
|
|
@ -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"/>
|
|
@ -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"/>
|
|
@ -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"/>
|
|
@ -0,0 +1,17 @@
|
|||
## DisTok CutTheCord: Better Rotation
|
||||
|
||||
This patch changes rotation settings to disallow upside down rotation.
|
||||
|
||||
Contributed by [clienthax](https://gitdab.com/clienthax).
|
||||
|
||||
#### Available and tested on:
|
||||
- 49.13
|
||||
- 52.3
|
||||
- 53.0
|
||||
- 53.1
|
||||
- 53.3
|
||||
- 54.0
|
||||
- 55.1
|
||||
- 56.0
|
||||
- 78.4 - Alpha
|
||||
|