diff --git a/app/src/main/java/com/topjohnwu/magisk/view/Shortcuts.kt b/app/src/main/java/com/topjohnwu/magisk/view/Shortcuts.kt index a6010a241..2a8bac7a8 100644 --- a/app/src/main/java/com/topjohnwu/magisk/view/Shortcuts.kt +++ b/app/src/main/java/com/topjohnwu/magisk/view/Shortcuts.kt @@ -31,7 +31,7 @@ object Shortcuts { val info = ShortcutInfoCompat.Builder(context, Const.Nav.HOME) .setShortLabel(context.getString(R.string.magisk)) .setIntent(intent) - .setIcon(IconCompat.createFromIcon(context, context.getIcon(R.drawable.ic_launcher))) + .setIcon(context.getIconCompat(R.drawable.ic_launcher)) .build() ShortcutManagerCompat.requestPinShortcut(context, info, null) } @@ -47,6 +47,18 @@ object Shortcuts { } } + private fun Context.getIconCompat(id: Int): IconCompat { + return if (isRunningAsStub) { + val bitmap = getBitmap(id) + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) + IconCompat.createWithAdaptiveBitmap(bitmap) + else + IconCompat.createWithBitmap(bitmap) + } else { + IconCompat.createWithResource(this, id) + } + } + @RequiresApi(api = 25) private fun getShortCuts(context: Context): List { val intent = context.packageManager.getLaunchIntentForPackage(context.packageName)