Loading packages/SystemUI/multivalentTests/src/com/android/systemui/education/domain/ui/view/ContextualEduUiCoordinatorTest.kt +16 −3 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.contextualeducation.GestureType import com.android.systemui.contextualeducation.GestureType.BACK import com.android.systemui.contextualeducation.GestureType.HOME import com.android.systemui.education.data.repository.fakeEduClock import com.android.systemui.education.domain.interactor.KeyboardTouchpadEduInteractor import com.android.systemui.education.domain.interactor.contextualEducationInteractor Loading Loading @@ -52,6 +53,7 @@ import org.mockito.ArgumentMatchers.anyInt import org.mockito.Mock import org.mockito.junit.MockitoJUnit import org.mockito.kotlin.any import org.mockito.kotlin.mock import org.mockito.kotlin.verify import org.mockito.kotlin.whenever Loading @@ -66,6 +68,7 @@ class ContextualEduUiCoordinatorTest : SysuiTestCase() { private val minDurationForNextEdu = KeyboardTouchpadEduInteractor.minIntervalBetweenEdu + 1.seconds private lateinit var underTest: ContextualEduUiCoordinator private lateinit var previousDialog: Dialog @Mock private lateinit var dialog: Dialog @Mock private lateinit var notificationManager: NotificationManager @Mock private lateinit var accessibilityManagerWrapper: AccessibilityManagerWrapper Loading Loading @@ -95,9 +98,11 @@ class ContextualEduUiCoordinatorTest : SysuiTestCase() { kosmos.applicationCoroutineScope, viewModel, kosmos.applicationContext, notificationManager notificationManager, ) { model -> toastContent = model.message previousDialog = dialog dialog = mock<Dialog>() dialog } underTest.start() Loading Loading @@ -128,6 +133,14 @@ class ContextualEduUiCoordinatorTest : SysuiTestCase() { verify(dialog).dismiss() } @Test fun dismissPreviousDialogOnNewDialog() = testScope.runTest { triggerEducation(BACK) triggerEducation(HOME) verify(previousDialog).dismiss() } @Test fun verifyBackEduToastContent() = testScope.runTest { Loading @@ -149,14 +162,14 @@ class ContextualEduUiCoordinatorTest : SysuiTestCase() { verifyNotificationContent( R.string.back_edu_notification_title, R.string.back_edu_notification_content, notificationCaptor.value notificationCaptor.value, ) } private fun verifyNotificationContent( titleResId: Int, contentResId: Int, notification: Notification notification: Notification, ) { val expectedContent = context.getString(contentResId) val expectedTitle = context.getString(titleResId) Loading packages/SystemUI/src/com/android/systemui/education/ui/view/ContextualEduUiCoordinator.kt +2 −1 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.os.Bundle import android.os.UserHandle import android.view.accessibility.AccessibilityManager import androidx.core.app.NotificationCompat import com.android.app.tracing.coroutines.launchTraced as launch import com.android.systemui.CoreStartable import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application Loading @@ -39,7 +40,6 @@ import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutoria import com.android.systemui.res.R import javax.inject.Inject import kotlinx.coroutines.CoroutineScope import com.android.app.tracing.coroutines.launchTraced as launch /** * A class to show contextual education on UI based on the edu produced from Loading Loading @@ -107,6 +107,7 @@ constructor( } private fun showDialog(model: ContextualEduToastViewModel) { dialog?.dismiss() dialog = createDialog(model) dialog?.show() } Loading Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/education/domain/ui/view/ContextualEduUiCoordinatorTest.kt +16 −3 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.contextualeducation.GestureType import com.android.systemui.contextualeducation.GestureType.BACK import com.android.systemui.contextualeducation.GestureType.HOME import com.android.systemui.education.data.repository.fakeEduClock import com.android.systemui.education.domain.interactor.KeyboardTouchpadEduInteractor import com.android.systemui.education.domain.interactor.contextualEducationInteractor Loading Loading @@ -52,6 +53,7 @@ import org.mockito.ArgumentMatchers.anyInt import org.mockito.Mock import org.mockito.junit.MockitoJUnit import org.mockito.kotlin.any import org.mockito.kotlin.mock import org.mockito.kotlin.verify import org.mockito.kotlin.whenever Loading @@ -66,6 +68,7 @@ class ContextualEduUiCoordinatorTest : SysuiTestCase() { private val minDurationForNextEdu = KeyboardTouchpadEduInteractor.minIntervalBetweenEdu + 1.seconds private lateinit var underTest: ContextualEduUiCoordinator private lateinit var previousDialog: Dialog @Mock private lateinit var dialog: Dialog @Mock private lateinit var notificationManager: NotificationManager @Mock private lateinit var accessibilityManagerWrapper: AccessibilityManagerWrapper Loading Loading @@ -95,9 +98,11 @@ class ContextualEduUiCoordinatorTest : SysuiTestCase() { kosmos.applicationCoroutineScope, viewModel, kosmos.applicationContext, notificationManager notificationManager, ) { model -> toastContent = model.message previousDialog = dialog dialog = mock<Dialog>() dialog } underTest.start() Loading Loading @@ -128,6 +133,14 @@ class ContextualEduUiCoordinatorTest : SysuiTestCase() { verify(dialog).dismiss() } @Test fun dismissPreviousDialogOnNewDialog() = testScope.runTest { triggerEducation(BACK) triggerEducation(HOME) verify(previousDialog).dismiss() } @Test fun verifyBackEduToastContent() = testScope.runTest { Loading @@ -149,14 +162,14 @@ class ContextualEduUiCoordinatorTest : SysuiTestCase() { verifyNotificationContent( R.string.back_edu_notification_title, R.string.back_edu_notification_content, notificationCaptor.value notificationCaptor.value, ) } private fun verifyNotificationContent( titleResId: Int, contentResId: Int, notification: Notification notification: Notification, ) { val expectedContent = context.getString(contentResId) val expectedTitle = context.getString(titleResId) Loading
packages/SystemUI/src/com/android/systemui/education/ui/view/ContextualEduUiCoordinator.kt +2 −1 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.os.Bundle import android.os.UserHandle import android.view.accessibility.AccessibilityManager import androidx.core.app.NotificationCompat import com.android.app.tracing.coroutines.launchTraced as launch import com.android.systemui.CoreStartable import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application Loading @@ -39,7 +40,6 @@ import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutoria import com.android.systemui.res.R import javax.inject.Inject import kotlinx.coroutines.CoroutineScope import com.android.app.tracing.coroutines.launchTraced as launch /** * A class to show contextual education on UI based on the edu produced from Loading Loading @@ -107,6 +107,7 @@ constructor( } private fun showDialog(model: ContextualEduToastViewModel) { dialog?.dismiss() dialog = createDialog(model) dialog?.show() } Loading