Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c7f58bd8 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 11012804 from 02ba1a40 to 24Q1-release

Change-Id: I74bc3ee928522a377a0c1ddf994782e509ac5073
parents ff0d75cf 02ba1a40
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -134,9 +134,7 @@ internal constructor(
                        wallpaperColorsRepository = getWallpaperColorsRepository(),
                    ),
                    getKeyguardQuickAffordancePickerViewModelFactory(appContext),
                    NotificationSectionViewModel.Factory(
                        interactor = getNotificationsInteractor(appContext),
                    ),
                    getNotificationSectionViewModelFactory(appContext),
                    getFlags(),
                    getClockCarouselViewModelFactory(
                        interactor = getClockPickerInteractor(appContext),
@@ -286,6 +284,7 @@ internal constructor(
        return notificationSectionViewModelFactory
            ?: NotificationSectionViewModel.Factory(
                    interactor = getNotificationsInteractor(context),
                    logger = getUserEventLogger(context),
                )
                .also { notificationSectionViewModelFactory = it }
    }
+10 −1
Original line number Diff line number Diff line
@@ -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
@@ -31,6 +32,7 @@ class NotificationSectionViewModel
@VisibleForTesting
constructor(
    private val interactor: NotificationsInteractor,
    private val logger: ThemesUserEventLogger,
) : ViewModel() {

    /** Whether the switch should be on. */
@@ -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
        }
+5 −0
Original line number Diff line number Diff line
@@ -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
@@ -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
@@ -73,6 +77,7 @@ class NotificationSectionViewModelTest {
        underTest =
            NotificationSectionViewModel(
                interactor = interactor,
                logger = logger,
            )
    }