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

Commit 55e9e7d3 authored by Michał Brzeziński's avatar Michał Brzeziński Committed by Android (Google) Code Review
Browse files

Merge "Allow launching only one tutorial in touchpad/keyboard tutorial" into main

parents 8bc91885 26884473
Loading
Loading
Loading
Loading
+46 −19
Original line number Original line Diff line number Diff line
@@ -27,9 +27,11 @@ import com.android.systemui.coroutines.collectLastValue
import com.android.systemui.coroutines.collectValues
import com.android.systemui.coroutines.collectValues
import com.android.systemui.inputdevice.tutorial.InputDeviceTutorialLogger
import com.android.systemui.inputdevice.tutorial.InputDeviceTutorialLogger
import com.android.systemui.inputdevice.tutorial.domain.interactor.KeyboardTouchpadConnectionInteractor
import com.android.systemui.inputdevice.tutorial.domain.interactor.KeyboardTouchpadConnectionInteractor
import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutorialActivity.Companion.INTENT_TUTORIAL_TYPE_KEY
import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutorialActivity.Companion.INTENT_TUTORIAL_SCOPE_KEY
import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutorialActivity.Companion.INTENT_TUTORIAL_TYPE_KEYBOARD
import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutorialActivity.Companion.INTENT_TUTORIAL_SCOPE_KEYBOARD
import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutorialActivity.Companion.INTENT_TUTORIAL_TYPE_TOUCHPAD
import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutorialActivity.Companion.INTENT_TUTORIAL_SCOPE_TOUCHPAD
import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutorialActivity.Companion.INTENT_TUTORIAL_SCOPE_TOUCHPAD_BACK
import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutorialActivity.Companion.INTENT_TUTORIAL_SCOPE_TOUCHPAD_HOME
import com.android.systemui.inputdevice.tutorial.ui.viewmodel.Screen.ACTION_KEY
import com.android.systemui.inputdevice.tutorial.ui.viewmodel.Screen.ACTION_KEY
import com.android.systemui.inputdevice.tutorial.ui.viewmodel.Screen.BACK_GESTURE
import com.android.systemui.inputdevice.tutorial.ui.viewmodel.Screen.BACK_GESTURE
import com.android.systemui.inputdevice.tutorial.ui.viewmodel.Screen.HOME_GESTURE
import com.android.systemui.inputdevice.tutorial.ui.viewmodel.Screen.HOME_GESTURE
@@ -66,8 +68,8 @@ class KeyboardTouchpadTutorialViewModelTest : SysuiTestCase() {
    private val sysUiState = kosmos.sysUiState
    private val sysUiState = kosmos.sysUiState
    private val touchpadRepo = PrettyFakeTouchpadRepository()
    private val touchpadRepo = PrettyFakeTouchpadRepository()
    private val keyboardRepo = kosmos.keyboardRepository
    private val keyboardRepo = kosmos.keyboardRepository
    private var startingPeripheral = INTENT_TUTORIAL_TYPE_TOUCHPAD
    private var tutorialScope = INTENT_TUTORIAL_SCOPE_TOUCHPAD
    private val viewModel by lazy { createViewModel(startingPeripheral) }
    private val viewModel by lazy { createViewModel(tutorialScope) }


    // createUnsafe so its methods don't have to be called on Main thread
    // createUnsafe so its methods don't have to be called on Main thread
    private val lifecycle = LifecycleRegistry.createUnsafe(mock(LifecycleOwner::class.java))
    private val lifecycle = LifecycleRegistry.createUnsafe(mock(LifecycleOwner::class.java))
@@ -75,7 +77,7 @@ class KeyboardTouchpadTutorialViewModelTest : SysuiTestCase() {
    @get:Rule val mainDispatcherRule = MainDispatcherRule(kosmos.testDispatcher)
    @get:Rule val mainDispatcherRule = MainDispatcherRule(kosmos.testDispatcher)


    private fun createViewModel(
    private fun createViewModel(
        startingPeripheral: String = INTENT_TUTORIAL_TYPE_TOUCHPAD,
        scope: String = INTENT_TUTORIAL_SCOPE_TOUCHPAD,
        hasTouchpadTutorialScreens: Boolean = true,
        hasTouchpadTutorialScreens: Boolean = true,
    ): KeyboardTouchpadTutorialViewModel {
    ): KeyboardTouchpadTutorialViewModel {
        val viewModel =
        val viewModel =
@@ -84,7 +86,7 @@ class KeyboardTouchpadTutorialViewModelTest : SysuiTestCase() {
                KeyboardTouchpadConnectionInteractor(keyboardRepo, touchpadRepo),
                KeyboardTouchpadConnectionInteractor(keyboardRepo, touchpadRepo),
                hasTouchpadTutorialScreens,
                hasTouchpadTutorialScreens,
                mock<InputDeviceTutorialLogger>(),
                mock<InputDeviceTutorialLogger>(),
                SavedStateHandle(mapOf(INTENT_TUTORIAL_TYPE_KEY to startingPeripheral))
                SavedStateHandle(mapOf(INTENT_TUTORIAL_SCOPE_KEY to scope)),
            )
            )
        lifecycle.addObserver(viewModel)
        lifecycle.addObserver(viewModel)
        return viewModel
        return viewModel
@@ -169,7 +171,7 @@ class KeyboardTouchpadTutorialViewModelTest : SysuiTestCase() {
    @Test
    @Test
    fun screensOrder_whenGoingBackAndOnlyKeyboardConnected() =
    fun screensOrder_whenGoingBackAndOnlyKeyboardConnected() =
        testScope.runTest {
        testScope.runTest {
            startingPeripheral = INTENT_TUTORIAL_TYPE_KEYBOARD
            tutorialScope = INTENT_TUTORIAL_SCOPE_KEYBOARD
            val screens by collectValues(viewModel.screen)
            val screens by collectValues(viewModel.screen)
            val closeActivity by collectLastValue(viewModel.closeActivity)
            val closeActivity by collectLastValue(viewModel.closeActivity)
            peripheralsState(keyboardConnected = true, touchpadConnected = false)
            peripheralsState(keyboardConnected = true, touchpadConnected = false)
@@ -185,13 +187,12 @@ class KeyboardTouchpadTutorialViewModelTest : SysuiTestCase() {
    @Test
    @Test
    fun screensOrder_whenTouchpadConnected() =
    fun screensOrder_whenTouchpadConnected() =
        testScope.runTest {
        testScope.runTest {
            startingPeripheral = INTENT_TUTORIAL_TYPE_TOUCHPAD
            tutorialScope = INTENT_TUTORIAL_SCOPE_TOUCHPAD
            val screens by collectValues(viewModel.screen)
            val screens by collectValues(viewModel.screen)
            val closeActivity by collectLastValue(viewModel.closeActivity)
            val closeActivity by collectLastValue(viewModel.closeActivity)


            peripheralsState(keyboardConnected = false, touchpadConnected = true)
            peripheralsState(keyboardConnected = false, touchpadConnected = true)


            goToNextScreen()
            goToNextScreen()
            goToNextScreen()
            goToNextScreen()
            goToNextScreen()


@@ -200,15 +201,41 @@ class KeyboardTouchpadTutorialViewModelTest : SysuiTestCase() {
        }
        }


    @Test
    @Test
    fun screensOrder_whenKeyboardConnected() =
    fun screensOrder_withBackGestureScope() =
        testScope.runTest {
        testScope.runTest {
            startingPeripheral = INTENT_TUTORIAL_TYPE_KEYBOARD
            tutorialScope = INTENT_TUTORIAL_SCOPE_TOUCHPAD_BACK
            val screens by collectValues(viewModel.screen)
            val screens by collectValues(viewModel.screen)
            val closeActivity by collectLastValue(viewModel.closeActivity)
            val closeActivity by collectLastValue(viewModel.closeActivity)
            peripheralsState(touchpadConnected = true)


            peripheralsState(keyboardConnected = true)
            goToNextScreen()

            assertThat(screens).containsExactly(BACK_GESTURE).inOrder()
            assertThat(closeActivity).isTrue()
        }

    @Test
    fun screensOrder_withHomeGestureScope() =
        testScope.runTest {
            tutorialScope = INTENT_TUTORIAL_SCOPE_TOUCHPAD_HOME
            val screens by collectValues(viewModel.screen)
            val closeActivity by collectLastValue(viewModel.closeActivity)
            peripheralsState(touchpadConnected = true)


            goToNextScreen()
            goToNextScreen()

            assertThat(screens).containsExactly(HOME_GESTURE).inOrder()
            assertThat(closeActivity).isTrue()
        }

    @Test
    fun screensOrder_withKeyboardScope() =
        testScope.runTest {
            tutorialScope = INTENT_TUTORIAL_SCOPE_KEYBOARD
            val screens by collectValues(viewModel.screen)
            val closeActivity by collectLastValue(viewModel.closeActivity)
            peripheralsState(keyboardConnected = true)

            goToNextScreen()
            goToNextScreen()


            assertThat(screens).containsExactly(ACTION_KEY).inOrder()
            assertThat(screens).containsExactly(ACTION_KEY).inOrder()
@@ -218,7 +245,7 @@ class KeyboardTouchpadTutorialViewModelTest : SysuiTestCase() {
    @Test
    @Test
    fun touchpadGesturesDisabled_onlyDuringTouchpadTutorial() =
    fun touchpadGesturesDisabled_onlyDuringTouchpadTutorial() =
        testScope.runTest {
        testScope.runTest {
            startingPeripheral = INTENT_TUTORIAL_TYPE_TOUCHPAD
            tutorialScope = INTENT_TUTORIAL_SCOPE_TOUCHPAD
            collectValues(viewModel.screen) // just to initialize viewModel
            collectValues(viewModel.screen) // just to initialize viewModel
            peripheralsState(keyboardConnected = true, touchpadConnected = true)
            peripheralsState(keyboardConnected = true, touchpadConnected = true)


@@ -234,8 +261,8 @@ class KeyboardTouchpadTutorialViewModelTest : SysuiTestCase() {
        testScope.runTest {
        testScope.runTest {
            val viewModel =
            val viewModel =
                createViewModel(
                createViewModel(
                    startingPeripheral = INTENT_TUTORIAL_TYPE_TOUCHPAD,
                    scope = INTENT_TUTORIAL_SCOPE_TOUCHPAD,
                    hasTouchpadTutorialScreens = false
                    hasTouchpadTutorialScreens = false,
                )
                )
            val screens by collectValues(viewModel.screen)
            val screens by collectValues(viewModel.screen)
            val closeActivity by collectLastValue(viewModel.closeActivity)
            val closeActivity by collectLastValue(viewModel.closeActivity)
@@ -248,7 +275,7 @@ class KeyboardTouchpadTutorialViewModelTest : SysuiTestCase() {
    @Test
    @Test
    fun touchpadGesturesDisabled_whenTutorialGoesToForeground() =
    fun touchpadGesturesDisabled_whenTutorialGoesToForeground() =
        testScope.runTest {
        testScope.runTest {
            startingPeripheral = INTENT_TUTORIAL_TYPE_TOUCHPAD
            tutorialScope = INTENT_TUTORIAL_SCOPE_TOUCHPAD
            collectValues(viewModel.screen) // just to initialize viewModel
            collectValues(viewModel.screen) // just to initialize viewModel
            peripheralsState(touchpadConnected = true)
            peripheralsState(touchpadConnected = true)


@@ -260,7 +287,7 @@ class KeyboardTouchpadTutorialViewModelTest : SysuiTestCase() {
    @Test
    @Test
    fun touchpadGesturesNotDisabled_whenTutorialGoesToBackground() =
    fun touchpadGesturesNotDisabled_whenTutorialGoesToBackground() =
        testScope.runTest {
        testScope.runTest {
            startingPeripheral = INTENT_TUTORIAL_TYPE_TOUCHPAD
            tutorialScope = INTENT_TUTORIAL_SCOPE_TOUCHPAD
            collectValues(viewModel.screen)
            collectValues(viewModel.screen)
            peripheralsState(touchpadConnected = true)
            peripheralsState(touchpadConnected = true)


@@ -288,7 +315,7 @@ class KeyboardTouchpadTutorialViewModelTest : SysuiTestCase() {


    private fun TestScope.peripheralsState(
    private fun TestScope.peripheralsState(
        keyboardConnected: Boolean = false,
        keyboardConnected: Boolean = false,
        touchpadConnected: Boolean = false
        touchpadConnected: Boolean = false,
    ) {
    ) {
        keyboardRepo.setIsAnyKeyboardConnected(keyboardConnected)
        keyboardRepo.setIsAnyKeyboardConnected(keyboardConnected)
        touchpadRepo.setIsAnyTouchpadConnected(touchpadConnected)
        touchpadRepo.setIsAnyTouchpadConnected(touchpadConnected)
+8 −7
Original line number Original line Diff line number Diff line
@@ -20,6 +20,7 @@ import android.content.BroadcastReceiver
import android.content.Context
import android.content.Context
import android.content.Intent
import android.content.Intent
import android.content.IntentFilter
import android.content.IntentFilter
import android.os.Build
import android.os.UserHandle
import android.os.UserHandle
import com.android.systemui.CoreStartable
import com.android.systemui.CoreStartable
import com.android.systemui.broadcast.BroadcastDispatcher
import com.android.systemui.broadcast.BroadcastDispatcher
@@ -52,13 +53,13 @@ constructor(
            receiver =
            receiver =
                object : BroadcastReceiver() {
                object : BroadcastReceiver() {
                    override fun onReceive(context: Context, intent: Intent) {
                    override fun onReceive(context: Context, intent: Intent) {
                        applicationContext.startActivityAsUser(
                        val activityIntent =
                            Intent(
                            Intent(applicationContext, KeyboardTouchpadTutorialActivity::class.java)
                                applicationContext,
                        if (Build.IS_DEBUGGABLE) {
                                KeyboardTouchpadTutorialActivity::class.java
                            // helpful for testing different cases but pointless for public builds
                            ),
                            intent.extras?.let { activityIntent.putExtras(it) }
                            UserHandle.SYSTEM
                        }
                        )
                        applicationContext.startActivityAsUser(activityIntent, UserHandle.SYSTEM)
                    }
                    }
                },
                },
            filter = IntentFilter("com.android.systemui.action.KEYBOARD_TOUCHPAD_TUTORIAL"),
            filter = IntentFilter("com.android.systemui.action.KEYBOARD_TOUCHPAD_TUTORIAL"),
+4 −4
Original line number Original line Diff line number Diff line
@@ -18,8 +18,8 @@ package com.android.systemui.inputdevice.tutorial


import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutorialActivity.Companion.INTENT_TUTORIAL_ENTRY_POINT_CONTEXTUAL_EDU
import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutorialActivity.Companion.INTENT_TUTORIAL_ENTRY_POINT_CONTEXTUAL_EDU
import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutorialActivity.Companion.INTENT_TUTORIAL_ENTRY_POINT_SCHEDULER
import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutorialActivity.Companion.INTENT_TUTORIAL_ENTRY_POINT_SCHEDULER
import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutorialActivity.Companion.INTENT_TUTORIAL_TYPE_KEYBOARD
import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutorialActivity.Companion.INTENT_TUTORIAL_SCOPE_KEYBOARD
import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutorialActivity.Companion.INTENT_TUTORIAL_TYPE_TOUCHPAD
import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutorialActivity.Companion.INTENT_TUTORIAL_SCOPE_TOUCHPAD
import com.android.systemui.shared.system.SysUiStatsLog
import com.android.systemui.shared.system.SysUiStatsLog
import javax.inject.Inject
import javax.inject.Inject


@@ -37,9 +37,9 @@ class KeyboardTouchpadTutorialMetricsLogger @Inject constructor() {


        val tutorialType =
        val tutorialType =
            when (tutorialTypeExtra) {
            when (tutorialTypeExtra) {
                INTENT_TUTORIAL_TYPE_KEYBOARD ->
                INTENT_TUTORIAL_SCOPE_KEYBOARD ->
                    SysUiStatsLog.PERIPHERAL_TUTORIAL_LAUNCHED__TUTORIAL_TYPE__KEYBOARD
                    SysUiStatsLog.PERIPHERAL_TUTORIAL_LAUNCHED__TUTORIAL_TYPE__KEYBOARD
                INTENT_TUTORIAL_TYPE_TOUCHPAD ->
                INTENT_TUTORIAL_SCOPE_TOUCHPAD ->
                    SysUiStatsLog.PERIPHERAL_TUTORIAL_LAUNCHED__TUTORIAL_TYPE__TOUCHPAD
                    SysUiStatsLog.PERIPHERAL_TUTORIAL_LAUNCHED__TUTORIAL_TYPE__TOUCHPAD
                else -> SysUiStatsLog.PERIPHERAL_TUTORIAL_LAUNCHED__TUTORIAL_TYPE__BOTH
                else -> SysUiStatsLog.PERIPHERAL_TUTORIAL_LAUNCHED__TUTORIAL_TYPE__BOTH
            }
            }
+8 −8
Original line number Original line Diff line number Diff line
@@ -34,10 +34,10 @@ import com.android.systemui.inputdevice.tutorial.domain.interactor.TutorialSched
import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutorialActivity
import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutorialActivity
import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutorialActivity.Companion.INTENT_TUTORIAL_ENTRY_POINT_KEY
import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutorialActivity.Companion.INTENT_TUTORIAL_ENTRY_POINT_KEY
import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutorialActivity.Companion.INTENT_TUTORIAL_ENTRY_POINT_SCHEDULER
import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutorialActivity.Companion.INTENT_TUTORIAL_ENTRY_POINT_SCHEDULER
import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutorialActivity.Companion.INTENT_TUTORIAL_TYPE_BOTH
import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutorialActivity.Companion.INTENT_TUTORIAL_SCOPE_ALL
import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutorialActivity.Companion.INTENT_TUTORIAL_TYPE_KEY
import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutorialActivity.Companion.INTENT_TUTORIAL_SCOPE_KEY
import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutorialActivity.Companion.INTENT_TUTORIAL_TYPE_KEYBOARD
import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutorialActivity.Companion.INTENT_TUTORIAL_SCOPE_KEYBOARD
import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutorialActivity.Companion.INTENT_TUTORIAL_TYPE_TOUCHPAD
import com.android.systemui.inputdevice.tutorial.ui.view.KeyboardTouchpadTutorialActivity.Companion.INTENT_TUTORIAL_SCOPE_TOUCHPAD
import com.android.systemui.res.R
import com.android.systemui.res.R
import com.android.systemui.settings.UserTracker
import com.android.systemui.settings.UserTracker
import javax.inject.Inject
import javax.inject.Inject
@@ -108,7 +108,7 @@ constructor(
    private fun createPendingIntent(tutorialType: String): PendingIntent {
    private fun createPendingIntent(tutorialType: String): PendingIntent {
        val intent =
        val intent =
            Intent(context, KeyboardTouchpadTutorialActivity::class.java).apply {
            Intent(context, KeyboardTouchpadTutorialActivity::class.java).apply {
                putExtra(INTENT_TUTORIAL_TYPE_KEY, tutorialType)
                putExtra(INTENT_TUTORIAL_SCOPE_KEY, tutorialType)
                putExtra(INTENT_TUTORIAL_ENTRY_POINT_KEY, INTENT_TUTORIAL_ENTRY_POINT_SCHEDULER)
                putExtra(INTENT_TUTORIAL_ENTRY_POINT_KEY, INTENT_TUTORIAL_ENTRY_POINT_SCHEDULER)
                flags = Intent.FLAG_ACTIVITY_NEW_TASK
                flags = Intent.FLAG_ACTIVITY_NEW_TASK
            }
            }
@@ -128,13 +128,13 @@ constructor(
                NotificationInfo(
                NotificationInfo(
                    context.getString(R.string.launch_keyboard_tutorial_notification_title),
                    context.getString(R.string.launch_keyboard_tutorial_notification_title),
                    context.getString(R.string.launch_keyboard_tutorial_notification_content),
                    context.getString(R.string.launch_keyboard_tutorial_notification_content),
                    INTENT_TUTORIAL_TYPE_KEYBOARD,
                    INTENT_TUTORIAL_SCOPE_KEYBOARD,
                )
                )
            TutorialType.TOUCHPAD ->
            TutorialType.TOUCHPAD ->
                NotificationInfo(
                NotificationInfo(
                    context.getString(R.string.launch_touchpad_tutorial_notification_title),
                    context.getString(R.string.launch_touchpad_tutorial_notification_title),
                    context.getString(R.string.launch_touchpad_tutorial_notification_content),
                    context.getString(R.string.launch_touchpad_tutorial_notification_content),
                    INTENT_TUTORIAL_TYPE_TOUCHPAD,
                    INTENT_TUTORIAL_SCOPE_TOUCHPAD,
                )
                )
            TutorialType.BOTH ->
            TutorialType.BOTH ->
                NotificationInfo(
                NotificationInfo(
@@ -144,7 +144,7 @@ constructor(
                    context.getString(
                    context.getString(
                        R.string.launch_keyboard_touchpad_tutorial_notification_content
                        R.string.launch_keyboard_touchpad_tutorial_notification_content
                    ),
                    ),
                    INTENT_TUTORIAL_TYPE_BOTH,
                    INTENT_TUTORIAL_SCOPE_ALL,
                )
                )
            TutorialType.NONE -> null
            TutorialType.NONE -> null
        }
        }
+8 −5
Original line number Original line Diff line number Diff line
@@ -56,10 +56,13 @@ constructor(
) : ComponentActivity() {
) : ComponentActivity() {


    companion object {
    companion object {
        const val INTENT_TUTORIAL_TYPE_KEY = "tutorial_type"
        const val INTENT_TUTORIAL_SCOPE_KEY = "tutorial_scope"
        const val INTENT_TUTORIAL_TYPE_TOUCHPAD = "touchpad"
        const val INTENT_TUTORIAL_SCOPE_TOUCHPAD = "touchpad"
        const val INTENT_TUTORIAL_TYPE_KEYBOARD = "keyboard"
        const val INTENT_TUTORIAL_SCOPE_TOUCHPAD_BACK = "touchpad_back"
        const val INTENT_TUTORIAL_TYPE_BOTH = "both"
        const val INTENT_TUTORIAL_SCOPE_TOUCHPAD_HOME = "touchpad_home"
        const val INTENT_TUTORIAL_SCOPE_KEYBOARD = "keyboard"
        const val INTENT_TUTORIAL_SCOPE_ALL = "all"

        const val INTENT_TUTORIAL_ENTRY_POINT_KEY = "entry_point"
        const val INTENT_TUTORIAL_ENTRY_POINT_KEY = "entry_point"
        const val INTENT_TUTORIAL_ENTRY_POINT_SCHEDULER = "scheduler"
        const val INTENT_TUTORIAL_ENTRY_POINT_SCHEDULER = "scheduler"
        const val INTENT_TUTORIAL_ENTRY_POINT_CONTEXTUAL_EDU = "contextual_edu"
        const val INTENT_TUTORIAL_ENTRY_POINT_CONTEXTUAL_EDU = "contextual_edu"
@@ -94,7 +97,7 @@ constructor(
        if (savedInstanceState == null) {
        if (savedInstanceState == null) {
            metricsLogger.logPeripheralTutorialLaunched(
            metricsLogger.logPeripheralTutorialLaunched(
                intent.getStringExtra(INTENT_TUTORIAL_ENTRY_POINT_KEY),
                intent.getStringExtra(INTENT_TUTORIAL_ENTRY_POINT_KEY),
                intent.getStringExtra(INTENT_TUTORIAL_TYPE_KEY),
                intent.getStringExtra(INTENT_TUTORIAL_SCOPE_KEY),
            )
            )
            logger.logOpenTutorial(TutorialContext.KEYBOARD_TOUCHPAD_TUTORIAL)
            logger.logOpenTutorial(TutorialContext.KEYBOARD_TOUCHPAD_TUTORIAL)
        }
        }
Loading