Loading src/com/android/customization/module/ThemePickerInjector.kt +2 −3 Original line number Diff line number Diff line Loading @@ -134,9 +134,7 @@ internal constructor( wallpaperColorsRepository = getWallpaperColorsRepository(), ), getKeyguardQuickAffordancePickerViewModelFactory(appContext), NotificationSectionViewModel.Factory( interactor = getNotificationsInteractor(appContext), ), getNotificationSectionViewModelFactory(appContext), getFlags(), getClockCarouselViewModelFactory( interactor = getClockPickerInteractor(appContext), Loading Loading @@ -286,6 +284,7 @@ internal constructor( return notificationSectionViewModelFactory ?: NotificationSectionViewModel.Factory( interactor = getNotificationsInteractor(context), logger = getUserEventLogger(context), ) .also { notificationSectionViewModelFactory = it } } Loading src/com/android/customization/picker/notifications/ui/viewmodel/NotificationSectionViewModel.kt +10 −1 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import androidx.annotation.VisibleForTesting import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.viewModelScope import com.android.customization.module.logging.ThemesUserEventLogger import com.android.customization.picker.notifications.domain.interactor.NotificationsInteractor import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map Loading @@ -31,6 +32,7 @@ class NotificationSectionViewModel @VisibleForTesting constructor( private val interactor: NotificationsInteractor, private val logger: ThemesUserEventLogger, ) : ViewModel() { /** Whether the switch should be on. */ Loading @@ -39,16 +41,23 @@ constructor( /** Notifies that the section has been clicked. */ fun onClicked() { viewModelScope.launch { interactor.toggleShowNotificationsOnLockScreenEnabled() } viewModelScope.launch { interactor.toggleShowNotificationsOnLockScreenEnabled() logger.logLockScreenNotificationApplied( interactor.getSettings().isShowNotificationsOnLockScreenEnabled ) } } class Factory( private val interactor: NotificationsInteractor, private val logger: ThemesUserEventLogger, ) : ViewModelProvider.Factory { @Suppress("UNCHECKED_CAST") override fun <T : ViewModel> create(modelClass: Class<T>): T { return NotificationSectionViewModel( interactor = interactor, logger = logger, ) as T } Loading tests/robotests/src/com/android/customization/picker/notifications/ui/viewmodel/NotificationSectionViewModelTest.kt +5 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ package com.android.customization.picker.notifications.ui.viewmodel import androidx.test.filters.SmallTest import com.android.customization.module.logging.TestThemesUserEventLogger import com.android.customization.module.logging.ThemesUserEventLogger import com.android.customization.picker.notifications.data.repository.NotificationsRepository import com.android.customization.picker.notifications.domain.interactor.NotificationsInteractor import com.android.customization.picker.notifications.domain.interactor.NotificationsSnapshotRestorer Loading @@ -44,6 +46,8 @@ import org.robolectric.RobolectricTestRunner @RunWith(RobolectricTestRunner::class) class NotificationSectionViewModelTest { private val logger: ThemesUserEventLogger = TestThemesUserEventLogger() private lateinit var underTest: NotificationSectionViewModel private lateinit var testScope: TestScope Loading Loading @@ -73,6 +77,7 @@ class NotificationSectionViewModelTest { underTest = NotificationSectionViewModel( interactor = interactor, logger = logger, ) } Loading Loading
src/com/android/customization/module/ThemePickerInjector.kt +2 −3 Original line number Diff line number Diff line Loading @@ -134,9 +134,7 @@ internal constructor( wallpaperColorsRepository = getWallpaperColorsRepository(), ), getKeyguardQuickAffordancePickerViewModelFactory(appContext), NotificationSectionViewModel.Factory( interactor = getNotificationsInteractor(appContext), ), getNotificationSectionViewModelFactory(appContext), getFlags(), getClockCarouselViewModelFactory( interactor = getClockPickerInteractor(appContext), Loading Loading @@ -286,6 +284,7 @@ internal constructor( return notificationSectionViewModelFactory ?: NotificationSectionViewModel.Factory( interactor = getNotificationsInteractor(context), logger = getUserEventLogger(context), ) .also { notificationSectionViewModelFactory = it } } Loading
src/com/android/customization/picker/notifications/ui/viewmodel/NotificationSectionViewModel.kt +10 −1 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import androidx.annotation.VisibleForTesting import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.viewModelScope import com.android.customization.module.logging.ThemesUserEventLogger import com.android.customization.picker.notifications.domain.interactor.NotificationsInteractor import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map Loading @@ -31,6 +32,7 @@ class NotificationSectionViewModel @VisibleForTesting constructor( private val interactor: NotificationsInteractor, private val logger: ThemesUserEventLogger, ) : ViewModel() { /** Whether the switch should be on. */ Loading @@ -39,16 +41,23 @@ constructor( /** Notifies that the section has been clicked. */ fun onClicked() { viewModelScope.launch { interactor.toggleShowNotificationsOnLockScreenEnabled() } viewModelScope.launch { interactor.toggleShowNotificationsOnLockScreenEnabled() logger.logLockScreenNotificationApplied( interactor.getSettings().isShowNotificationsOnLockScreenEnabled ) } } class Factory( private val interactor: NotificationsInteractor, private val logger: ThemesUserEventLogger, ) : ViewModelProvider.Factory { @Suppress("UNCHECKED_CAST") override fun <T : ViewModel> create(modelClass: Class<T>): T { return NotificationSectionViewModel( interactor = interactor, logger = logger, ) as T } Loading
tests/robotests/src/com/android/customization/picker/notifications/ui/viewmodel/NotificationSectionViewModelTest.kt +5 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ package com.android.customization.picker.notifications.ui.viewmodel import androidx.test.filters.SmallTest import com.android.customization.module.logging.TestThemesUserEventLogger import com.android.customization.module.logging.ThemesUserEventLogger import com.android.customization.picker.notifications.data.repository.NotificationsRepository import com.android.customization.picker.notifications.domain.interactor.NotificationsInteractor import com.android.customization.picker.notifications.domain.interactor.NotificationsSnapshotRestorer Loading @@ -44,6 +46,8 @@ import org.robolectric.RobolectricTestRunner @RunWith(RobolectricTestRunner::class) class NotificationSectionViewModelTest { private val logger: ThemesUserEventLogger = TestThemesUserEventLogger() private lateinit var underTest: NotificationSectionViewModel private lateinit var testScope: TestScope Loading Loading @@ -73,6 +77,7 @@ class NotificationSectionViewModelTest { underTest = NotificationSectionViewModel( interactor = interactor, logger = logger, ) } Loading