Generate icon for backend (#1363)

This commit is contained in:
LoveSy 2021-11-07 18:05:52 +08:00 committed by GitHub
parent 5061a5a164
commit be08e41c4e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 19 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -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();

View File

@ -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)