Allow setting plugin package icon via metadata
This commit is contained in:
parent
4cb14866af
commit
7fedb154bf
@ -12,6 +12,7 @@ import android.net.Uri
|
|||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.util.Base64
|
import android.util.Base64
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
|
import de.mm20.launcher2.ktx.getDrawableOrNull
|
||||||
import de.mm20.launcher2.ktx.tryStartActivity
|
import de.mm20.launcher2.ktx.tryStartActivity
|
||||||
import de.mm20.launcher2.plugin.Plugin
|
import de.mm20.launcher2.plugin.Plugin
|
||||||
import de.mm20.launcher2.plugin.PluginPackage
|
import de.mm20.launcher2.plugin.PluginPackage
|
||||||
@ -187,6 +188,14 @@ internal class PluginServiceImpl(
|
|||||||
override suspend fun getPluginPackageIcon(plugin: PluginPackage): Drawable? {
|
override suspend fun getPluginPackageIcon(plugin: PluginPackage): Drawable? {
|
||||||
return withContext(Dispatchers.IO) {
|
return withContext(Dispatchers.IO) {
|
||||||
try {
|
try {
|
||||||
|
val appInfo = context.packageManager.getApplicationInfo(plugin.packageName, PackageManager.GET_META_DATA)
|
||||||
|
val iconRes = appInfo.metaData.getInt("de.mm20.launcher2.plugin.icon")
|
||||||
|
if (iconRes != 0) {
|
||||||
|
val icon = context.packageManager.getResourcesForApplication(plugin.packageName).getDrawableOrNull(iconRes, null)
|
||||||
|
if (icon != null) {
|
||||||
|
return@withContext icon
|
||||||
|
}
|
||||||
|
}
|
||||||
context.packageManager.getApplicationIcon(
|
context.packageManager.getApplicationIcon(
|
||||||
plugin.packageName
|
plugin.packageName
|
||||||
)
|
)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user