diff options
author | Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> | 2023-11-08 19:25:45 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2023-11-08 19:25:45 +0000 |
commit | 230d25c4008e193ac1e46e8a247271574d9d329a (patch) | |
tree | 0e2b52693ae6606bf2fa7e995e795492ae12c7e9 | |
parent | 530fda754f83f65734f22d4db82b13c29137965f (diff) | |
parent | fba6a29ea2b743ee7dbd077aeeeaef0a5c156d1e (diff) | |
download | ThemePicker-230d25c4008e193ac1e46e8a247271574d9d329a.tar.gz |
Merge changes from topic "blackflash" into udc-qpr-dev am: fba6a29ea2
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/ThemePicker/+/25107911
Change-Id: Ib3c832896e88d3c78f4989c0c461b0cc22b2e25d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | src/com/android/customization/module/ThemePickerInjector.kt | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/com/android/customization/module/ThemePickerInjector.kt b/src/com/android/customization/module/ThemePickerInjector.kt index f31af447..a1fc0144 100644 --- a/src/com/android/customization/module/ThemePickerInjector.kt +++ b/src/com/android/customization/module/ThemePickerInjector.kt @@ -15,6 +15,7 @@ */ package com.android.customization.module +import android.app.Activity import android.app.UiModeManager import android.app.WallpaperManager import android.content.Context @@ -111,7 +112,7 @@ internal constructor( private var clockPickerInteractor: ClockPickerInteractor? = null private var clockSectionViewModel: ClockSectionViewModel? = null private var clockCarouselViewModelFactory: ClockCarouselViewModel.Factory? = null - private var clockViewFactories: MutableMap<Int, ClockViewFactory> = HashMap() + private var clockViewFactory: ClockViewFactory? = null private var clockPickerSnapshotRestorer: ClockPickerSnapshotRestorer? = null private var notificationsInteractor: NotificationsInteractor? = null private var notificationSectionViewModelFactory: NotificationSectionViewModel.Factory? = null @@ -388,8 +389,7 @@ internal constructor( } override fun getClockViewFactory(activity: ComponentActivity): ClockViewFactory { - val activityHashCode = activity.hashCode() - return clockViewFactories[activityHashCode] + return clockViewFactory ?: ClockViewFactory( activity.applicationContext, ScreenSizeCalculator.getInstance() @@ -398,13 +398,13 @@ internal constructor( getClockRegistry(activity.applicationContext), ) .also { - clockViewFactories[activityHashCode] = it + clockViewFactory = it activity.lifecycle.addObserver( object : DefaultLifecycleObserver { override fun onDestroy(owner: LifecycleOwner) { super.onDestroy(owner) - clockViewFactories[activityHashCode]?.onDestroy() - clockViewFactories.remove(activityHashCode) + if ((owner as Activity).isChangingConfigurations()) return + clockViewFactory?.onDestroy() } } ) |