From 63e5c1337c1c7b997e8ad2a4f839e5ca702e30fb Mon Sep 17 00:00:00 2001 From: MM20 <15646950+MM2-0@users.noreply.github.com> Date: Fri, 31 Dec 2021 21:20:06 +0100 Subject: [PATCH] Refactor clock widget --- .../launcher2/ui/component/WidgetColumn.kt | 2 +- .../widgets/clock}/ClockWidget.kt | 14 +++------- .../launcher/widgets/clock/ClockWidgetVM.kt | 6 ++++ .../ui/legacy/activity/LauncherActivity.kt | 2 -- .../launcher2/ui/legacy/widget/ClockWidget.kt | 28 +------------------ 5 files changed, 12 insertions(+), 40 deletions(-) rename ui/src/main/java/de/mm20/launcher2/ui/{widget => launcher/widgets/clock}/ClockWidget.kt (86%) create mode 100644 ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/clock/ClockWidgetVM.kt diff --git a/ui/src/main/java/de/mm20/launcher2/ui/component/WidgetColumn.kt b/ui/src/main/java/de/mm20/launcher2/ui/component/WidgetColumn.kt index 315b6aa3..5e6dc8a8 100644 --- a/ui/src/main/java/de/mm20/launcher2/ui/component/WidgetColumn.kt +++ b/ui/src/main/java/de/mm20/launcher2/ui/component/WidgetColumn.kt @@ -72,7 +72,7 @@ fun WidgetColumn( .verticalScroll(scrollState) .navigationBarsPadding() ) { - ClockWidget(transparentBackground = background > 0.75f) + ClockWidget() AnimatedVisibility(visible = scrollState.value == 0) { NavBarSpacer() diff --git a/ui/src/main/java/de/mm20/launcher2/ui/widget/ClockWidget.kt b/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/clock/ClockWidget.kt similarity index 86% rename from ui/src/main/java/de/mm20/launcher2/ui/widget/ClockWidget.kt rename to ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/clock/ClockWidget.kt index 9f855112..5fe5e233 100644 --- a/ui/src/main/java/de/mm20/launcher2/ui/widget/ClockWidget.kt +++ b/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/clock/ClockWidget.kt @@ -29,26 +29,20 @@ import kotlinx.coroutines.flow.map @Composable fun ClockWidget( - modifier: Modifier = Modifier, - transparentBackground: Boolean + modifier: Modifier = Modifier ) { - val windowHeight = LocalWindowSize.current.height - val insets = LocalWindowInsets.current Box( modifier = Modifier .fillMaxWidth(), contentAlignment = Alignment.BottomCenter ) { - val contentColor by animateColorAsState( - if (transparentBackground) Color.White else MaterialTheme.colorScheme.onSurface - ) - CompositionLocalProvider(LocalContentColor provides contentColor) { + CompositionLocalProvider(LocalContentColor provides Color.White) { Column( horizontalAlignment = Alignment.CenterHorizontally, modifier = Modifier.height(IntrinsicSize.Min) ) { - Clock(transparentBackground) + Clock() DynamicZone() } @@ -58,7 +52,7 @@ fun ClockWidget( } @Composable -fun Clock(transparentBackground: Boolean) { +fun Clock() { var time by remember { mutableStateOf(System.currentTimeMillis()) } val context = LocalContext.current val dataStore = context.dataStore diff --git a/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/clock/ClockWidgetVM.kt b/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/clock/ClockWidgetVM.kt new file mode 100644 index 00000000..187e0efd --- /dev/null +++ b/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/clock/ClockWidgetVM.kt @@ -0,0 +1,6 @@ +package de.mm20.launcher2.ui.launcher.widgets.clock + +import androidx.lifecycle.ViewModel + +class ClockWidgetVM: ViewModel() { +} \ No newline at end of file diff --git a/ui/src/main/java/de/mm20/launcher2/ui/legacy/activity/LauncherActivity.kt b/ui/src/main/java/de/mm20/launcher2/ui/legacy/activity/LauncherActivity.kt index a9d588d5..325e69f8 100644 --- a/ui/src/main/java/de/mm20/launcher2/ui/legacy/activity/LauncherActivity.kt +++ b/ui/src/main/java/de/mm20/launcher2/ui/legacy/activity/LauncherActivity.kt @@ -274,13 +274,11 @@ class LauncherActivity : AppCompatActivity() { binding.searchBar.raise() } else binding.searchBar.drop() if (scrollY == 0) { - binding.clockWidget.transparentBackground = true if (!searchVisibility) { binding.searchBar.hide() windowBackgroundBlur = false } } else { - binding.clockWidget.transparentBackground = false binding.searchBar.show() if (!searchVisibility) { windowBackgroundBlur = true diff --git a/ui/src/main/java/de/mm20/launcher2/ui/legacy/widget/ClockWidget.kt b/ui/src/main/java/de/mm20/launcher2/ui/legacy/widget/ClockWidget.kt index 03978f66..d378801f 100644 --- a/ui/src/main/java/de/mm20/launcher2/ui/legacy/widget/ClockWidget.kt +++ b/ui/src/main/java/de/mm20/launcher2/ui/legacy/widget/ClockWidget.kt @@ -1,33 +1,12 @@ package de.mm20.launcher2.ui.legacy.widget -import android.animation.AnimatorSet import android.animation.LayoutTransition -import android.animation.ObjectAnimator -import android.content.ContentUris import android.content.Context -import android.content.Intent -import android.graphics.Color -import android.provider.CalendarContract -import android.text.format.DateFormat import android.util.AttributeSet -import android.util.TypedValue -import android.view.animation.AccelerateInterpolator -import android.view.animation.DecelerateInterpolator import android.widget.FrameLayout -import android.widget.TextClock -import androidx.compose.runtime.getValue -import androidx.compose.runtime.livedata.observeAsState import androidx.compose.ui.platform.ComposeView -import androidx.core.content.ContextCompat -import androidx.lifecycle.MutableLiveData -import de.mm20.launcher2.ktx.dp -import de.mm20.launcher2.legacy.helper.ActivityStarter -import de.mm20.launcher2.preferences.LauncherPreferences import de.mm20.launcher2.ui.ClockWidget import de.mm20.launcher2.ui.LegacyLauncherTheme -import de.mm20.launcher2.ui.R -import de.mm20.launcher2.ui.legacy.view.LauncherCardView -import java.util.* class ClockWidget : FrameLayout { @@ -55,15 +34,10 @@ class ClockWidget : FrameLayout { composeView.setContent { - val transparentBg by transparentBackgroundState.observeAsState(true) LegacyLauncherTheme { - ClockWidget(transparentBackground = transparentBg) + ClockWidget() } } } - - private val transparentBackgroundState = MutableLiveData() - - var transparentBackground: Boolean = true }