Compare commits
120 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 |
|
@ -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
|
||||
|
|
|
@ -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,9 +21,8 @@ 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
|
||||
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
15
README.md
|
@ -2,11 +2,17 @@
|
|||
|
||||
Modular Client Mod for Discord's Android app.
|
||||
|
||||
**Latest supported Discord Android version:** 34.0 (1213), released on 2020-07-29.
|
||||
**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)!
|
||||
|
||||
|
@ -23,3 +29,8 @@ If you fail recaptcha, [follow this](https://gitdab.com/distok/cutthecord/issues
|
|||
## 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,10 +0,0 @@
|
|||
## DisTok CutTheCord: Better DM Header Patch
|
||||
|
||||
This patch replaces the call button on DM headers with search button. The call button is still available in the right menu.
|
||||
|
||||
![](https://lasagna.cat/i/9njfeecd.png)
|
||||
|
||||
#### Available and tested on:
|
||||
- 33.1
|
||||
- 34.0
|
||||
|
|
@ -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,223 +0,0 @@
|
|||
#!/bin/env python3
|
||||
import os
|
||||
import re
|
||||
import shutil
|
||||
|
||||
# You'll likely want to edit these lines or set DISTOK_EXTRACTED_DISCORD_PATH and DISTOK_EMOJI_MUTANT
|
||||
extracted_discord_path = os.environ.get("DISTOK_EXTRACTED_DISCORD_PATH", "/tmp/cutthecord/discord")
|
||||
extracted_mutstd_path = os.environ.get("DISTOK_EMOJI_MUTANT", "/root/distokfiles/mutant/72x72")
|
||||
|
||||
|
||||
# Add your custom emojis here
|
||||
# with "mutstd filename": "discord filename".
|
||||
# You'll need to write a patch for `assets/data/emojis.json` too.
|
||||
custom_emojis = {"1f4af-200d-1f308.png": "emoji_1f4af_1f308.webp",
|
||||
"10169b-200d-1f308.png": "emoji_10169b_1f308.webp",
|
||||
"1f9d1-200d-2708-fe0f.png": "emoji_1f9d1_2708.webp",
|
||||
"1f9d1-200d-2695-fe0f.png": "emoji_1f9d1_2695.webp",
|
||||
"1f9d1-200d-1f680.png": "emoji_1f9d1_1f680.webp",
|
||||
"1f9d1-200d-1f52c.png": "emoji_1f9d1_1f52c.webp",
|
||||
"1f9d1-200d-1f527.png": "emoji_1f9d1_1f527.webp",
|
||||
"1f9d1-200d-1f4bb.png": "emoji_1f9d1_1f4bb.webp",
|
||||
"1f9d1-200d-1f373.png": "emoji_1f9d1_1f373.webp",
|
||||
"1f3fb.png": "emoji_1f3fb.webp",
|
||||
"1f3fc.png": "emoji_1f3fc.webp",
|
||||
"1f3fd.png": "emoji_1f3fd.webp",
|
||||
"1f3fe.png": "emoji_1f3fe.webp",
|
||||
"1f3ff.png": "emoji_1f3ff.webp",
|
||||
"101600.png": "emoji_101600.webp",
|
||||
"101601.png": "emoji_101601.webp",
|
||||
"101602.png": "emoji_101602.webp",
|
||||
"101603.png": "emoji_101603.webp",
|
||||
"101604.png": "emoji_101604.webp",
|
||||
"101605.png": "emoji_101605.webp",
|
||||
"101606.png": "emoji_101606.webp",
|
||||
"101607.png": "emoji_101607.webp",
|
||||
"101608.png": "emoji_101608.webp",
|
||||
"101609.png": "emoji_101609.webp",
|
||||
"10160a.png": "emoji_10160a.webp",
|
||||
"10160b.png": "emoji_10160b.webp",
|
||||
"10160c.png": "emoji_10160c.webp",
|
||||
"10160d.png": "emoji_10160d.webp",
|
||||
"10160e.png": "emoji_10160e.webp",
|
||||
"10160f.png": "emoji_10160f.webp",
|
||||
"101610.png": "emoji_101610.webp",
|
||||
"101611.png": "emoji_101611.webp",
|
||||
"101612.png": "emoji_101612.webp",
|
||||
"101613.png": "emoji_101613.webp",
|
||||
"101614.png": "emoji_101614.webp",
|
||||
"101615.png": "emoji_101615.webp",
|
||||
"101616.png": "emoji_101616.webp",
|
||||
"101617.png": "emoji_101617.webp",
|
||||
"101618.png": "emoji_101618.webp",
|
||||
"101619.png": "emoji_101619.webp",
|
||||
"10161a.png": "emoji_10161a.webp",
|
||||
"10161b.png": "emoji_10161b.webp",
|
||||
"10161c.png": "emoji_10161c.webp",
|
||||
"10161d.png": "emoji_10161d.webp",
|
||||
"10161e.png": "emoji_10161e.webp",
|
||||
"10161f.png": "emoji_10161f.webp",
|
||||
"101620.png": "emoji_101620.webp",
|
||||
"101621.png": "emoji_101621.webp",
|
||||
"101622.png": "emoji_101622.webp",
|
||||
"101623.png": "emoji_101623.webp",
|
||||
"101624.png": "emoji_101624.webp",
|
||||
"101625.png": "emoji_101625.webp",
|
||||
"101626.png": "emoji_101626.webp",
|
||||
"101627.png": "emoji_101627.webp",
|
||||
"101628.png": "emoji_101628.webp",
|
||||
"101629.png": "emoji_101629.webp",
|
||||
"10162a.png": "emoji_10162a.webp",
|
||||
"10162b.png": "emoji_10162b.webp",
|
||||
"10162c.png": "emoji_10162c.webp",
|
||||
"101650.png": "emoji_101650.webp",
|
||||
"101651.png": "emoji_101651.webp",
|
||||
"10169a.png": "emoji_10169a.webp",
|
||||
"26b2-fe0f.png": "emoji_26b2.webp",
|
||||
"26a8-fe0f.png": "emoji_26a8.webp",
|
||||
"26a7-fe0f.png": "emoji_26a7.webp",
|
||||
"26a5-fe0f.png": "emoji_26a5.webp",
|
||||
"26a4-fe0f.png": "emoji_26a4.webp",
|
||||
"26a3-fe0f.png": "emoji_26a3.webp",
|
||||
"26a2-fe0f.png": "emoji_26a2.webp",
|
||||
"2642-fe0f.png": "emoji_2642.webp",
|
||||
"2640-fe0f.png": "emoji_2640.webp",
|
||||
"1f9e1.png": "emoji_1f9e1.webp",
|
||||
"101685.png": "emoji_101685.webp",
|
||||
"101684.png": "emoji_101684.webp",
|
||||
"101683.png": "emoji_101683.webp",
|
||||
"101682.png": "emoji_101682.webp",
|
||||
"1f9fb.png": "emoji_1f9fb.webp",
|
||||
"1f9f1.png": "emoji_1f9f1.webp",
|
||||
"1f9e8.png": "emoji_1f9e8.webp",
|
||||
"1f9b4.png": "emoji_1f9b4.webp",
|
||||
"101696.png": "emoji_101696.webp",
|
||||
"101695.png": "emoji_101695.webp",
|
||||
"101694.png": "emoji_101694.webp",
|
||||
"101693.png": "emoji_101693.webp",
|
||||
"101692.png": "emoji_101692.webp",
|
||||
"10169b.png": "emoji_10169b.webp",
|
||||
"101698.png": "emoji_101698.webp",
|
||||
"101699.png": "emoji_101699.webp",
|
||||
"1f9dd.png": "emoji_1f9dd.webp",
|
||||
"1f99d.png": "emoji_1f99d.webp",
|
||||
"1f99c.png": "emoji_1f99c.webp",
|
||||
"1f99a.png": "emoji_1f99a.webp",
|
||||
"101666.png": "emoji_101666.webp",
|
||||
"1f9d0.png": "emoji_1f9d0.webp",
|
||||
"1f97a.png": "emoji_1f97a.webp",
|
||||
"1f976.png": "emoji_1f976.webp",
|
||||
"1f975.png": "emoji_1f975.webp",
|
||||
"1f974.png": "emoji_1f974.webp",
|
||||
"1f973.png": "emoji_1f973.webp",
|
||||
"1f970.png": "emoji_1f970.webp",
|
||||
"1f92f.png": "emoji_1f92f.webp",
|
||||
"1f92e.png": "emoji_1f92e.webp",
|
||||
"1f92d.png": "emoji_1f92d.webp",
|
||||
"1f92c.png": "emoji_1f92c.webp",
|
||||
"1f92b.png": "emoji_1f92b.webp",
|
||||
"1f92a.png": "emoji_1f92a.webp",
|
||||
"1f929.png": "emoji_1f929.webp",
|
||||
"1f928.png": "emoji_1f928.webp",
|
||||
"1f575-10162b.png": "emoji_1f575_10162b.webp",
|
||||
"1f486-10162b.png": "emoji_1f486_10162b.webp",
|
||||
"1f481-10162b.png": "emoji_1f481_10162b.webp",
|
||||
"101690.png": "emoji_101690.webp",
|
||||
"101697.png": "emoji_101697.webp",
|
||||
"1f9dc.png": "emoji_1f9dc.webp",
|
||||
"101681.png": "emoji_101681.webp",
|
||||
"101680.png": "emoji_101680.webp",
|
||||
"10167f.png": "emoji_10167f.webp",
|
||||
"10167e.png": "emoji_10167e.webp",
|
||||
"10167d.png": "emoji_10167d.webp",
|
||||
"10167c.png": "emoji_10167c.webp",
|
||||
"10167b.png": "emoji_10167b.webp",
|
||||
"10167a.png": "emoji_10167a.webp",
|
||||
"101679.png": "emoji_101679.webp",
|
||||
"101678.png": "emoji_101678.webp",
|
||||
"101677.png": "emoji_101677.webp",
|
||||
"101676.png": "emoji_101676.webp",
|
||||
"101675.png": "emoji_101675.webp",
|
||||
"101674.png": "emoji_101674.webp",
|
||||
"101673.png": "emoji_101673.webp",
|
||||
"101672.png": "emoji_101672.webp",
|
||||
"101671.png": "emoji_101671.webp",
|
||||
"101670.png": "emoji_101670.webp",
|
||||
"101686.png": "emoji_101686.webp",
|
||||
"101691.png": "emoji_101691.webp"}
|
||||
|
||||
|
||||
# self note to get MM emojos:
|
||||
# ls 72x72 | grep "101650-" | cut -f 1 -d '-' | sort | uniq
|
||||
# ls 72x72 | grep "101651-" | cut -f 1 -d '-' | sort | uniq
|
||||
# echo -e "\U1f44c"
|
||||
# paw:
|
||||
# claw:
|
||||
|
||||
def add_diverse_emojos():
|
||||
# Hackiest regex ever
|
||||
div_regex = r'(|.*/)([a-f0-9]+(|-fe0f)-(|101650|101651|101650-|101651-)'\
|
||||
r'(|1016[0-2][a-f0-9]|1f3f[b-f])\.png)'
|
||||
div_regex = re.compile(div_regex)
|
||||
for file in mutstd_emojis:
|
||||
re_result = div_regex.fullmatch(file)
|
||||
if re_result:
|
||||
mutant = re_result.group(2)
|
||||
discord = discordify_emoji_name(mutant)
|
||||
custom_emojis[mutant] = discord
|
||||
|
||||
|
||||
def clean_emoji_name(name):
|
||||
name = name.lower().replace("_", "-")\
|
||||
.replace("emoji-", "").replace("-fe0f", "")
|
||||
return name
|
||||
|
||||
|
||||
def discordify_emoji_name(name):
|
||||
name = "emoji_" + name.lower().replace("-", "_").replace("fe0f_", "")\
|
||||
.replace("200d_", "").replace(".png", ".webp")
|
||||
return name
|
||||
|
||||
|
||||
discord_emoji_path = os.path.join(extracted_discord_path, "res", "raw")
|
||||
# Get file listings in relevant folders
|
||||
discord_emojis = os.listdir(discord_emoji_path)
|
||||
mutstd_emojis = os.listdir(extracted_mutstd_path)
|
||||
|
||||
add_diverse_emojos()
|
||||
|
||||
# Clean names of mutantstd emojis so thar we can compare them
|
||||
# to clean discord emojis later
|
||||
clean_mutstd_emojis = {clean_emoji_name(emoji): emoji for
|
||||
emoji in mutstd_emojis}
|
||||
|
||||
replace_counter = 0
|
||||
|
||||
# Go through each discord emoji, and clean their names
|
||||
for emoji in discord_emojis:
|
||||
clean_discord_emoji = clean_emoji_name("{}.png".format(os.path.splitext(emoji)[0]))
|
||||
|
||||
# Check if said clean name of emoji is in clean mutstd list
|
||||
if clean_discord_emoji in clean_mutstd_emojis:
|
||||
# Get full unclean filename of mutantstd emoji, generate relevant paths
|
||||
full_mutstd_name = clean_mutstd_emojis[clean_discord_emoji]
|
||||
full_mutstd_path = os.path.join(extracted_mutstd_path, full_mutstd_name)
|
||||
full_discord_path = os.path.join(discord_emoji_path, emoji)
|
||||
|
||||
# Copy and overwrite the discord emojis with the mutantstd alternatives
|
||||
shutil.copyfile(full_mutstd_path, full_discord_path)
|
||||
|
||||
# print("Replaced {} emoji.".format(emoji))
|
||||
replace_counter += 1
|
||||
|
||||
for custom_emoji in custom_emojis:
|
||||
# One day I'd like to do discordify_emoji_name(custom_emoji)
|
||||
# But discord has too many exceptions for that~
|
||||
discord_emoji_name = custom_emojis[custom_emoji]
|
||||
full_mutstd_path = os.path.join(extracted_mutstd_path, custom_emoji)
|
||||
full_discord_path = os.path.join(discord_emoji_path, discord_emoji_name)
|
||||
shutil.copyfile(full_mutstd_path, full_discord_path)
|
||||
# print("Added custom {} emoji.".format(discord_emoji_name))
|
||||
replace_counter += 1
|
||||
|
||||
print("Done, {} emojis replaced.".format(replace_counter))
|
|
@ -1,170 +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
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
## DisTok CutTheCord: Show Tag Patch
|
||||
|
||||
This patch shows user's username after their nickname, if user has a nickname.
|
||||
|
||||
Example, no nickname:
|
||||
|
||||
![](https://lasagna.cat/i/c28755s6.png)
|
||||
|
||||
Example, with nickname:
|
||||
|
||||
![](https://lasagna.cat/i/uy68njkr.png)
|
||||
|
||||
#### Available and tested on:
|
||||
- 33.1
|
||||
- 34.0
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
diff -crB from/res/values/styles.xml to/res/values/styles.xml
|
||||
*** from/res/values/styles.xml 2020-07-18 13:36:43.160000000 +0300
|
||||
--- to/res/values/styles.xml 2020-07-18 13:37:55.320000000 +0300
|
||||
***************
|
||||
*** 1010,1016 ****
|
||||
<item name="actualImageScaleType">fitCenter</item>
|
||||
<item name="placeholderImage">@drawable/asset_default_avatar_32dp</item>
|
||||
<item name="placeholderImageScaleType">fitCenter</item>
|
||||
! <item name="roundAsCircle">true</item>
|
||||
</style>
|
||||
<style name="Avatar.Chat" parent="@style/Avatar.Large">
|
||||
<item name="android:layout_width">@dimen/avatar_size_chat</item>
|
||||
--- 1010,1017 ----
|
||||
<item name="actualImageScaleType">fitCenter</item>
|
||||
<item name="placeholderImage">@drawable/asset_default_avatar_32dp</item>
|
||||
<item name="placeholderImageScaleType">fitCenter</item>
|
||||
! <item name="roundAsCircle">false</item>
|
||||
! <item name="roundedCornerRadius">3dp</item>
|
||||
</style>
|
||||
<style name="Avatar.Chat" parent="@style/Avatar.Large">
|
||||
<item name="android:layout_width">@dimen/avatar_size_chat</item>
|
|
@ -1 +0,0 @@
|
|||
{"versionname": "34.0", "versioncode": "1213"}
|
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}\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.")
|
|
@ -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
|
||||
|