Skip to content

Commit 1a4b2f2

Browse files
authored
Merge pull request #619 from Mahmud0808/beta
Merge beta into stable
2 parents 138fbf2 + 507f0b5 commit 1a4b2f2

2,449 files changed

Lines changed: 84055 additions & 31137 deletions

File tree

Some content is hidden

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

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<div align="center">
22
<img src="https://raw.githubusercontent.com/Mahmud0808/Iconify/beta/.github/resources/banner.png" width="100%" alt="Banner">
33

4-
# v6.8.0 is out!
4+
# v6.9.0 is out!
55
</div>
66
<p align="center">
77
<a href="https://github.com/Mahmud0808/Iconify/releases"><img src="https://img.shields.io/github/downloads/Mahmud0808/Iconify/total?color=%233DDC84&logo=android&logoColor=%23fff&style=for-the-badge" alt="Downloads"></a>

app/build.gradle.kts

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ android {
1616
applicationId = "com.drdisagree.iconify"
1717
minSdk = 31
1818
targetSdk = 34
19-
versionCode = 20
20-
versionName = "6.8.0"
19+
versionCode = 21
20+
versionName = "6.9.0"
2121
setProperty("archivesBaseName", "Iconify v$versionName")
2222
buildConfigField("int", "MIN_SDK_VERSION", "$minSdk")
2323
}
@@ -65,6 +65,7 @@ android {
6565
viewBinding = true
6666
dataBinding = true
6767
buildConfig = true
68+
aidl = true
6869
}
6970

7071
compileOptions {
@@ -112,6 +113,7 @@ dependencies {
112113

113114
// Data Binding
114115
implementation(libs.library)
116+
implementation(libs.androidx.palette.ktx)
115117

116118
// Xposed API
117119
compileOnly(files("libs/api-82.jar"))
@@ -128,7 +130,7 @@ dependencies {
128130
implementation(libs.kotlinx.coroutines.android)
129131

130132
// Color Picker
131-
implementation(libs.colorpicker)
133+
implementation(libs.jaredrummler.colorpicker)
132134

133135
// Splash Screen
134136
implementation(libs.androidx.core.splashscreen)
@@ -142,6 +144,9 @@ dependencies {
142144
// Zip Util
143145
implementation(libs.zip4j)
144146

147+
// Preference
148+
implementation(libs.androidx.preference.ktx)
149+
145150
// Remote Preference
146151
implementation(libs.remotepreferences)
147152

@@ -190,12 +195,20 @@ dependencies {
190195
// Fading Edge Layout
191196
implementation(libs.fadingedgelayout)
192197

198+
// Google Subject Segmentation - MLKit
199+
implementation(libs.com.google.android.gms.play.services.mlkit.subject.segmentation)
200+
implementation(libs.play.services.base)
201+
202+
// Blur View
203+
implementation(libs.blurview)
204+
193205
// Misc
194206
implementation(libs.androidx.appcompat)
195207
implementation(libs.androidx.constraintlayout)
196208
implementation(libs.androidx.work.runtime)
197209
implementation(libs.androidx.work.runtime.ktx)
198210
implementation(libs.slf4j.api)
211+
implementation(libs.commons.text)
199212
}
200213

201214
tasks.register("printVersionName") {

app/proguard-rules.pro

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,23 @@
2121
public static int d(...);
2222
}
2323

24+
# Activity and Fragment names
25+
-keep class com.drdisagree.iconify.ui.activities.**
26+
-keep class com.drdisagree.iconify.ui.fragments.**
27+
2428
# Xposed
2529
-keep class de.robv.android.xposed.**
2630
-keep class com.drdisagree.iconify.xposed.InitHook
2731
-keepnames class com.drdisagree.iconify.xposed.**
28-
-keepnames class com.drdisagree.iconify.config.XPrefs
32+
-keepnames class com.drdisagree.iconify.xposed.utils.XPrefs
2933
-keep class com.drdisagree.iconify.xposed.** {
3034
<init>(android.content.Context);
3135
}
3236

37+
# Weather
38+
-keepnames class com.drdisagree.iconify.utils.weather.**
39+
-keep class com.drdisagree.iconify.utils.weather.** { *; }
40+
3341
# EventBus
3442
-keepattributes *Annotation*
3543
-keepclassmembers,allowoptimization,allowobfuscation class * {
@@ -59,4 +67,13 @@
5967

6068
# Obfuscation
6169
-repackageclasses
62-
-allowaccessmodification
70+
-allowaccessmodification
71+
72+
# Root Service
73+
-keep class com.drdisagree.iconify.services.RootProviderProxy { *; }
74+
-keep class com.drdisagree.iconify.IRootProviderProxy { *; }
75+
76+
# AIDL Classes
77+
-keep interface **.I* { *; }
78+
-keep class **.I*$Stub { *; }
79+
-keep class **.I*$Stub$Proxy { *; }

app/src/main/AndroidManifest.xml

Lines changed: 201 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,17 @@
2222
<package android:name="app.revanced.android.youtube" />
2323
<package android:name="app.revanced.android.apps.youtube.music" />
2424
</queries>
25+
<uses-permission
26+
android:name="android.permission.QUERY_ALL_PACKAGES"
27+
tools:ignore="QueryAllPackagesPermission" />
28+
29+
<!-- Weather Updater -->
30+
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- Weather Updater -->
31+
<uses-permission android:name="android.permission.INTERNET" /> <!-- Weather Updater -->
32+
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- Get Location for Weather -->
33+
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- Get Location for Weather -->
34+
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" /> <!-- Get Location for Weather -->
35+
<uses-permission android:name="com.drdisagree.iconify.READ_WEATHER" /> <!-- Permission for self Weather Provider -->
2536

2637
<application
2738
android:name=".Iconify"
@@ -43,6 +54,9 @@
4354
<activity
4455
android:name=".ui.activities.MainActivity"
4556
android:exported="false" />
57+
<activity
58+
android:name=".ui.activities.LocationBrowseActivity"
59+
android:exported="false" />
4660
<activity
4761
android:name=".SplashActivity"
4862
android:exported="true"
@@ -102,6 +116,10 @@
102116
android:exported="true"
103117
tools:ignore="ExportedService" />
104118
-->
119+
<service
120+
android:name=".services.RootProviderProxy"
121+
android:exported="true"
122+
tools:ignore="ExportedService" />
105123
<service
106124
android:name=".services.TileNotchBarKiller"
107125
android:exported="true"
@@ -158,6 +176,9 @@
158176
android:name="android.service.quicksettings.TOGGLEABLE_TILE"
159177
android:value="true" />
160178
</service> <!-- Quick Settings Tile -->
179+
<meta-data
180+
android:name="com.google.mlkit.vision.DEPENDENCIES"
181+
android:value="subject_segment" /> <!-- ML Kit download -->
161182
<meta-data
162183
android:name="xposedmodule"
163184
android:value="true" /> <!-- xposed meta data -->
@@ -170,12 +191,192 @@
170191
<meta-data
171192
android:name="xposedscope"
172193
android:resource="@array/module_scope" /> <!-- xposed meta data -->
194+
<meta-data
195+
android:name="com.google.mlkit.vision.DEPENDENCIES"
196+
android:value="subject_segment" /> <!-- ML Kit download -->
173197
<provider
174198
android:name=".provider.RemotePrefProvider"
175199
android:authorities="${applicationId}"
176200
android:directBootAware="true"
177201
android:exported="true"
178202
tools:ignore="ExportedContentProvider" /> <!-- Remote Preferences Provider -->
203+
<provider
204+
android:name=".utils.weather.WeatherContentProvider"
205+
android:authorities="com.drdisagree.iconify.weatherprovider"
206+
android:exported="true"
207+
tools:ignore="ExportedContentProvider" /> <!-- Weather Content Provider -->
208+
209+
<!-- name is used a prefix +"_" for images e.g. weather_<condition_id>
210+
weather_foo_<condition_id> -->
211+
<activity
212+
android:name=".google"
213+
android:exported="false"
214+
android:label="Google">
215+
<intent-filter>
216+
<action android:name="${applicationId}.WeatherIconPack" />
217+
<category android:name="android.intent.category.DEFAULT" />
218+
</intent-filter>
219+
</activity>
220+
221+
<activity
222+
android:name=".google_new_dark"
223+
android:exported="false"
224+
android:label="Google Material Dark">
225+
<intent-filter>
226+
<action android:name="${applicationId}.WeatherIconPack" />
227+
<category android:name="android.intent.category.DEFAULT" />
228+
</intent-filter>
229+
</activity>
230+
231+
<activity
232+
android:name=".google_new_light"
233+
android:exported="false"
234+
android:label="Google Material Light">
235+
<intent-filter>
236+
<action android:name="${applicationId}.WeatherIconPack" />
237+
<category android:name="android.intent.category.DEFAULT" />
238+
</intent-filter>
239+
</activity>
240+
241+
<activity
242+
android:name=".outline"
243+
android:exported="false"
244+
android:label="Outline">
245+
<intent-filter>
246+
<action android:name="${applicationId}.WeatherIconPack" />
247+
<category android:name="android.intent.category.DEFAULT" />
248+
</intent-filter>
249+
</activity>
250+
251+
<activity
252+
android:name=".weather_color"
253+
android:exported="false"
254+
android:label="LockClock">
255+
<intent-filter>
256+
<action android:name="${applicationId}.WeatherIconPack" />
257+
<category android:name="android.intent.category.DEFAULT" />
258+
</intent-filter>
259+
</activity>
260+
261+
<activity
262+
android:name=".weatherclient"
263+
android:exported="false"
264+
android:label="Weather Client">
265+
<intent-filter>
266+
<action android:name="${applicationId}.WeatherIconPack" />
267+
<category android:name="android.intent.category.DEFAULT" />
268+
</intent-filter>
269+
</activity>
270+
271+
<activity
272+
android:name=".stickers"
273+
android:exported="false"
274+
android:label="Stickers">
275+
<intent-filter>
276+
<action android:name="${applicationId}.WeatherIconPack" />
277+
<category android:name="android.intent.category.DEFAULT" />
278+
</intent-filter>
279+
</activity>
280+
281+
<activity
282+
android:name=".marshmallow"
283+
android:exported="false"
284+
android:label="Marshmallow">
285+
<intent-filter>
286+
<action android:name="${applicationId}.WeatherIconPack" />
287+
<category android:name="android.intent.category.DEFAULT" />
288+
</intent-filter>
289+
</activity>
290+
291+
<activity
292+
android:name=".icons8_color_hand"
293+
android:exported="false"
294+
android:label="Color Hand">
295+
<intent-filter>
296+
<action android:name="${applicationId}.WeatherIconPack" />
297+
<category android:name="android.intent.category.DEFAULT" />
298+
</intent-filter>
299+
</activity>
300+
<activity
301+
android:name=".weather_faded"
302+
android:exported="false"
303+
android:label="Faded">
304+
<intent-filter>
305+
<action android:name="${applicationId}.WeatherIconPack" />
306+
<category android:name="android.intent.category.DEFAULT" />
307+
</intent-filter>
308+
</activity>
309+
310+
<activity
311+
android:name=".weather_weezle"
312+
android:exported="false"
313+
android:label="Weezle">
314+
<intent-filter>
315+
<action android:name="${applicationId}.WeatherIconPack" />
316+
<category android:name="android.intent.category.DEFAULT" />
317+
</intent-filter>
318+
</activity>
319+
320+
<activity
321+
android:name=".weather_gs6"
322+
android:exported="false"
323+
android:label="Galaxy S6">
324+
<intent-filter>
325+
<action android:name="${applicationId}.WeatherIconPack" />
326+
<category android:name="android.intent.category.DEFAULT" />
327+
</intent-filter>
328+
</activity>
329+
330+
<activity
331+
android:name=".weather_miui"
332+
android:exported="false"
333+
android:label="MIUI">
334+
<intent-filter>
335+
<action android:name="${applicationId}.WeatherIconPack" />
336+
<category android:name="android.intent.category.DEFAULT" />
337+
</intent-filter>
338+
</activity>
339+
340+
<activity
341+
android:name=".weather_sthul"
342+
android:exported="false"
343+
android:label="Sthul">
344+
<intent-filter>
345+
<action android:name="${applicationId}.WeatherIconPack" />
346+
<category android:name="android.intent.category.DEFAULT" />
347+
</intent-filter>
348+
</activity>
349+
350+
<activity
351+
android:name=".weather_tapas"
352+
android:exported="false"
353+
android:label="Tapas">
354+
<intent-filter>
355+
<action android:name="${applicationId}.WeatherIconPack" />
356+
<category android:name="android.intent.category.DEFAULT" />
357+
</intent-filter>
358+
</activity>
359+
360+
<activity
361+
android:name=".weather_magical"
362+
android:exported="false"
363+
android:label="Magical">
364+
<intent-filter>
365+
<action android:name="${applicationId}.WeatherIconPack" />
366+
<category android:name="android.intent.category.DEFAULT" />
367+
</intent-filter>
368+
</activity>
369+
370+
<activity
371+
android:name=".weather_vclouds"
372+
android:exported="false"
373+
android:label="VClouds">
374+
<intent-filter>
375+
<action android:name="${applicationId}.WeatherIconPack" />
376+
<category android:name="android.intent.category.DEFAULT" />
377+
</intent-filter>
378+
</activity>
379+
179380
</application>
180381

181382
</manifest>
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package com.drdisagree.iconify;
2+
3+
interface IExtractSubjectCallback {
4+
void onStart(String message);
5+
void onResult(boolean success, String message);
6+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.drdisagree.iconify;
2+
3+
import com.drdisagree.iconify.IExtractSubjectCallback;
4+
5+
interface IRootProviderProxy {
6+
String[] runCommand(String command);
7+
void extractSubject(in Bitmap input, String resultPath, IExtractSubjectCallback callback);
8+
void enableOverlay(in String packageName);
9+
void disableOverlay(in String packageName);
10+
}

0 commit comments

Comments
 (0)