diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 9a8e7e7c..ee562a5e 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -113,6 +113,14 @@ android {
}
}
}
+
+ sourceSets {
+ named("main") {
+ res {
+ srcDirs("src/common/res")
+ }
+ }
+ }
}
val optimizeReleaseRes = task("optimizeReleaseRes").doLast {
diff --git a/app/src/main/res/drawable-nodpi/ic_launcher.xml b/app/src/common/res/drawable-nodpi/ic_launcher.xml
similarity index 100%
rename from app/src/main/res/drawable-nodpi/ic_launcher.xml
rename to app/src/common/res/drawable-nodpi/ic_launcher.xml
diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/common/res/drawable/ic_launcher_foreground.xml
similarity index 100%
rename from app/src/main/res/drawable/ic_launcher_foreground.xml
rename to app/src/common/res/drawable/ic_launcher_foreground.xml
diff --git a/app/src/common/res/drawable/ic_outline_extension_24.xml b/app/src/common/res/drawable/ic_outline_extension_24.xml
new file mode 100644
index 00000000..40a925b6
--- /dev/null
+++ b/app/src/common/res/drawable/ic_outline_extension_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/common/res/mipmap-anydpi-v26/ic_launcher.xml
similarity index 100%
rename from app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
rename to app/src/common/res/mipmap-anydpi-v26/ic_launcher.xml
diff --git a/app/src/main/res/values-night-v31/colors.xml b/app/src/common/res/values-night-v31/colors.xml
similarity index 100%
rename from app/src/main/res/values-night-v31/colors.xml
rename to app/src/common/res/values-night-v31/colors.xml
diff --git a/app/src/common/res/values-night/colors.xml b/app/src/common/res/values-night/colors.xml
new file mode 100644
index 00000000..aca20406
--- /dev/null
+++ b/app/src/common/res/values-night/colors.xml
@@ -0,0 +1,4 @@
+
+ #F06292
+ #E1F5FE
+
diff --git a/app/src/main/res/values-v31/colors.xml b/app/src/common/res/values-v31/colors.xml
similarity index 100%
rename from app/src/main/res/values-v31/colors.xml
rename to app/src/common/res/values-v31/colors.xml
diff --git a/app/src/common/res/values/colors.xml b/app/src/common/res/values/colors.xml
new file mode 100644
index 00000000..0f78a648
--- /dev/null
+++ b/app/src/common/res/values/colors.xml
@@ -0,0 +1,4 @@
+
+ #FFFFFF
+ #F48FB1
+
diff --git a/app/src/main/assets/ic_launcher-playstore.png b/app/src/main/assets/ic_launcher-playstore.png
deleted file mode 100644
index 71762d3f..00000000
Binary files a/app/src/main/assets/ic_launcher-playstore.png and /dev/null differ
diff --git a/app/src/main/res/drawable/ic_outline_extension_24.xml b/app/src/main/res/drawable/ic_outline_extension_24.xml
deleted file mode 100644
index 2667cc69..00000000
--- a/app/src/main/res/drawable/ic_outline_extension_24.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
diff --git a/app/src/main/res/values-night/colors.xml b/app/src/main/res/values-night/colors.xml
index c39705a6..7808ff74 100644
--- a/app/src/main/res/values-night/colors.xml
+++ b/app/src/main/res/values-night/colors.xml
@@ -18,9 +18,6 @@
-->
- @color/material_pink_300
- @color/material_light_blue_50
-
@color/material_grey_700
@color/material_grey_600
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 6ca4a3d6..9c592f58 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -19,9 +19,6 @@
-->
- @android:color/white
- @color/material_pink_200
-
@color/material_grey_500
@color/material_grey_300
diff --git a/daemon/build.gradle.kts b/daemon/build.gradle.kts
index 9e5b7bd6..bbf7da18 100644
--- a/daemon/build.gradle.kts
+++ b/daemon/build.gradle.kts
@@ -111,6 +111,14 @@ android {
}
}
}
+
+ sourceSets {
+ named("main") {
+ res {
+ srcDir(project(":app").file("src/common/res"))
+ }
+ }
+ }
}
fun afterEval() = android.applicationVariants.forEach { variant ->
@@ -155,7 +163,6 @@ afterEvaluate {
}
dependencies {
-
implementation("dev.rikka.ndk.thirdparty:cxx:1.2.0")
implementation("com.android.tools.build:apksig:$agpVersion")
implementation("org.apache.commons:commons-lang3:3.12.0")
diff --git a/daemon/src/main/java/org/lsposed/lspd/service/LSPManagerService.java b/daemon/src/main/java/org/lsposed/lspd/service/LSPManagerService.java
index 393a5259..2bc0523c 100644
--- a/daemon/src/main/java/org/lsposed/lspd/service/LSPManagerService.java
+++ b/daemon/src/main/java/org/lsposed/lspd/service/LSPManagerService.java
@@ -41,7 +41,8 @@ import android.content.pm.ResolveInfo;
import android.content.pm.ShortcutInfo;
import android.content.pm.ShortcutManager;
import android.content.pm.VersionedPackage;
-import android.graphics.BitmapFactory;
+import android.graphics.Bitmap;
+import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.drawable.Icon;
import android.net.Uri;
@@ -76,10 +77,8 @@ import java.lang.reflect.InvocationTargetException;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
-import java.util.Map;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
-import java.util.zip.ZipFile;
import hidden.HiddenApiBridge;
import io.github.xposed.xposedservice.utils.ParceledListSlice;
@@ -161,16 +160,24 @@ public class LSPManagerService extends ILSPManagerService.Stub {
LSPManagerService() {
}
+ private static Icon getIcon(int res) {
+ var icon = ConfigFileManager.getResources().getDrawable(res, ConfigFileManager.getResources().newTheme());
+ var bitmap = Bitmap.createBitmap(icon.getIntrinsicWidth(), icon.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
+ icon.setBounds(0, 0, icon.getIntrinsicWidth(), icon.getIntrinsicHeight());
+ icon.draw(new Canvas(bitmap));
+ return Icon.createWithBitmap(bitmap);
+ }
+
private static Icon getManagerIcon() {
- try (var zip = new ZipFile(ConfigFileManager.managerApkPath.toString())) {
- var entry = zip.getEntry("assets/ic_launcher-playstore.png");
- try (var is = zip.getInputStream(entry)) {
- return Icon.createWithAdaptiveBitmap(BitmapFactory.decodeStream(is));
- }
+ try {
+ return getIcon(R.mipmap.ic_launcher);
} catch (Throwable e) {
- Log.e(TAG, "load icon", e);
+ return getIcon(R.drawable.ic_launcher);
}
- return null;
+ }
+
+ private static Icon getNotificationIcon() {
+ return getIcon(R.drawable.ic_outline_extension_24);
}
static Intent getManagerIntent() {
@@ -236,7 +243,7 @@ public class LSPManagerService extends ILSPManagerService.Stub {
var notification = new Notification.Builder(context, CHANNEL_ID)
.setContentTitle(title)
.setContentText(content)
- .setSmallIcon(android.R.drawable.ic_dialog_info)
+ .setSmallIcon(getNotificationIcon())
.setColor(Color.BLUE)
.setContentIntent(getNotificationIntent(modulePackageName, moduleUserId))
.setAutoCancel(true)