Skip to content
This repository was archived by the owner on May 4, 2023. It is now read-only.

Commit 92952e1

Browse files
Merge pull request #230 from Androidacy/master
Huge changes/update
2 parents 494aab4 + cdc4bcd commit 92952e1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+1252
-847
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@
99
.cxx
1010
local.properties
1111
sentry.properties
12+
androidacy.properties

README.md

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
# Fox's Magisk Module Manager
22

3-
## Important
3+
<details>
4+
<summary>
5+
Important news
6+
</summary>
47

58
I have health problems that made me work slow on everything.
69
I don't like sharing my health problmes but it has been to much recently for me to keep it for myself.
@@ -50,6 +53,8 @@ at least you won't be hurting peoples with mental/health issues by faking having
5053
I'll probably delete this section once my health would be gotten better, or at
5154
least good enough for me to not be stuck on my bed at least once a day because of pain.
5255

56+
</details>
57+
5358
## Community
5459

5560
[![Telegram Group](https://img.shields.io/endpoint?color=neon&style=flat&url=https%3A%2F%2Ftg.sumanjay.workers.dev%2FFox2Code_Chat)](https://telegram.dog/Fox2Code_Chat)
@@ -94,9 +99,9 @@ and download and install the latest `.apk` on your device.
9499
## Repositories Available
95100

96101

97-
The app currently use these three repo as it's module sources, with it's benefits and drawback:
102+
The app currently use these two repos as module sources, each with their own benefits and drawback:
98103
(Note: Each module repo can be disabled in the settings of the app)
99-
(Note²: I do not own or monitor any of the repo, **download at your own risk**)
104+
(Note²: I do not own or actively monitor any of the repos or modules, **download at your own risk**)
100105

101106
#### [https://github.com/Magisk-Modules-Alt-Repo](https://github.com/Magisk-Modules-Alt-Repo)
102107
- Accepting new modules [here](https://github.com/Magisk-Modules-Alt-Repo/submission)
@@ -112,6 +117,7 @@ Support:
112117
- Modules downloadable easily outside the app
113118
- Officially supported by Fox's mmm
114119
- Contains ads to help cover server costs
120+
- Added features like module reviews, automatic VirusTotal scans, and more
115121

116122
Support:
117123

@@ -152,6 +158,13 @@ If your language is right to left don't forget to set `lang_support_rtl` to `tru
152158

153159
Translators are not expected to have any previous coding experience.
154160

161+
## License
162+
See [LICENSE](LICENCE). Library licenses can be found in the licenses section of the app.
163+
164+
Cronet is licensed under the Apache License, Version 2.0. Static libraries are licensed under
165+
the BSD license. See [LICENSE](https://chromium.googlesource.com/chromium/src/+/master/LICENSE)
166+
for more information. Libraries were built using the microg build script which can be found [here](https://github.com/microg/cronet-build).
167+
155168
## I want to add my own repo
156169

157170
To add you own repo to Fox's mmm it need to follow theses conditions:

app/build.gradle

Lines changed: 65 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,53 @@
11
plugins {
22
// Gradle doesn't allow conditionally enabling/disabling plugins
3-
id "io.sentry.android.gradle" version "3.1.5"
3+
id "io.sentry.android.gradle" version "3.3.0"
44
id 'com.android.application'
55
id 'com.mikepenz.aboutlibraries.plugin'
66
}
77

88
android {
99
namespace "com.fox2code.mmm"
1010
compileSdk 33
11+
buildToolsVersion '30.0.3'
12+
signingConfigs {
13+
release {
14+
// Everything comes from local.properties
15+
Properties properties = new Properties()
16+
if (project.rootProject.file('local.properties').exists()) {
17+
properties.load(project.rootProject.file('local.properties').newDataInputStream())
18+
storeFile file(properties.getProperty('keystore.file'))
19+
storePassword properties.getProperty('keystore.password')
20+
keyAlias 'key0'
21+
keyPassword properties.getProperty('keystore.password')
22+
}
23+
}
24+
}
1125

1226
defaultConfig {
1327
applicationId "com.fox2code.mmm"
1428
minSdk 21
1529
targetSdk 33
16-
versionCode 59
17-
versionName "0.6.7"
30+
versionCode 60
31+
versionName "0.6.8"
1832
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
33+
signingConfig signingConfigs.release
1934
}
2035

2136
buildTypes {
2237
release {
2338
minifyEnabled true
2439
shrinkResources true
25-
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
40+
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),
41+
'proguard-rules.pro'
2642
}
2743
debug {
2844
applicationIdSuffix '.debug'
2945
debuggable true
46+
3047
// ONLY FOR TESTING SENTRY
3148
// minifyEnabled true
3249
// shrinkResources true
33-
// proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
50+
// proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),'proguard-rules.pro'
3451
}
3552
}
3653

@@ -40,9 +57,26 @@ android {
4057
dimension "type"
4158
buildConfigField "boolean", "ENABLE_AUTO_UPDATER", "true"
4259
buildConfigField "boolean", "DEFAULT_ENABLE_CRASH_REPORTING", "true"
43-
buildConfigField("java.util.List<String>",
44-
"ENABLED_REPOS",
45-
"java.util.Arrays.asList(\"magisk_alt_repo\", \"androidacy_repo\")",)
60+
// Get the androidacy client ID from the androidacy.properties
61+
Properties properties = new Properties()
62+
// If androidacy.properties doesn't exist, use the default client ID which is heavily
63+
// rate limited to 30 requests per minute
64+
if (project.rootProject.file('androidacy.properties').exists()) {
65+
properties.load(project.rootProject.file('androidacy.properties').newDataInputStream())
66+
} else {
67+
properties.setProperty('client_id', '"5KYccdYxWB2RxMq5FTbkWisXi2dS6yFN9R7RVlFCG98FRdz6Mf5ojY2fyJCUlXJZ"')
68+
}
69+
buildConfigField("String", "ANDROIDACY_CLIENT_ID", properties.getProperty('client_id'))
70+
// If client ID is empty, disable androidacy
71+
if (properties.getProperty('client_id').isEmpty()) {
72+
buildConfigField("java.util.List<String>",
73+
"ENABLED_REPOS", "java.util.Arrays.asList(\"magisk_alt_repo\")")
74+
} else {
75+
buildConfigField("java.util.List<String>",
76+
"ENABLED_REPOS",
77+
"java.util.Arrays.asList(\"magisk_alt_repo\", \"androidacy_repo\")",)
78+
}
79+
4680
}
4781

4882
fdroid {
@@ -62,6 +96,17 @@ android {
6296
buildConfigField("java.util.List<String>",
6397
"ENABLED_REPOS",
6498
"java.util.Arrays.asList(\"magisk_alt_repo\")",)
99+
100+
// Get the androidacy client ID from the androidacy.properties
101+
Properties properties = new Properties()
102+
// If androidacy.properties doesn't exist, use the default client ID which is limited
103+
// to 50 requests per minute
104+
if (project.rootProject.file('androidacy.properties').exists()) {
105+
properties.load(project.rootProject.file('androidacy.properties').newDataInputStream())
106+
} else {
107+
properties.setProperty('client_id', '"dQ1p7X8bF14PVJ7wAU6ORVjPB2IeTinsuAZ8Uos6tQiyUdUyIjSyZSmN54QBbaTy"')
108+
}
109+
buildConfigField("String", "ANDROIDACY_CLIENT_ID", properties.getProperty('client_id'))
65110
}
66111
}
67112

@@ -137,7 +182,7 @@ sentry {
137182
// as Gradle will resolve it to the latest version.
138183
//
139184
// Defaults to the latest published sentry version.
140-
sentryVersion = '6.5.0'
185+
sentryVersion = '6.9.2'
141186
}
142187
}
143188

@@ -175,31 +220,35 @@ dependencies {
175220
implementation 'androidx.work:work-runtime:2.7.1'
176221
implementation 'com.squareup.okhttp3:okhttp-dnsoverhttps:5.0.0-alpha.10'
177222
implementation 'com.squareup.okhttp3:okhttp-brotli:5.0.0-alpha.10'
223+
// Chromium cronet from microG
224+
implementation fileTree(dir: 'libs', include: '*.jar')
225+
// Force prefer our own version of Cronet
178226
implementation 'com.github.topjohnwu.libsu:io:5.0.1'
179227
implementation 'com.github.Fox2Code:RosettaX:1.0.9'
180228
implementation 'com.github.Fox2Code:AndroidANSI:1.0.1'
181229

182230
if (hasSentryConfig) {
183231
// Error reporting
184-
defaultImplementation 'io.sentry:sentry-android:6.5.0'
185-
defaultImplementation 'io.sentry:sentry-android-fragment:6.5.0'
186-
defaultImplementation 'io.sentry:sentry-android-okhttp:6.5.0'
187-
defaultImplementation 'io.sentry:sentry-android-core:6.5.0'
188-
defaultImplementation 'io.sentry:sentry-android-ndk:6.5.0'
232+
defaultImplementation 'io.sentry:sentry-android:6.9.2'
233+
defaultImplementation 'io.sentry:sentry-android-fragment:6.9.2'
234+
defaultImplementation 'io.sentry:sentry-android-okhttp:6.9.2'
235+
defaultImplementation 'io.sentry:sentry-android-core:6.9.2'
236+
defaultImplementation 'io.sentry:sentry-android-ndk:6.9.2'
189237
}
190238

191239
// Markdown
192240
implementation "io.noties.markwon:core:4.6.2"
193241
implementation "io.noties.markwon:html:4.6.2"
194242
implementation "io.noties.markwon:image:4.6.2"
195243
implementation "io.noties.markwon:syntax-highlight:4.6.2"
244+
implementation 'com.google.net.cronet:cronet-okhttp:0.1.0'
245+
// Ignore all org.chromium.net dependencies
196246
annotationProcessor "io.noties:prism4j-bundler:2.0.0"
197247
implementation "com.caverock:androidsvg:1.4"
198248

199249
// Test
200250
testImplementation 'junit:junit:4.13.2'
201-
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
202-
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
251+
androidTestImplementation 'androidx.test.ext:junit:1.1.4'
203252
}
204253

205254
if (hasSentryConfig) {

app/libs/arm64-v8a.jar

2.41 MB
Binary file not shown.

app/libs/armeabi-v7a.jar

1.95 MB
Binary file not shown.
115 KB
Binary file not shown.
1.14 MB
Binary file not shown.

app/libs/x86.jar

2.64 MB
Binary file not shown.

app/libs/x86_64.jar

2.5 MB
Binary file not shown.

app/proguard-rules.pro

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
static void enableDebugLogging(boolean);
5151
}
5252
-assumevalues class androidx.loader.app.LoaderManagerImpl {
53-
static boolean DEBUG return false;
53+
static boolean DEBUG;
5454
}
5555

5656
# This is just some proguard rules testes, might do a separate lib after
@@ -186,3 +186,37 @@
186186
int getSafeInsetTop();
187187
android.graphics.Insets getWaterfallInsets();
188188
}
189+
190+
# Keep all of Cronet API and google's internal classes
191+
-keep class org.chromium.net.** { *; }
192+
-keep class org.chromium.** { *; }
193+
-keep class com.google.** { *; }
194+
195+
# Silence some warnings
196+
-dontwarn android.os.SystemProperties
197+
-dontwarn android.view.ThreadedRenderer
198+
-dontwarn cyanogenmod.providers.CMSettings$Secure
199+
-dontwarn lineageos.providers.LineageSettings$System
200+
-dontwarn lineageos.style.StyleInterface
201+
-dontwarn me.weishu.reflection.Reflection
202+
-dontwarn org.lsposed.hiddenapibypass.HiddenApiBypass
203+
-dontwarn rikka.core.res.ResourcesCompatLayoutInflaterListener
204+
-dontwarn rikka.core.util.ResourceUtils
205+
-dontwarn com.afollestad.materialdialogs.MaterialDialog
206+
-dontwarn com.afollestad.materialdialogs.WhichButton
207+
-dontwarn com.afollestad.materialdialogs.actions.DialogActionExtKt
208+
-dontwarn com.afollestad.materialdialogs.callbacks.DialogCallbackExtKt
209+
-dontwarn com.afollestad.materialdialogs.internal.button.DialogActionButton
210+
-dontwarn com.afollestad.materialdialogs.internal.button.DialogActionButtonLayout
211+
-dontwarn com.afollestad.materialdialogs.internal.main.DialogLayout
212+
-dontwarn com.afollestad.materialdialogs.internal.main.DialogTitleLayout
213+
-dontwarn com.afollestad.materialdialogs.internal.message.DialogContentLayout
214+
-dontwarn com.oracle.svm.core.annotate.AutomaticFeature
215+
-dontwarn com.oracle.svm.core.annotate.Delete
216+
-dontwarn com.oracle.svm.core.annotate.Substitute
217+
-dontwarn com.oracle.svm.core.annotate.TargetClass
218+
-dontwarn com.oracle.svm.core.configure.ResourcesRegistry
219+
-dontwarn javax.lang.model.element.Modifier
220+
-dontwarn org.graalvm.nativeimage.ImageSingletons
221+
-dontwarn org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess
222+
-dontwarn org.graalvm.nativeimage.hosted.Feature

0 commit comments

Comments
 (0)