Compare commits
108 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 |
|
@ -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
|
10
README.md
|
@ -2,11 +2,17 @@
|
|||
|
||||
Modular Client Mod for Discord's Android app.
|
||||
|
||||
**Latest supported Discord Android version:** 35.0-alpha1 (1223), released on 2020-08-09.
|
||||
**THIS IS A WORK IN PROGRESS BRANCH! SOME PATCHES ARE MISSING (tokenlogin, hideunusableemojis, plus showtag has a bug)!**
|
||||
|
||||
Current state is good enough™ for an RC release, and there's currently RC releases in the repo. Update away!
|
||||
|
||||
For status updates and support on the project, join #cutthecord on https://libera.chat. WebIRC link: https://web.libera.chat/#cutthecord
|
||||
|
||||
**Latest supported Discord Android version:** 87.2 - Alpha (87202), released on 2021-08-04.
|
||||
|
||||
New patch development will be done for the latest supported version.
|
||||
|
||||
![A CutTheCord screenshot](https://elixi.re/t/mh3eirsy9.png)
|
||||
![A CutTheCord screenshot](https://elixi.re/t/m16z287iw.png)
|
||||
|
||||
Check out [README.md in patches folder to see what patches are available and what each of them do](patches/README.md)!
|
||||
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
ctcconfig.py
|
|
@ -1,13 +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
|
||||
- 34.2
|
||||
- 34.3
|
||||
- 35.0-alpha1
|
||||
|
|
@ -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,16 +0,0 @@
|
|||
## DisTok CutTheCord: Hide Unusable Emojis Patch
|
||||
|
||||
This patch only shows the emojis the user can actually use (mostly hides custom emojis from other guilds when you don't have Nitro).
|
||||
|
||||
![](https://lasagna.cat/i/4g6wfksl.png)
|
||||
|
||||
#### Thanks
|
||||
|
||||
Big thanks to [@BlueMods](https://gitdab.com/BlueMods) for sending in this patch.
|
||||
|
||||
#### Available and tested on:
|
||||
- 34.0
|
||||
- 34.2
|
||||
- 34.3
|
||||
- 35.0-alpha1
|
||||
|
|
@ -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,173 +0,0 @@
|
|||
## DisTok CutTheCord: No Profile Strip Patch
|
||||
|
||||
This patch removes the "profile strip" from the left side menu, helping remove PII from screenshots:
|
||||
|
||||
![](https://x3.pm/i/99b1vutg.png)
|
||||
|
||||
#### Available and tested on:
|
||||
- 8.4.2g
|
||||
- 8.4.3g
|
||||
- 8.4.4g
|
||||
- 8.4.5g
|
||||
- 8.4.8
|
||||
- 8.5.0
|
||||
- 8.5.1
|
||||
- 8.5.3
|
||||
- 8.5.4
|
||||
- 8.5.5
|
||||
- 8.5.6
|
||||
- 8.7.6
|
||||
- 8.8.4
|
||||
- 8.8.8
|
||||
- 8.9.6
|
||||
- 8.9.7
|
||||
- 8.9.8
|
||||
- 8.9.9
|
||||
- 9.0.0
|
||||
- 9.0.1
|
||||
- 9.0.2
|
||||
- 9.0.3
|
||||
- 9.0.4
|
||||
- 9.0.6
|
||||
- 9.0.9
|
||||
- 9.1.0
|
||||
- 9.3.8-SAO-Heathcliff
|
||||
- 9.3.9
|
||||
- 9.4.0
|
||||
- 9.4.2-SA
|
||||
- 9.4.3-SA
|
||||
- 9.4.5
|
||||
- 9.4.6
|
||||
- 9.4.7
|
||||
- 9.4.8
|
||||
- 9.6.4
|
||||
- 9.6.5
|
||||
- 9.6.6
|
||||
- 9.6.7
|
||||
- 9.6.8
|
||||
- 9.7.0
|
||||
- 9.8.0
|
||||
- 9.8.4
|
||||
- 9.8.6
|
||||
- 9.9.1
|
||||
- 9.9.2
|
||||
- 9.9.3
|
||||
- 9.9.4
|
||||
- 9.9.6
|
||||
- 10.0.6
|
||||
- 10.0.7
|
||||
- 10.1.1
|
||||
- 10.1.2
|
||||
- 10.1.3
|
||||
- 10.1.5
|
||||
- 10.1.6
|
||||
- 10.1.9
|
||||
- 10.2.0
|
||||
- 10.2.1
|
||||
- 10.2.2
|
||||
- 10.2.3
|
||||
- 10.2.4
|
||||
- 10.2.5
|
||||
- 10.2.6
|
||||
- 10.2.9
|
||||
- 10.3.1
|
||||
- 10.3.2
|
||||
- 10.3.3
|
||||
- 10.4.0
|
||||
- 10.4.1
|
||||
- 10.5.1
|
||||
- 11.0
|
||||
- 11.4
|
||||
- 11.5
|
||||
- 12.0-alpha1
|
||||
- 11.7
|
||||
- 12.1
|
||||
- 12.2
|
||||
- 12.3
|
||||
- 13-alpha1
|
||||
- 12.5
|
||||
- 14-alpha2
|
||||
- 14-alpha3
|
||||
- 14.0
|
||||
- 15-alpha3
|
||||
- 15.0
|
||||
- 16
|
||||
- 17.0
|
||||
- 18.0-alpha1
|
||||
- 18.0-alpha9
|
||||
- 18.0-alpha11
|
||||
- 18.0-alpha12
|
||||
- 19.0
|
||||
- 20-alpha1
|
||||
- 21-alpha2
|
||||
- 22-alpha1
|
||||
- 21.3
|
||||
- 22-alpha3-alpha1
|
||||
- 16
|
||||
- 17.0
|
||||
- 18.0-alpha1
|
||||
- 18.0-alpha9
|
||||
- 18.0-alpha11
|
||||
- 18.0-alpha12
|
||||
- 19.0
|
||||
- 20-alpha1
|
||||
- 21-alpha2
|
||||
- 22-alpha1
|
||||
- 21.3
|
||||
- 22-alpha3-alpha4
|
||||
- 16
|
||||
- 17.0
|
||||
- 18.0-alpha1
|
||||
- 18.0-alpha9
|
||||
- 18.0-alpha11
|
||||
- 18.0-alpha12
|
||||
- 19.0
|
||||
- 20-alpha1
|
||||
- 21-alpha2
|
||||
- 22-alpha1
|
||||
- 21.3
|
||||
- 22-alpha3-alpha6
|
||||
- 16
|
||||
- 17.0
|
||||
- 18.0-alpha1
|
||||
- 18.0-alpha9
|
||||
- 18.0-alpha11
|
||||
- 18.0-alpha12
|
||||
- 19.0
|
||||
- 20-alpha1
|
||||
- 21-alpha2
|
||||
- 22-alpha1
|
||||
- 21.3
|
||||
- 22-alpha3-alpha7
|
||||
- 16
|
||||
- 17.0
|
||||
- 18.0-alpha1
|
||||
- 18.0-alpha9
|
||||
- 18.0-alpha11
|
||||
- 18.0-alpha12
|
||||
- 19.0
|
||||
- 20-alpha1
|
||||
- 21-alpha2
|
||||
- 22-alpha1
|
||||
- 21.3
|
||||
- 22-alpha3
|
||||
- 22.4
|
||||
- 22.5
|
||||
- 23.0
|
||||
- 24-alpha2
|
||||
- 24
|
||||
- 28-alpha2
|
||||
- 28.1
|
||||
- 29-alpha1
|
||||
- 30.0
|
||||
- 30.1
|
||||
- 31-alpha1
|
||||
- 31-alpha2
|
||||
- 32-alpha2
|
||||
- 32.0
|
||||
- 33.1
|
||||
- 34.0
|
||||
- 34.2
|
||||
- 34.3
|
||||
- 35.0-alpha1
|
||||
|
|
@ -1,19 +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
|
||||
- 34.2
|
||||
- 34.3
|
||||
- 35.0-alpha1
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"versionname": "35.0-alpha1", "versioncode": "1223"}
|
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
|
||||
|