diff --git a/app/src/main/java/com/wassupluke/widgets/widget/AlarmWidget.kt b/app/src/main/java/com/wassupluke/widgets/widget/AlarmWidget.kt index e47f508..960eef0 100644 --- a/app/src/main/java/com/wassupluke/widgets/widget/AlarmWidget.kt +++ b/app/src/main/java/com/wassupluke/widgets/widget/AlarmWidget.kt @@ -83,24 +83,25 @@ private fun AlarmWidgetContent( modifier = GlanceModifier.fillMaxSize(), contentAlignment = Alignment.Center ) { - Box(modifier = GlanceModifier.clickable(tapAction)) { - Row(verticalAlignment = Alignment.CenterVertically) { - Image( - provider = ImageProvider(R.drawable.ic_alarm), - contentDescription = null, - modifier = GlanceModifier.size(fontSize.dp), - colorFilter = ColorFilter.tint(textColorProvider) + Row( + modifier = GlanceModifier.clickable(tapAction), + verticalAlignment = Alignment.CenterVertically + ) { + Image( + provider = ImageProvider(R.drawable.ic_alarm), + contentDescription = null, + modifier = GlanceModifier.size(fontSize.dp), + colorFilter = ColorFilter.tint(textColorProvider) + ) + Spacer(GlanceModifier.width(4.dp)) + Text( + text = alarmText, + style = TextStyle( + fontSize = fontSize.sp, + fontWeight = FontWeight.Normal, + color = textColorProvider ) - Spacer(GlanceModifier.width(4.dp)) - Text( - text = alarmText, - style = TextStyle( - fontSize = fontSize.sp, - fontWeight = FontWeight.Normal, - color = textColorProvider - ) - ) - } + ) } } } diff --git a/app/src/main/java/com/wassupluke/widgets/widget/AlarmWidgetReceiver.kt b/app/src/main/java/com/wassupluke/widgets/widget/AlarmWidgetReceiver.kt index ed7f302..9ca7767 100644 --- a/app/src/main/java/com/wassupluke/widgets/widget/AlarmWidgetReceiver.kt +++ b/app/src/main/java/com/wassupluke/widgets/widget/AlarmWidgetReceiver.kt @@ -4,6 +4,7 @@ import android.app.AlarmManager import android.appwidget.AppWidgetManager import android.content.Context import android.content.Intent +import android.content.pm.PackageManager import androidx.datastore.preferences.core.edit import androidx.glance.appwidget.GlanceAppWidget import androidx.glance.appwidget.GlanceAppWidgetReceiver @@ -42,7 +43,13 @@ class AlarmWidgetReceiver : GlanceAppWidgetReceiver() { val alarmText = if (nextAlarm == null) { context.getString(R.string.widget_alarm_none) } else { - DateFormat.getTimeInstance(DateFormat.SHORT).format(Date(nextAlarm.triggerTime)) + val creator = nextAlarm.showIntent?.creatorPackage + val fromClockApp = creator != null && isUserFacingApp(context, creator) + if (fromClockApp) { + DateFormat.getTimeInstance(DateFormat.SHORT).format(Date(nextAlarm.triggerTime)) + } else { + context.getString(R.string.widget_alarm_none) + } } context.dataStore.edit { it[WeatherDataStore.ALARM_TEXT] = alarmText } AlarmWidget().updateAll(context) @@ -51,4 +58,12 @@ class AlarmWidgetReceiver : GlanceAppWidgetReceiver() { } } } + + private fun isUserFacingApp(context: Context, packageName: String): Boolean { + val intent = Intent(Intent.ACTION_MAIN).apply { + addCategory(Intent.CATEGORY_LAUNCHER) + setPackage(packageName) + } + return context.packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY).isNotEmpty() + } } diff --git a/app/src/main/java/com/wassupluke/widgets/widget/WeatherWidget.kt b/app/src/main/java/com/wassupluke/widgets/widget/WeatherWidget.kt index 19f4f01..9e38435 100644 --- a/app/src/main/java/com/wassupluke/widgets/widget/WeatherWidget.kt +++ b/app/src/main/java/com/wassupluke/widgets/widget/WeatherWidget.kt @@ -90,15 +90,14 @@ private fun WeatherWidgetContent( modifier = GlanceModifier.fillMaxSize(), contentAlignment = Alignment.Center ) { - Box(modifier = GlanceModifier.clickable(tapAction)) { - Text( - text = displayTemp, - style = TextStyle( - fontSize = fontSize.sp, - fontWeight = FontWeight.Normal, - color = textColorProvider - ) + Text( + text = displayTemp, + modifier = GlanceModifier.clickable(tapAction), + style = TextStyle( + fontSize = fontSize.sp, + fontWeight = FontWeight.Normal, + color = textColorProvider ) - } + ) } }