blob: 91a73ea16dc49ed1e797aa800a57428e95f1a9c1 [file] [log] [blame]
/*
* Copyright (C) 2022 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.user
import android.content.Context
import androidx.appcompat.content.res.AppCompatResources
import com.android.systemui.common.shared.model.Text
import com.android.systemui.compose.gallery.R
import com.android.systemui.keyguard.data.repository.FakeKeyguardRepository
import com.android.systemui.keyguard.domain.interactor.KeyguardInteractor
import com.android.systemui.power.data.repository.FakePowerRepository
import com.android.systemui.power.domain.interactor.PowerInteractor
import com.android.systemui.user.data.repository.FakeUserRepository
import com.android.systemui.user.domain.interactor.UserInteractor
import com.android.systemui.user.shared.model.UserActionModel
import com.android.systemui.user.shared.model.UserModel
import com.android.systemui.user.ui.viewmodel.UserSwitcherViewModel
import com.android.systemui.util.mockito.mock
object Fakes {
private val USER_TINT_COLORS =
arrayOf(
0x000000,
0x0000ff,
0x00ff00,
0x00ffff,
0xff0000,
0xff00ff,
0xffff00,
0xffffff,
)
fun fakeUserSwitcherViewModel(
context: Context,
userCount: Int,
): UserSwitcherViewModel {
return UserSwitcherViewModel.Factory(
userInteractor =
UserInteractor(
repository =
FakeUserRepository().apply {
setUsers(
(0 until userCount).map { index ->
UserModel(
id = index,
name =
Text.Loaded(
when (index % 6) {
0 -> "Ross Geller"
1 -> "Phoebe Buffay"
2 -> "Monica Geller"
3 -> "Rachel Greene"
4 -> "Chandler Bing"
else -> "Joey Tribbiani"
}
),
image =
checkNotNull(
AppCompatResources.getDrawable(
context,
when (index % 6) {
0 -> R.drawable.kitten1
1 -> R.drawable.kitten2
2 -> R.drawable.kitten3
3 -> R.drawable.kitten4
4 -> R.drawable.kitten5
else -> R.drawable.kitten6
},
)
),
isSelected = index == 0,
isSelectable = true,
)
}
)
setActions(
UserActionModel.values().mapNotNull {
if (it == UserActionModel.NAVIGATE_TO_USER_MANAGEMENT) {
null
} else {
it
}
}
)
},
controller = mock(),
activityStarter = mock(),
keyguardInteractor =
KeyguardInteractor(
repository =
FakeKeyguardRepository().apply { setKeyguardShowing(false) },
),
),
powerInteractor =
PowerInteractor(
repository = FakePowerRepository(),
)
)
.create(UserSwitcherViewModel::class.java)
}
}