diff --git a/services/icons/src/main/java/de/mm20/launcher2/icons/IconRepository.kt b/services/icons/src/main/java/de/mm20/launcher2/icons/IconRepository.kt index 43f8bd03..388d19fa 100644 --- a/services/icons/src/main/java/de/mm20/launcher2/icons/IconRepository.kt +++ b/services/icons/src/main/java/de/mm20/launcher2/icons/IconRepository.kt @@ -19,7 +19,7 @@ import de.mm20.launcher2.icons.providers.CalendarIconProvider import de.mm20.launcher2.icons.providers.CompatIconProvider import de.mm20.launcher2.icons.providers.CustomIconPackIconProvider import de.mm20.launcher2.icons.providers.CustomThemedIconProvider -import de.mm20.launcher2.icons.providers.GoogleClockIconProvider +import de.mm20.launcher2.icons.providers.DynamicClockIconProvider import de.mm20.launcher2.icons.providers.IconPackIconProvider import de.mm20.launcher2.icons.providers.IconProvider import de.mm20.launcher2.icons.providers.PlaceholderIconProvider @@ -109,7 +109,7 @@ class IconRepository( if (settings.themedIcons) { providers.add(ThemedIconProvider(iconPackManager)) } - providers.add(GoogleClockIconProvider(context, settings.themedIcons)) + providers.add(DynamicClockIconProvider(context, settings.themedIcons)) providers.add(CalendarIconProvider(context, settings.themedIcons)) if (!isAtLeastApiLevel(33)) { providers.add(CompatIconProvider(context, settings.themedIcons)) diff --git a/services/icons/src/main/java/de/mm20/launcher2/icons/compat/AdaptiveIconDrawableCompat.kt b/services/icons/src/main/java/de/mm20/launcher2/icons/compat/AdaptiveIconDrawableCompat.kt index a1418b80..243ddfac 100644 --- a/services/icons/src/main/java/de/mm20/launcher2/icons/compat/AdaptiveIconDrawableCompat.kt +++ b/services/icons/src/main/java/de/mm20/launcher2/icons/compat/AdaptiveIconDrawableCompat.kt @@ -176,7 +176,7 @@ fun AdaptiveIconDrawableCompat.toLauncherIcon( return StaticLauncherIcon( foregroundLayer = TintedClockLayer( sublayers = clockLayers, - scale = 1f, + scale = 1.5f, ), backgroundLayer = ColorLayer(), ) diff --git a/services/icons/src/main/java/de/mm20/launcher2/icons/providers/GoogleClockIconProvider.kt b/services/icons/src/main/java/de/mm20/launcher2/icons/providers/DynamicClockIconProvider.kt similarity index 85% rename from services/icons/src/main/java/de/mm20/launcher2/icons/providers/GoogleClockIconProvider.kt rename to services/icons/src/main/java/de/mm20/launcher2/icons/providers/DynamicClockIconProvider.kt index c8782a44..15f58c9d 100644 --- a/services/icons/src/main/java/de/mm20/launcher2/icons/providers/GoogleClockIconProvider.kt +++ b/services/icons/src/main/java/de/mm20/launcher2/icons/providers/DynamicClockIconProvider.kt @@ -2,33 +2,32 @@ package de.mm20.launcher2.icons.providers import android.content.Context import android.content.pm.PackageManager -import android.content.res.Resources -import android.graphics.drawable.AdaptiveIconDrawable -import android.graphics.drawable.LayerDrawable -import android.graphics.drawable.RotateDrawable -import androidx.core.content.res.ResourcesCompat -import de.mm20.launcher2.icons.* +import de.mm20.launcher2.icons.LauncherIcon import de.mm20.launcher2.icons.compat.AdaptiveIconDrawableCompat import de.mm20.launcher2.icons.compat.ClockIconConfig import de.mm20.launcher2.icons.compat.toLauncherIcon import de.mm20.launcher2.search.SavableSearchable import de.mm20.launcher2.search.data.LauncherApp -class GoogleClockIconProvider(val context: Context, private val themed: Boolean) : IconProvider { +class DynamicClockIconProvider(val context: Context, private val themed: Boolean) : IconProvider { override suspend fun getIcon(searchable: SavableSearchable, size: Int): LauncherIcon? { if (searchable !is LauncherApp) return null - if (searchable.`package` != "com.google.android.deskclock") return null val pm = context.packageManager val appInfo = try { pm.getApplicationInfo( - "com.google.android.deskclock", + searchable.`package`, PackageManager.GET_META_DATA ) } catch (e: PackageManager.NameNotFoundException) { return null } + + if (appInfo.metaData == null) return null + val drawableId = appInfo.metaData.getInt("com.android.launcher3.LEVEL_PER_TICK_ICON_ROUND") + + if (drawableId == 0) return null val resources = try { pm.getResourcesForApplication(appInfo) } catch (e: PackageManager.NameNotFoundException) {