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

Commit 114796ce authored by Michal Brzezinski's avatar Michal Brzezinski
Browse files

Adding proper OOBE flow for keyboard and touchpad tutorial

When launching KeyboardTouchpadTutorialActivity user progresses through tutorial automatically after clicking "done" button.
Tutorial will not show screens where related peripheral is not connected.

Also moving files from "oobe" package into "tutorial" package.

Fixes: 358096802
Test: KeyboardTouchpadTutorialViewModelTest
Flag: com.android.systemui.shared.new_touchpad_gestures_tutorial
Change-Id: I475e1132ee69282aff7b64f83a889a061e5776be
parent fda1f432
Loading
Loading
Loading
Loading
+0 −0

File moved.

+0 −0

File moved.

+43 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2024 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.android.systemui.inputdevice.tutorial.domain.interactor

import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.keyboard.data.repository.KeyboardRepository
import com.android.systemui.touchpad.data.repository.TouchpadRepository
import javax.inject.Inject
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.combine

@SysUISingleton
class KeyboardTouchpadConnectionInteractor
@Inject
constructor(
    keyboardRepository: KeyboardRepository,
    touchpadRepository: TouchpadRepository,
) {

    val connectionState: Flow<ConnectionState> =
        combine(
            keyboardRepository.isAnyKeyboardConnected,
            touchpadRepository.isAnyTouchpadConnected
        ) { keyboardConnected, touchpadConnected ->
            ConnectionState(keyboardConnected, touchpadConnected)
        }
}

data class ConnectionState(val keyboardConnected: Boolean, val touchpadConnected: Boolean)
+0 −0

File moved.

+0 −0

File moved.

Loading