From be08e41c4e2e152d38cd1a8257515ca85b233236 Mon Sep 17 00:00:00 2001 From: LoveSy Date: Sun, 7 Nov 2021 18:05:52 +0800 Subject: [PATCH] Generate icon for backend (#1363) --- app/src/main/assets/ic_launcher-playstore.png | Bin 0 -> 16017 bytes .../lspd/service/ConfigFileManager.java | 2 +- .../lspd/service/LSPManagerService.java | 28 +++++++----------- 3 files changed, 11 insertions(+), 19 deletions(-) create mode 100644 app/src/main/assets/ic_launcher-playstore.png diff --git a/app/src/main/assets/ic_launcher-playstore.png b/app/src/main/assets/ic_launcher-playstore.png new file mode 100644 index 0000000000000000000000000000000000000000..864a9c3d2d3f6c2b9451a8293ae3ded2fc43b68b GIT binary patch literal 16017 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 EKR;2bUjP6A literal 0 HcmV?d00001 diff --git a/core/src/main/java/org/lsposed/lspd/service/ConfigFileManager.java b/core/src/main/java/org/lsposed/lspd/service/ConfigFileManager.java index 58fd7139..63bc3f88 100644 --- a/core/src/main/java/org/lsposed/lspd/service/ConfigFileManager.java +++ b/core/src/main/java/org/lsposed/lspd/service/ConfigFileManager.java @@ -47,7 +47,7 @@ import java.util.zip.ZipFile; public class ConfigFileManager { static final Path basePath = Paths.get("/data/adb/lspd"); - private static final Path managerApkPath = basePath.resolve("manager.apk"); + static final Path managerApkPath = basePath.resolve("manager.apk"); private static final Path lockPath = basePath.resolve("lock"); private static final Path configDirPath = basePath.resolve("config"); static final File dbPath = configDirPath.resolve("modules_config.db").toFile(); diff --git a/core/src/main/java/org/lsposed/lspd/service/LSPManagerService.java b/core/src/main/java/org/lsposed/lspd/service/LSPManagerService.java index 0f43a756..d8a87d7c 100644 --- a/core/src/main/java/org/lsposed/lspd/service/LSPManagerService.java +++ b/core/src/main/java/org/lsposed/lspd/service/LSPManagerService.java @@ -39,8 +39,7 @@ import android.content.pm.ResolveInfo; import android.content.pm.ShortcutInfo; import android.content.pm.ShortcutManager; import android.content.pm.VersionedPackage; -import android.graphics.Bitmap; -import android.graphics.Canvas; +import android.graphics.BitmapFactory; import android.graphics.drawable.Icon; import android.net.Uri; import android.os.Build; @@ -75,6 +74,7 @@ import java.util.List; import java.util.Map; import java.util.UUID; import java.util.concurrent.TimeUnit; +import java.util.zip.ZipFile; import de.robv.android.xposed.XposedBridge; import hidden.HiddenApiBridge; @@ -157,24 +157,16 @@ 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 { - return getIcon(org.lsposed.manager.R.mipmap.ic_launcher); + 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.createWithBitmap(BitmapFactory.decodeStream(is)); + } } catch (Throwable e) { - return getIcon(org.lsposed.manager.R.drawable.ic_launcher); + Log.e(TAG, "load icon", e); } - } - - private static Icon getNotificationIcon() { - return getIcon(org.lsposed.manager.R.drawable.ic_extension); + return null; } static Intent getManagerIntent() { @@ -240,7 +232,7 @@ public class LSPManagerService extends ILSPManagerService.Stub { var notification = new Notification.Builder(context, CHANNEL_ID) .setContentTitle(title) .setContentText(content) - .setSmallIcon(getNotificationIcon()) + .setSmallIcon(android.R.drawable.ic_dialog_info) .setColor(context.getResources().getColor(org.lsposed.manager.R.color.color_primary)) .setContentIntent(getNotificationIntent(modulePackageName, moduleUserId)) .setAutoCancel(true)