diff options
253 files changed, 1131 insertions, 1227 deletions
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/panels/domain/interactor/EditTilesListInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/panels/domain/interactor/EditTilesListInteractorTest.kt index 053a59aa533a..5f8adf0a3292 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/panels/domain/interactor/EditTilesListInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/panels/domain/interactor/EditTilesListInteractorTest.kt @@ -32,12 +32,12 @@ import com.android.systemui.qs.pipeline.data.repository.FakeInstalledTilesCompon import com.android.systemui.qs.pipeline.data.repository.fakeInstalledTilesRepository import com.android.systemui.qs.pipeline.shared.TileSpec import com.android.systemui.qs.shared.model.TileCategory +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.fakeQSTileConfigProvider +import com.android.systemui.qs.tiles.base.shared.model.qSTileConfigProvider import com.android.systemui.qs.tiles.impl.battery.qsBatterySaverTileConfig import com.android.systemui.qs.tiles.impl.flashlight.qsFlashlightTileConfig import com.android.systemui.qs.tiles.impl.internet.qsInternetTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.fakeQSTileConfigProvider -import com.android.systemui.qs.tiles.viewmodel.qSTileConfigProvider import com.android.systemui.settings.userTracker import com.android.systemui.testKosmos import com.google.common.truth.Truth.assertThat @@ -58,12 +58,7 @@ class EditTilesListInteractorTest : SysuiTestCase() { private val batteryTileConfig = kosmos.qsBatterySaverTileConfig private val serviceInfo = - FakeInstalledTilesComponentRepository.ServiceInfo( - component, - tileName, - icon, - appName, - ) + FakeInstalledTilesComponentRepository.ServiceInfo(component, tileName, icon, appName) private val underTest = with(kosmos) { @@ -79,7 +74,7 @@ class EditTilesListInteractorTest : SysuiTestCase() { with(kosmos) { fakeInstalledTilesRepository.setInstalledServicesForUser( userTracker.userId, - listOf(serviceInfo) + listOf(serviceInfo), ) with(fakeQSTileConfigProvider) { diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/panels/domain/interactor/NewTilesAvailabilityInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/panels/domain/interactor/NewTilesAvailabilityInteractorTest.kt index 9d2528dbc64f..530ca9590532 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/panels/domain/interactor/NewTilesAvailabilityInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/panels/domain/interactor/NewTilesAvailabilityInteractorTest.kt @@ -22,7 +22,7 @@ import com.android.systemui.SysuiTestCase import com.android.systemui.coroutines.collectLastValue import com.android.systemui.kosmos.testScope import com.android.systemui.qs.pipeline.shared.TileSpec -import com.android.systemui.qs.tiles.base.interactor.QSTileAvailabilityInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileAvailabilityInteractor import com.android.systemui.statusbar.connectivity.ConnectivityModule.Companion.AIRPLANE_MODE_TILE_SPEC import com.android.systemui.statusbar.connectivity.ConnectivityModule.Companion.HOTSPOT_TILE_SPEC import com.android.systemui.statusbar.policy.PolicyModule.Companion.WORK_MODE_TILE_SPEC @@ -38,61 +38,72 @@ import org.junit.runner.RunWith @RunWith(AndroidJUnit4::class) @SmallTest class NewTilesAvailabilityInteractorTest : SysuiTestCase() { - private val kosmos = testKosmos().apply { - tileAvailabilityInteractorsMap = buildMap { - put(AIRPLANE_MODE_TILE_SPEC, QSTileAvailabilityInteractor.AlwaysAvailableInteractor) - put(WORK_MODE_TILE_SPEC, FakeTileAvailabilityInteractor( - mapOf( - fakeUserRepository.getSelectedUserInfo().id to flowOf(true), - ).withDefault { flowOf(false) } - )) - put(HOTSPOT_TILE_SPEC, FakeTileAvailabilityInteractor( - emptyMap<Int, Flow<Boolean>>().withDefault { flowOf(false) } - )) + private val kosmos = + testKosmos().apply { + tileAvailabilityInteractorsMap = buildMap { + put(AIRPLANE_MODE_TILE_SPEC, QSTileAvailabilityInteractor.AlwaysAvailableInteractor) + put( + WORK_MODE_TILE_SPEC, + FakeTileAvailabilityInteractor( + mapOf(fakeUserRepository.getSelectedUserInfo().id to flowOf(true)) + .withDefault { flowOf(false) } + ), + ) + put( + HOTSPOT_TILE_SPEC, + FakeTileAvailabilityInteractor( + emptyMap<Int, Flow<Boolean>>().withDefault { flowOf(false) } + ), + ) + } } - } private val underTest by lazy { kosmos.newTilesAvailabilityInteractor } @Test - fun defaultUser_getAvailabilityFlow() = with(kosmos) { - testScope.runTest { - val availability by collectLastValue(underTest.newTilesAvailable) + fun defaultUser_getAvailabilityFlow() = + with(kosmos) { + testScope.runTest { + val availability by collectLastValue(underTest.newTilesAvailable) - assertThat(availability).isEqualTo( - mapOf( + assertThat(availability) + .isEqualTo( + mapOf( TileSpec.create(AIRPLANE_MODE_TILE_SPEC) to true, TileSpec.create(WORK_MODE_TILE_SPEC) to true, TileSpec.create(HOTSPOT_TILE_SPEC) to false, + ) ) - ) + } } - } @Test - fun getAvailabilityFlow_userChange() = with(kosmos) { - testScope.runTest { - val availability by collectLastValue(underTest.newTilesAvailable) - fakeUserRepository.asMainUser() + fun getAvailabilityFlow_userChange() = + with(kosmos) { + testScope.runTest { + val availability by collectLastValue(underTest.newTilesAvailable) + fakeUserRepository.asMainUser() - assertThat(availability).isEqualTo( - mapOf( + assertThat(availability) + .isEqualTo( + mapOf( TileSpec.create(AIRPLANE_MODE_TILE_SPEC) to true, TileSpec.create(WORK_MODE_TILE_SPEC) to false, TileSpec.create(HOTSPOT_TILE_SPEC) to false, + ) ) - ) + } } - } @Test - fun noAvailabilityInteractor_emptyMap() = with(kosmos) { - testScope.runTest { - tileAvailabilityInteractorsMap = emptyMap() + fun noAvailabilityInteractor_emptyMap() = + with(kosmos) { + testScope.runTest { + tileAvailabilityInteractorsMap = emptyMap() - val availability by collectLastValue(underTest.newTilesAvailable) + val availability by collectLastValue(underTest.newTilesAvailable) - assertThat(availability).isEmpty() + assertThat(availability).isEmpty() + } } - } } diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/panels/domain/interactor/TilesAvailabilityInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/panels/domain/interactor/TilesAvailabilityInteractorTest.kt index 67fb1003a6ce..7743c2c05574 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/panels/domain/interactor/TilesAvailabilityInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/panels/domain/interactor/TilesAvailabilityInteractorTest.kt @@ -28,7 +28,7 @@ import com.android.systemui.qs.FakeQSFactory import com.android.systemui.qs.FakeQSTile import com.android.systemui.qs.pipeline.shared.TileSpec import com.android.systemui.qs.qsTileFactory -import com.android.systemui.qs.tiles.base.interactor.QSTileAvailabilityInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileAvailabilityInteractor import com.android.systemui.statusbar.connectivity.ConnectivityModule.Companion.AIRPLANE_MODE_TILE_SPEC import com.android.systemui.statusbar.connectivity.ConnectivityModule.Companion.HOTSPOT_TILE_SPEC import com.android.systemui.statusbar.connectivity.ConnectivityModule.Companion.INTERNET_TILE_SPEC diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/panels/ui/viewmodel/EditModeViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/panels/ui/viewmodel/EditModeViewModelTest.kt index 50229eb4348d..71ab0a2e4265 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/panels/ui/viewmodel/EditModeViewModelTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/panels/ui/viewmodel/EditModeViewModelTest.kt @@ -49,6 +49,9 @@ import com.android.systemui.qs.pipeline.shared.TileSpec import com.android.systemui.qs.pipeline.shared.metricSpec import com.android.systemui.qs.qsTileFactory import com.android.systemui.qs.shared.model.TileCategory +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.fakeQSTileConfigProvider +import com.android.systemui.qs.tiles.base.shared.model.qSTileConfigProvider import com.android.systemui.qs.tiles.impl.airplane.qsAirplaneModeTileConfig import com.android.systemui.qs.tiles.impl.alarm.qsAlarmTileConfig import com.android.systemui.qs.tiles.impl.battery.qsBatterySaverTileConfig @@ -56,9 +59,6 @@ import com.android.systemui.qs.tiles.impl.flashlight.qsFlashlightTileConfig import com.android.systemui.qs.tiles.impl.internet.qsInternetTileConfig import com.android.systemui.qs.tiles.impl.sensorprivacy.qsCameraSensorPrivacyToggleTileConfig import com.android.systemui.qs.tiles.impl.sensorprivacy.qsMicrophoneSensorPrivacyToggleTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.fakeQSTileConfigProvider -import com.android.systemui.qs.tiles.viewmodel.qSTileConfigProvider import com.android.systemui.settings.userTracker import com.android.systemui.testKosmos import com.google.common.truth.Truth.assertThat diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/pipeline/domain/interactor/CurrentTilesInteractorImplTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/pipeline/domain/interactor/CurrentTilesInteractorImplTest.kt index 5bde7ad27b7a..12f1e66c71e5 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/pipeline/domain/interactor/CurrentTilesInteractorImplTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/pipeline/domain/interactor/CurrentTilesInteractorImplTest.kt @@ -49,7 +49,7 @@ import com.android.systemui.qs.pipeline.shared.TileSpec import com.android.systemui.qs.pipeline.shared.logging.QSPipelineLogger import com.android.systemui.qs.pipeline.shared.logging.qsLogger import com.android.systemui.qs.qsTileFactory -import com.android.systemui.qs.tiles.di.newQSTileFactory +import com.android.systemui.qs.tiles.base.ui.model.newQSTileFactory import com.android.systemui.qs.toProto import com.android.systemui.settings.fakeUserTracker import com.android.systemui.testKosmos diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/ModesDndTileTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/ModesDndTileTest.kt index 4f1b4e56ca30..6e5a700dde7f 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/ModesDndTileTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/ModesDndTileTest.kt @@ -38,14 +38,14 @@ import com.android.systemui.qs.QSHost import com.android.systemui.qs.QsEventLogger import com.android.systemui.qs.logging.QSLogger import com.android.systemui.qs.shared.QSSettingsPackageRepository -import com.android.systemui.qs.tiles.base.actions.FakeQSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.actions.FakeQSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfigProvider +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfigTestBuilder +import com.android.systemui.qs.tiles.base.shared.model.QSTileUIConfig import com.android.systemui.qs.tiles.impl.modes.domain.interactor.ModesDndTileDataInteractor import com.android.systemui.qs.tiles.impl.modes.domain.interactor.ModesDndTileUserActionInteractor import com.android.systemui.qs.tiles.impl.modes.domain.model.ModesDndTileModel import com.android.systemui.qs.tiles.impl.modes.ui.ModesDndTileMapper -import com.android.systemui.qs.tiles.viewmodel.QSTileConfigProvider -import com.android.systemui.qs.tiles.viewmodel.QSTileConfigTestBuilder -import com.android.systemui.qs.tiles.viewmodel.QSTileUIConfig import com.android.systemui.res.R import com.android.systemui.statusbar.policy.data.repository.zenModeRepository import com.android.systemui.statusbar.policy.domain.interactor.zenModeInteractor diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/ModesTileTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/ModesTileTest.kt index bbc0dbcad355..c218a1b4ceb9 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/ModesTileTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/ModesTileTest.kt @@ -37,14 +37,14 @@ import com.android.systemui.plugins.statusbar.StatusBarStateController import com.android.systemui.qs.QSHost import com.android.systemui.qs.QsEventLogger import com.android.systemui.qs.logging.QSLogger -import com.android.systemui.qs.tiles.base.actions.FakeQSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.actions.FakeQSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfigProvider +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfigTestBuilder +import com.android.systemui.qs.tiles.base.shared.model.QSTileUIConfig import com.android.systemui.qs.tiles.impl.modes.domain.interactor.ModesTileDataInteractor import com.android.systemui.qs.tiles.impl.modes.domain.interactor.ModesTileUserActionInteractor import com.android.systemui.qs.tiles.impl.modes.domain.model.ModesTileModel -import com.android.systemui.qs.tiles.impl.modes.ui.ModesTileMapper -import com.android.systemui.qs.tiles.viewmodel.QSTileConfigProvider -import com.android.systemui.qs.tiles.viewmodel.QSTileConfigTestBuilder -import com.android.systemui.qs.tiles.viewmodel.QSTileUIConfig +import com.android.systemui.qs.tiles.impl.modes.ui.mapper.ModesTileMapper import com.android.systemui.res.R import com.android.systemui.statusbar.policy.data.repository.zenModeRepository import com.android.systemui.statusbar.policy.domain.interactor.zenModeInteractor diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/base/actions/QSTileIntentUserInputHandlerTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/base/domain/actions/QSTileIntentUserInputHandlerTest.kt index 02a81419ea78..94449637ebe7 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/base/actions/QSTileIntentUserInputHandlerTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/base/domain/actions/QSTileIntentUserInputHandlerTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.base.actions +package com.android.systemui.qs.tiles.base.domain.actions import android.app.PendingIntent import android.content.ComponentName @@ -119,7 +119,7 @@ class QSTileIntentUserInputHandlerTest : SysuiTestCase() { .postStartActivityDismissingKeyguard( argThat(IntentMatcher(expectedIntent)), eq(0), - any() + any(), ) } @@ -149,7 +149,7 @@ class QSTileIntentUserInputHandlerTest : SysuiTestCase() { packageManager.queryIntentActivitiesAsUser( any(Intent::class.java), any(ResolveInfoFlags::class.java), - eq(user.identifier) + eq(user.identifier), ) ) .thenReturn(infos.map { ResolveInfo().apply { activityInfo = it } }) @@ -157,6 +157,7 @@ class QSTileIntentUserInputHandlerTest : SysuiTestCase() { private class IntentMatcher(intent: Intent) : ArgumentMatcher<Intent> { private val expectedIntent = intent + override fun matches(argument: Intent?): Boolean { return argument?.action.equals(expectedIntent.action) && argument?.`package`.equals(expectedIntent.`package`) && diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/base/interactor/DisabledByPolicyInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/base/domain/interactor/DisabledByPolicyInteractorTest.kt index c0e5a9bc9990..5c2edc228d7e 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/base/interactor/DisabledByPolicyInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/base/domain/interactor/DisabledByPolicyInteractorTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.base.interactor +package com.android.systemui.qs.tiles.base.domain.interactor import android.content.ComponentName import android.content.Context diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/base/logging/QSTileLoggerTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/base/shared/logging/QSTileLoggerTest.kt index 6a33b5f58820..ec88f710c6ac 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/base/logging/QSTileLoggerTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/base/shared/logging/QSTileLoggerTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.base.logging +package com.android.systemui.qs.tiles.base.shared.logging import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest @@ -26,8 +26,8 @@ import com.android.systemui.log.LogBufferFactory import com.android.systemui.log.LogcatEchoTrackerAlways import com.android.systemui.plugins.statusbar.StatusBarStateController import com.android.systemui.qs.pipeline.shared.TileSpec -import com.android.systemui.qs.tiles.viewmodel.QSTileState -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction import com.android.systemui.util.mockito.any import com.android.systemui.util.mockito.whenever import com.google.common.truth.Truth.assertThat diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/viewmodel/QSTileConfigProviderTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/base/shared/model/QSTileConfigProviderTest.kt index 40971a87480d..fd83895ed790 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/viewmodel/QSTileConfigProviderTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/base/shared/model/QSTileConfigProviderTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.viewmodel +package com.android.systemui.qs.tiles.base.shared.model import android.platform.test.annotations.EnabledOnRavenwood import androidx.test.ext.junit.runners.AndroidJUnit4 @@ -34,7 +34,7 @@ class QSTileConfigProviderTest : SysuiTestCase() { private val underTest = createQSTileConfigProviderImpl( - mapOf(VALID_SPEC.spec to QSTileConfigTestBuilder.build { tileSpec = VALID_SPEC }), + mapOf(VALID_SPEC.spec to QSTileConfigTestBuilder.build { tileSpec = VALID_SPEC }) ) @Test @@ -66,11 +66,7 @@ class QSTileConfigProviderTest : SysuiTestCase() { private fun createQSTileConfigProviderImpl( configs: Map<String, QSTileConfig> - ): QSTileConfigProviderImpl = - QSTileConfigProviderImpl( - configs, - mock<QsEventLogger>(), - ) + ): QSTileConfigProviderImpl = QSTileConfigProviderImpl(configs, mock<QsEventLogger>()) private companion object { diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/base/analytics/QSTileAnalyticsTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/base/ui/analytics/QSTileAnalyticsTest.kt index fd09e3ca4bb8..ee0f5cd56acf 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/base/analytics/QSTileAnalyticsTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/base/ui/analytics/QSTileAnalyticsTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.base.analytics +package com.android.systemui.qs.tiles.base.ui.analytics import android.platform.test.annotations.EnabledOnRavenwood import androidx.test.ext.junit.runners.AndroidJUnit4 @@ -23,8 +23,8 @@ import com.android.internal.logging.InstanceId import com.android.internal.logging.UiEventLogger import com.android.systemui.SysuiTestCase import com.android.systemui.qs.QSEvent -import com.android.systemui.qs.tiles.viewmodel.QSTileConfigTestBuilder -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfigTestBuilder +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction import org.junit.Before import org.junit.Test import org.junit.runner.RunWith @@ -57,7 +57,7 @@ class QSTileAnalyticsTest : SysuiTestCase() { eq(QSEvent.QS_ACTION_CLICK), eq(0), eq("test_spec"), - eq(InstanceId.fakeInstanceId(0)) + eq(InstanceId.fakeInstanceId(0)), ) } @@ -70,7 +70,7 @@ class QSTileAnalyticsTest : SysuiTestCase() { eq(QSEvent.QS_ACTION_LONG_PRESS), eq(0), eq("test_spec"), - eq(InstanceId.fakeInstanceId(0)) + eq(InstanceId.fakeInstanceId(0)), ) } diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/base/viewmodel/QSTileViewModelImplTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/base/ui/viewmodel/QSTileViewModelImplTest.kt index da3cebd24e6b..4ebd22abe60d 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/base/viewmodel/QSTileViewModelImplTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/base/ui/viewmodel/QSTileViewModelImplTest.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.base.viewmodel +package com.android.systemui.qs.tiles.base.ui.viewmodel import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest @@ -23,16 +23,16 @@ import com.android.systemui.classifier.FalsingManagerFake import com.android.systemui.common.shared.model.ContentDescription import com.android.systemui.common.shared.model.Icon import com.android.systemui.qs.FakeTileDetailsViewModel -import com.android.systemui.qs.tiles.base.analytics.QSTileAnalytics -import com.android.systemui.qs.tiles.base.interactor.FakeDisabledByPolicyInteractor -import com.android.systemui.qs.tiles.base.interactor.FakeQSTileDataInteractor -import com.android.systemui.qs.tiles.base.interactor.FakeQSTileUserActionInteractor -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper -import com.android.systemui.qs.tiles.base.logging.QSTileLogger -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileConfigTestBuilder -import com.android.systemui.qs.tiles.viewmodel.QSTilePolicy -import com.android.systemui.qs.tiles.viewmodel.QSTileState +import com.android.systemui.qs.tiles.base.domain.interactor.FakeDisabledByPolicyInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.FakeQSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.FakeQSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.shared.logging.QSTileLogger +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfigTestBuilder +import com.android.systemui.qs.tiles.base.shared.model.QSTilePolicy +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.analytics.QSTileAnalytics +import com.android.systemui.qs.tiles.base.ui.model.QSTileDataToStateMapper import com.android.systemui.user.data.repository.FakeUserRepository import com.android.systemui.util.time.FakeSystemClock import com.google.common.truth.Truth.assertThat diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/base/ui/viewmodel/QSTileViewModelTest.kt index 4e9b63517d6d..d2f8b07b31b8 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModelTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/base/ui/viewmodel/QSTileViewModelTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.viewmodel +package com.android.systemui.qs.tiles.base.ui.viewmodel import android.os.UserHandle import android.platform.test.annotations.EnabledOnRavenwood @@ -26,14 +26,17 @@ import com.android.systemui.common.shared.model.ContentDescription import com.android.systemui.common.shared.model.Icon import com.android.systemui.coroutines.collectValues import com.android.systemui.qs.FakeTileDetailsViewModel -import com.android.systemui.qs.tiles.base.analytics.QSTileAnalytics -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger -import com.android.systemui.qs.tiles.base.interactor.FakeDisabledByPolicyInteractor -import com.android.systemui.qs.tiles.base.interactor.FakeQSTileDataInteractor -import com.android.systemui.qs.tiles.base.interactor.FakeQSTileUserActionInteractor -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper -import com.android.systemui.qs.tiles.base.logging.QSTileLogger -import com.android.systemui.qs.tiles.base.viewmodel.QSTileViewModelImpl +import com.android.systemui.qs.tiles.base.domain.interactor.FakeDisabledByPolicyInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.FakeQSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.FakeQSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger +import com.android.systemui.qs.tiles.base.shared.logging.QSTileLogger +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfigTestBuilder +import com.android.systemui.qs.tiles.base.shared.model.QSTilePolicy +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.analytics.QSTileAnalytics +import com.android.systemui.qs.tiles.base.ui.model.QSTileDataToStateMapper import com.android.systemui.user.data.repository.FakeUserRepository import com.android.systemui.util.mockito.eq import com.android.systemui.util.time.FakeSystemClock diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModelUserInputTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/base/ui/viewmodel/QSTileViewModelUserInputTest.kt index 166e9500cff9..0f939a95261b 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModelUserInputTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/base/ui/viewmodel/QSTileViewModelUserInputTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.viewmodel +package com.android.systemui.qs.tiles.base.ui.viewmodel import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.MediumTest @@ -23,16 +23,21 @@ import com.android.systemui.classifier.FalsingManagerFake import com.android.systemui.common.shared.model.ContentDescription import com.android.systemui.common.shared.model.Icon import com.android.systemui.qs.FakeTileDetailsViewModel -import com.android.systemui.qs.tiles.base.analytics.QSTileAnalytics -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger -import com.android.systemui.qs.tiles.base.interactor.FakeDisabledByPolicyInteractor -import com.android.systemui.qs.tiles.base.interactor.FakeDisabledByPolicyInteractor.Companion.DISABLED_RESTRICTION -import com.android.systemui.qs.tiles.base.interactor.FakeDisabledByPolicyInteractor.Companion.ENABLED_RESTRICTION -import com.android.systemui.qs.tiles.base.interactor.FakeQSTileDataInteractor -import com.android.systemui.qs.tiles.base.interactor.FakeQSTileUserActionInteractor -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper -import com.android.systemui.qs.tiles.base.logging.QSTileLogger -import com.android.systemui.qs.tiles.base.viewmodel.QSTileViewModelImpl +import com.android.systemui.qs.tiles.base.domain.interactor.FakeDisabledByPolicyInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.FakeDisabledByPolicyInteractor.Companion.DISABLED_RESTRICTION +import com.android.systemui.qs.tiles.base.domain.interactor.FakeDisabledByPolicyInteractor.Companion.DISABLED_RESTRICTION_2 +import com.android.systemui.qs.tiles.base.domain.interactor.FakeDisabledByPolicyInteractor.Companion.ENABLED_RESTRICTION +import com.android.systemui.qs.tiles.base.domain.interactor.FakeQSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.FakeQSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger +import com.android.systemui.qs.tiles.base.shared.logging.QSTileLogger +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfigTestBuilder +import com.android.systemui.qs.tiles.base.shared.model.QSTilePolicy +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction +import com.android.systemui.qs.tiles.base.ui.analytics.QSTileAnalytics +import com.android.systemui.qs.tiles.base.ui.model.QSTileDataToStateMapper import com.android.systemui.user.data.repository.FakeUserRepository import com.android.systemui.util.mockito.any import com.android.systemui.util.mockito.eq @@ -171,10 +176,7 @@ class QSTileViewModelUserInputTest : SysuiTestCase() { QSTileConfigTestBuilder.build { policy = QSTilePolicy.Restricted( - listOf( - DISABLED_RESTRICTION, - FakeDisabledByPolicyInteractor.DISABLED_RESTRICTION_2, - ) + listOf(DISABLED_RESTRICTION, DISABLED_RESTRICTION_2) ) } @@ -199,7 +201,7 @@ class QSTileViewModelUserInputTest : SysuiTestCase() { .logUserActionRejectedByPolicy( eq(userAction), eq(tileConfig.tileSpec), - eq(FakeDisabledByPolicyInteractor.DISABLED_RESTRICTION_2), + eq(DISABLED_RESTRICTION_2), ) verify(qsTileAnalytics, never()).trackUserAction(any(), any()) } diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/airplane/domain/interactor/AirplaneModeTileDataInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/airplane/domain/interactor/AirplaneModeTileDataInteractorTest.kt index fda75ca76cec..78756d6769d1 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/airplane/domain/interactor/AirplaneModeTileDataInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/airplane/domain/interactor/AirplaneModeTileDataInteractorTest.kt @@ -22,7 +22,7 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.coroutines.collectValues -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.airplane.domain.model.AirplaneModeTileModel import com.android.systemui.statusbar.pipeline.airplane.data.repository.FakeAirplaneModeRepository import com.google.common.truth.Truth.assertThat diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/airplane/domain/interactor/AirplaneModeTileUserActionInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/airplane/domain/interactor/AirplaneModeTileUserActionInteractorTest.kt index d27e81039602..ce6bcdfe6b36 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/airplane/domain/interactor/AirplaneModeTileUserActionInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/airplane/domain/interactor/AirplaneModeTileUserActionInteractorTest.kt @@ -22,10 +22,10 @@ import android.telephony.TelephonyManager import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase -import com.android.systemui.qs.tiles.base.actions.FakeQSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandlerSubject.Companion.assertThat -import com.android.systemui.qs.tiles.base.interactor.QSTileInputTestKtx.click -import com.android.systemui.qs.tiles.base.interactor.QSTileInputTestKtx.longClick +import com.android.systemui.qs.tiles.base.domain.actions.FakeQSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandlerSubject.Companion.assertThat +import com.android.systemui.qs.tiles.base.domain.model.QSTileInputTestKtx.click +import com.android.systemui.qs.tiles.base.domain.model.QSTileInputTestKtx.longClick import com.android.systemui.qs.tiles.impl.airplane.domain.model.AirplaneModeTileModel import com.android.systemui.statusbar.pipeline.airplane.data.repository.FakeAirplaneModeRepository import com.android.systemui.statusbar.pipeline.airplane.domain.interactor.AirplaneModeInteractor diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/AirplaneModeMapperTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/airplane/ui/mapper/AirplaneModeTileMapperTest.kt index 311f1f792bba..ccb238626786 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/AirplaneModeMapperTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/airplane/ui/mapper/AirplaneModeTileMapperTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2024 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl +package com.android.systemui.qs.tiles.impl.airplane.ui.mapper import android.graphics.drawable.TestStubDrawable import android.service.quicksettings.Tile @@ -23,11 +23,10 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.impl.airplane.domain.AirplaneModeMapper +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileStateSubject import com.android.systemui.qs.tiles.impl.airplane.domain.model.AirplaneModeTileModel import com.android.systemui.qs.tiles.impl.airplane.qsAirplaneModeTileConfig -import com.android.systemui.qs.tiles.impl.custom.QSTileStateSubject -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.testKosmos import org.junit.Before @@ -36,16 +35,16 @@ import org.junit.runner.RunWith @SmallTest @RunWith(AndroidJUnit4::class) -class AirplaneModeMapperTest : SysuiTestCase() { +class AirplaneModeTileMapperTest : SysuiTestCase() { private val kosmos = testKosmos() private val airplaneModeConfig = kosmos.qsAirplaneModeTileConfig - private lateinit var mapper: AirplaneModeMapper + private lateinit var mapper: AirplaneModeTileMapper @Before fun setup() { mapper = - AirplaneModeMapper( + AirplaneModeTileMapper( context.orCreateTestableResources .apply { addOverride(R.drawable.qs_airplane_icon_off, TestStubDrawable()) diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/alarm/domain/interactor/AlarmTileDataInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/alarm/domain/interactor/AlarmTileDataInteractorTest.kt index afbc3e810743..5fb0ea666813 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/alarm/domain/interactor/AlarmTileDataInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/alarm/domain/interactor/AlarmTileDataInteractorTest.kt @@ -25,7 +25,7 @@ import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.coroutines.collectLastValue import com.android.systemui.coroutines.collectValues -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.alarm.domain.model.AlarmTileModel import com.android.systemui.util.mockito.mock import com.android.systemui.util.mockito.whenever diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/alarm/domain/interactor/AlarmTileUserActionInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/alarm/domain/interactor/AlarmTileUserActionInteractorTest.kt index be2da174250b..e7dd145cecc5 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/alarm/domain/interactor/AlarmTileUserActionInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/alarm/domain/interactor/AlarmTileUserActionInteractorTest.kt @@ -22,9 +22,9 @@ import android.provider.AlarmClock import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase -import com.android.systemui.qs.tiles.base.actions.FakeQSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandlerSubject -import com.android.systemui.qs.tiles.base.interactor.QSTileInputTestKtx.click +import com.android.systemui.qs.tiles.base.domain.actions.FakeQSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandlerSubject +import com.android.systemui.qs.tiles.base.domain.model.QSTileInputTestKtx.click import com.android.systemui.qs.tiles.impl.alarm.domain.model.AlarmTileModel import com.android.systemui.util.mockito.mock import com.google.common.truth.Truth.assertThat diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/alarm/domain/AlarmTileMapperTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/alarm/ui/mapper/AlarmTileMapperTest.kt index bb58ecaa2566..9b1d0a5a0b58 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/alarm/domain/AlarmTileMapperTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/alarm/ui/mapper/AlarmTileMapperTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.alarm.domain +package com.android.systemui.qs.tiles.impl.alarm.ui.mapper import android.app.AlarmManager import android.graphics.drawable.TestStubDrawable @@ -23,10 +23,10 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.common.shared.model.Icon +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileStateSubject import com.android.systemui.qs.tiles.impl.alarm.domain.model.AlarmTileModel import com.android.systemui.qs.tiles.impl.alarm.qsAlarmTileConfig -import com.android.systemui.qs.tiles.impl.custom.QSTileStateSubject -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.testKosmos import com.android.systemui.util.time.FakeSystemClock diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/battery/doman/interactor/BatterySaverTileDataInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/battery/doman/interactor/BatterySaverTileDataInteractorTest.kt index 1ef1a72b7483..8d3f8d4b4166 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/battery/doman/interactor/BatterySaverTileDataInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/battery/doman/interactor/BatterySaverTileDataInteractorTest.kt @@ -24,7 +24,7 @@ import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.coroutines.collectLastValue import com.android.systemui.kosmos.testScope -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.battery.domain.interactor.BatterySaverTileDataInteractor import com.android.systemui.testKosmos import com.android.systemui.utils.leaks.FakeBatteryController diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/battery/doman/interactor/BatterySaverTileUserActionInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/battery/doman/interactor/BatterySaverTileUserActionInteractorTest.kt index 62c51e6252ce..68a4d4131086 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/battery/doman/interactor/BatterySaverTileUserActionInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/battery/doman/interactor/BatterySaverTileUserActionInteractorTest.kt @@ -22,9 +22,9 @@ import android.testing.LeakCheck import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase -import com.android.systemui.qs.tiles.base.actions.FakeQSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandlerSubject -import com.android.systemui.qs.tiles.base.interactor.QSTileInputTestKtx +import com.android.systemui.qs.tiles.base.domain.actions.FakeQSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandlerSubject +import com.android.systemui.qs.tiles.base.domain.model.QSTileInputTestKtx import com.android.systemui.qs.tiles.impl.battery.domain.interactor.BatterySaverTileUserActionInteractor import com.android.systemui.qs.tiles.impl.battery.domain.model.BatterySaverTileModel import com.android.systemui.utils.leaks.FakeBatteryController diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/battery/ui/BatterySaverTileMapperTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/battery/ui/mapper/BatterySaverTileMapperTest.kt index cb50ec9a70f4..8128c0c75043 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/battery/ui/BatterySaverTileMapperTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/battery/ui/mapper/BatterySaverTileMapperTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2024 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.battery.ui +package com.android.systemui.qs.tiles.impl.battery.ui.mapper import android.graphics.drawable.TestStubDrawable import android.widget.Switch @@ -22,10 +22,10 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.common.shared.model.Icon +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileStateSubject import com.android.systemui.qs.tiles.impl.battery.domain.model.BatterySaverTileModel import com.android.systemui.qs.tiles.impl.battery.qsBatterySaverTileConfig -import com.android.systemui.qs.tiles.impl.custom.QSTileStateSubject -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.testKosmos import org.junit.Before diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/colorcorrection/domain/interactor/ColorCorrectionTileDataInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/colorcorrection/domain/interactor/ColorCorrectionTileDataInteractorTest.kt index 4c156b77132b..4819539f4a80 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/colorcorrection/domain/interactor/ColorCorrectionTileDataInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/colorcorrection/domain/interactor/ColorCorrectionTileDataInteractorTest.kt @@ -23,7 +23,7 @@ import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.accessibility.data.repository.FakeColorCorrectionRepository import com.android.systemui.coroutines.collectValues -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.colorcorrection.domain.model.ColorCorrectionTileModel import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.flow.flowOf diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/colorcorrection/domain/interactor/ColorCorrectionTileUserActionInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/colorcorrection/domain/interactor/ColorCorrectionTileUserActionInteractorTest.kt index 0cf3734dd92b..90533f518259 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/colorcorrection/domain/interactor/ColorCorrectionTileUserActionInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/colorcorrection/domain/interactor/ColorCorrectionTileUserActionInteractorTest.kt @@ -24,9 +24,9 @@ import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.accessibility.data.repository.FakeColorCorrectionRepository import com.android.systemui.qs.shared.QSSettingsPackageRepository -import com.android.systemui.qs.tiles.base.actions.FakeQSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandlerSubject -import com.android.systemui.qs.tiles.base.interactor.QSTileInputTestKtx +import com.android.systemui.qs.tiles.base.domain.actions.FakeQSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandlerSubject +import com.android.systemui.qs.tiles.base.domain.model.QSTileInputTestKtx import com.android.systemui.qs.tiles.impl.colorcorrection.domain.model.ColorCorrectionTileModel import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.test.runTest diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/colorcorrection/domain/ColorCorrectionTileMapperTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/colorcorrection/ui/mapper/ColorCorrectionTileMapperTest.kt index bcd443cc78e1..124e013ba784 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/colorcorrection/domain/ColorCorrectionTileMapperTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/colorcorrection/ui/mapper/ColorCorrectionTileMapperTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.colorcorrection.domain +package com.android.systemui.qs.tiles.impl.colorcorrection.ui.mapper import android.graphics.drawable.TestStubDrawable import android.widget.Switch @@ -22,10 +22,10 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.common.shared.model.Icon +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileStateSubject import com.android.systemui.qs.tiles.impl.colorcorrection.domain.model.ColorCorrectionTileModel import com.android.systemui.qs.tiles.impl.colorcorrection.qsColorCorrectionTileConfig -import com.android.systemui.qs.tiles.impl.custom.QSTileStateSubject -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.testKosmos import org.junit.Test diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/custom/CustomTileDefaultsRepositoryTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/custom/data/repository/CustomTileDefaultsRepositoryTest.kt index 10530a25b06e..80e865de43e7 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/custom/CustomTileDefaultsRepositoryTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/custom/data/repository/CustomTileDefaultsRepositoryTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.custom +package com.android.systemui.qs.tiles.impl.custom.data.repository import android.content.ComponentName import android.content.Context @@ -25,9 +25,7 @@ import android.os.UserHandle import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase -import com.android.systemui.qs.tiles.impl.custom.data.entity.CustomTileDefaults -import com.android.systemui.qs.tiles.impl.custom.data.repository.CustomTileDefaultsRepository -import com.android.systemui.qs.tiles.impl.custom.data.repository.CustomTileDefaultsRepositoryImpl +import com.android.systemui.qs.tiles.impl.custom.data.model.CustomTileDefaults import com.android.systemui.util.mockito.any import com.android.systemui.util.mockito.eq import com.android.systemui.util.mockito.whenever @@ -199,6 +197,7 @@ class CustomTileDefaultsRepositoryTest : SysuiTestCase() { appInfoIcon = APP_INFO_ICON_1, isSystemApp = isSystemApp, ) + private fun PackageManager.setupApp2(isSystemApp: Boolean = false) = setupApp( componentName = COMPONENT_NAME_2, diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/custom/CustomTilePackageUpdatesRepositoryTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/custom/data/repository/CustomTilePackageUpdatesRepositoryTest.kt index 835dba21ce05..93dcf7d2e80b 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/custom/CustomTilePackageUpdatesRepositoryTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/custom/data/repository/CustomTilePackageUpdatesRepositoryTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.custom +package com.android.systemui.qs.tiles.impl.custom.data.repository import android.annotation.SuppressLint import android.content.BroadcastReceiver @@ -28,8 +28,6 @@ import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.coroutines.collectValues import com.android.systemui.qs.pipeline.shared.TileSpec -import com.android.systemui.qs.tiles.impl.custom.data.repository.CustomTilePackageUpdatesRepository -import com.android.systemui.qs.tiles.impl.custom.data.repository.CustomTilePackageUpdatesRepositoryImpl import com.android.systemui.util.mockito.any import com.android.systemui.util.mockito.capture import com.android.systemui.util.mockito.eq @@ -111,7 +109,7 @@ class CustomTilePackageUpdatesRepositoryTest : SysuiTestCase() { any(), any(), nullable(), - nullable() + nullable(), ) listenerCaptor.value.onReceive(mockedContext, Intent(Intent.ACTION_MAIN)) runCurrent() @@ -144,9 +142,9 @@ class CustomTilePackageUpdatesRepositoryTest : SysuiTestCase() { type = IntentFilter.SCHEME_PACKAGE putExtra( Intent.EXTRA_CHANGED_COMPONENT_NAME_LIST, - arrayOf(componentName.packageName) + arrayOf(componentName.packageName), ) - } + }, ) } diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/custom/data/repository/CustomTileRepositoryTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/custom/data/repository/CustomTileRepositoryTest.kt index 3c0e7d51b4e8..f8489c17a69c 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/custom/data/repository/CustomTileRepositoryTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/custom/data/repository/CustomTileRepositoryTest.kt @@ -28,11 +28,11 @@ import com.android.systemui.kosmos.testScope import com.android.systemui.qs.external.TileServiceKey import com.android.systemui.qs.pipeline.shared.TileSpec import com.android.systemui.qs.tiles.impl.custom.TileSubject.Companion.assertThat -import com.android.systemui.qs.tiles.impl.custom.commons.copy import com.android.systemui.qs.tiles.impl.custom.customTileSpec import com.android.systemui.qs.tiles.impl.custom.customTileStatePersister -import com.android.systemui.qs.tiles.impl.custom.data.entity.CustomTileDefaults +import com.android.systemui.qs.tiles.impl.custom.data.model.CustomTileDefaults import com.android.systemui.qs.tiles.impl.custom.packageManagerAdapterFacade +import com.android.systemui.qs.tiles.impl.custom.shared.model.copy import com.android.systemui.testKosmos import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.flow.first diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/custom/domain/interactor/CustomTileDataInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/custom/domain/interactor/CustomTileDataInteractorTest.kt index 2cc3678c2065..8e106490591b 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/custom/domain/interactor/CustomTileDataInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/custom/domain/interactor/CustomTileDataInteractorTest.kt @@ -31,7 +31,7 @@ import com.android.systemui.qs.external.iQSTileService import com.android.systemui.qs.external.tileServiceManagerFacade import com.android.systemui.qs.external.tileServicesFacade import com.android.systemui.qs.pipeline.shared.TileSpec -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.custom.TileSubject.Companion.assertThat import com.android.systemui.qs.tiles.impl.custom.customTileDefaultsRepository import com.android.systemui.qs.tiles.impl.custom.customTileInteractor @@ -39,7 +39,7 @@ import com.android.systemui.qs.tiles.impl.custom.customTilePackagesUpdatesReposi import com.android.systemui.qs.tiles.impl.custom.customTileRepository import com.android.systemui.qs.tiles.impl.custom.customTileServiceInteractor import com.android.systemui.qs.tiles.impl.custom.customTileSpec -import com.android.systemui.qs.tiles.impl.custom.data.entity.CustomTileDefaults +import com.android.systemui.qs.tiles.impl.custom.data.model.CustomTileDefaults import com.android.systemui.qs.tiles.impl.custom.qsTileLogger import com.android.systemui.testKosmos import com.android.systemui.user.data.repository.fakeUserRepository diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/custom/domain/interactor/CustomTileInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/custom/domain/interactor/CustomTileInteractorTest.kt index a317dc525df9..6fef9f1da3af 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/custom/domain/interactor/CustomTileInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/custom/domain/interactor/CustomTileInteractorTest.kt @@ -33,7 +33,7 @@ import com.android.systemui.qs.tiles.impl.custom.customTileDefaultsRepository import com.android.systemui.qs.tiles.impl.custom.customTileRepository import com.android.systemui.qs.tiles.impl.custom.customTileSpec import com.android.systemui.qs.tiles.impl.custom.customTileStatePersister -import com.android.systemui.qs.tiles.impl.custom.data.entity.CustomTileDefaults +import com.android.systemui.qs.tiles.impl.custom.data.model.CustomTileDefaults import com.android.systemui.testKosmos import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.flow.first diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/custom/domain/interactor/CustomTileUserActionInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/custom/domain/interactor/CustomTileUserActionInteractorTest.kt index 72e5766e409a..df4f097c8a8d 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/custom/domain/interactor/CustomTileUserActionInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/custom/domain/interactor/CustomTileUserActionInteractorTest.kt @@ -38,14 +38,14 @@ import com.android.systemui.kosmos.testScope import com.android.systemui.qs.external.componentName import com.android.systemui.qs.external.iQSTileService import com.android.systemui.qs.pipeline.shared.TileSpec -import com.android.systemui.qs.tiles.base.actions.FakeQSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.actions.intentInputs -import com.android.systemui.qs.tiles.base.actions.pendingIntentInputs -import com.android.systemui.qs.tiles.base.interactor.QSTileInputTestKtx.click -import com.android.systemui.qs.tiles.base.interactor.QSTileInputTestKtx.longClick +import com.android.systemui.qs.tiles.base.domain.actions.FakeQSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.actions.intentInputs +import com.android.systemui.qs.tiles.base.domain.actions.pendingIntentInputs +import com.android.systemui.qs.tiles.base.domain.model.QSTileInputTestKtx.click +import com.android.systemui.qs.tiles.base.domain.model.QSTileInputTestKtx.longClick import com.android.systemui.qs.tiles.impl.custom.customTileServiceInteractor import com.android.systemui.qs.tiles.impl.custom.customTileSpec -import com.android.systemui.qs.tiles.impl.custom.domain.entity.CustomTileDataModel +import com.android.systemui.qs.tiles.impl.custom.domain.model.CustomTileDataModel import com.android.systemui.qs.tiles.impl.custom.qsTileLogger import com.android.systemui.testKosmos import com.android.systemui.user.data.repository.fakeUserRepository @@ -144,7 +144,7 @@ class CustomTileUserActionInteractorTest : SysuiTestCase() { assertThat( intent.getParcelableExtra( Intent.EXTRA_COMPONENT_NAME, - ComponentName::class.java + ComponentName::class.java, ) ) .isEqualTo(componentName) diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/custom/domain/interactor/CustomTileMapperTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/custom/ui/mapper/CustomTileMapperTest.kt index 608adf183163..41f687251a0b 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/custom/domain/interactor/CustomTileMapperTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/custom/ui/mapper/CustomTileMapperTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.custom.domain.interactor +package com.android.systemui.qs.tiles.impl.custom.ui.mapper import android.app.IUriGrantsManager import android.content.ComponentName @@ -32,12 +32,11 @@ import com.android.systemui.SysuiTestCase import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.testScope import com.android.systemui.qs.pipeline.shared.TileSpec -import com.android.systemui.qs.tiles.impl.custom.QSTileStateSubject.Companion.assertThat +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileStateSubject.Companion.assertThat import com.android.systemui.qs.tiles.impl.custom.customTileQsTileConfig import com.android.systemui.qs.tiles.impl.custom.customTileSpec -import com.android.systemui.qs.tiles.impl.custom.domain.CustomTileMapper -import com.android.systemui.qs.tiles.impl.custom.domain.entity.CustomTileDataModel -import com.android.systemui.qs.tiles.viewmodel.QSTileState +import com.android.systemui.qs.tiles.impl.custom.domain.model.CustomTileDataModel import com.android.systemui.testKosmos import com.android.systemui.util.mockito.any import com.android.systemui.util.mockito.eq diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/flashlight/domain/interactor/FlashlightTileDataInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/flashlight/domain/interactor/FlashlightTileDataInteractorTest.kt index d42eb5ebc9ab..5df7ae348e4b 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/flashlight/domain/interactor/FlashlightTileDataInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/flashlight/domain/interactor/FlashlightTileDataInteractorTest.kt @@ -24,7 +24,7 @@ import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.coroutines.collectLastValue import com.android.systemui.coroutines.collectValues -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.flashlight.domain.model.FlashlightTileModel import com.android.systemui.utils.leaks.FakeFlashlightController import com.google.common.truth.Truth.assertThat @@ -57,6 +57,7 @@ class FlashlightTileDataInteractorTest : SysuiTestCase() { assertThat(availability).isTrue() } + @Test fun availabilityOffMatchesController() = runTest { controller.hasFlashlight = false diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/flashlight/domain/interactor/FlashlightTileUserActionInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/flashlight/domain/interactor/FlashlightTileUserActionInteractorTest.kt index 1f19c98a93a3..d7536dcc32e1 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/flashlight/domain/interactor/FlashlightTileUserActionInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/flashlight/domain/interactor/FlashlightTileUserActionInteractorTest.kt @@ -20,7 +20,7 @@ import android.app.ActivityManager import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase -import com.android.systemui.qs.tiles.base.interactor.QSTileInputTestKtx.click +import com.android.systemui.qs.tiles.base.domain.model.QSTileInputTestKtx.click import com.android.systemui.qs.tiles.impl.flashlight.domain.model.FlashlightTileModel import com.android.systemui.statusbar.policy.FlashlightController import com.android.systemui.util.mockito.mock diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/flashlight/domain/FlashlightMapperTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/flashlight/ui/mapper/FlashlightMapperTest.kt index 2da144e5ee98..aebc67b9ce5d 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/flashlight/domain/FlashlightMapperTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/flashlight/ui/mapper/FlashlightMapperTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,16 +14,16 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.flashlight.domain +package com.android.systemui.qs.tiles.impl.flashlight.ui.mapper import android.graphics.drawable.TestStubDrawable import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.common.shared.model.Icon +import com.android.systemui.qs.tiles.base.shared.model.QSTileState import com.android.systemui.qs.tiles.impl.flashlight.domain.model.FlashlightTileModel import com.android.systemui.qs.tiles.impl.flashlight.qsFlashlightTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.testKosmos import com.google.common.truth.Truth.assertThat diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/fontscaling/domain/interactor/FontScalingTileDataInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/fontscaling/domain/interactor/FontScalingTileDataInteractorTest.kt index cd825045de44..585c1a7c5e3f 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/fontscaling/domain/interactor/FontScalingTileDataInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/fontscaling/domain/interactor/FontScalingTileDataInteractorTest.kt @@ -22,7 +22,7 @@ import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.coroutines.collectLastValue import com.android.systemui.coroutines.collectValues -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.google.common.truth.Truth import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.test.runCurrent diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/fontscaling/domain/interactor/FontScalingUserActionInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/fontscaling/domain/interactor/FontScalingUserActionInteractorTest.kt index 93f2bc34372e..11b9f7712e2b 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/fontscaling/domain/interactor/FontScalingUserActionInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/fontscaling/domain/interactor/FontScalingUserActionInteractorTest.kt @@ -29,10 +29,10 @@ import com.android.systemui.animation.LaunchableView import com.android.systemui.kosmos.testScope import com.android.systemui.plugins.ActivityStarter import com.android.systemui.qs.shared.QSSettingsPackageRepository -import com.android.systemui.qs.tiles.base.actions.FakeQSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.actions.intentInputs -import com.android.systemui.qs.tiles.base.interactor.QSTileInputTestKtx -import com.android.systemui.qs.tiles.base.interactor.QSTileInputTestKtx.click +import com.android.systemui.qs.tiles.base.domain.actions.FakeQSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.actions.intentInputs +import com.android.systemui.qs.tiles.base.domain.model.QSTileInputTestKtx +import com.android.systemui.qs.tiles.base.domain.model.QSTileInputTestKtx.click import com.android.systemui.qs.tiles.impl.fontscaling.domain.model.FontScalingTileModel import com.android.systemui.statusbar.phone.FakeKeyguardStateController import com.android.systemui.statusbar.phone.SystemUIDialog diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/fontscaling/domain/FontScalingTileMapperTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/fontscaling/ui/mapper/FontScalingTileMapperTest.kt index 45720b86a859..1e794f917cb9 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/fontscaling/domain/FontScalingTileMapperTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/fontscaling/ui/mapper/FontScalingTileMapperTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2024 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.fontscaling.domain +package com.android.systemui.qs.tiles.impl.fontscaling.ui.mapper import android.graphics.drawable.TestStubDrawable import android.widget.Switch @@ -22,10 +22,10 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.impl.custom.QSTileStateSubject +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileStateSubject import com.android.systemui.qs.tiles.impl.fontscaling.domain.model.FontScalingTileModel import com.android.systemui.qs.tiles.impl.fontscaling.qsFontScalingTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.testKosmos import org.junit.Test diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/hearingdevices/domain/interactor/HearingDevicesTileDataInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/hearingdevices/domain/interactor/HearingDevicesTileDataInteractorTest.kt index 4d38e7588578..ae37684522fc 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/hearingdevices/domain/interactor/HearingDevicesTileDataInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/hearingdevices/domain/interactor/HearingDevicesTileDataInteractorTest.kt @@ -25,7 +25,7 @@ import com.android.systemui.accessibility.hearingaid.HearingDevicesChecker import com.android.systemui.coroutines.collectLastValue import com.android.systemui.coroutines.collectValues import com.android.systemui.kosmos.testScope -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.hearingdevices.domain.model.HearingDevicesTileModel import com.android.systemui.statusbar.policy.fakeBluetoothController import com.android.systemui.testKosmos diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/hearingdevices/domain/interactor/HearingDevicesTileUserActionInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/hearingdevices/domain/interactor/HearingDevicesTileUserActionInteractorTest.kt index 0ba057b1881b..5ab728f6e9e3 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/hearingdevices/domain/interactor/HearingDevicesTileUserActionInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/hearingdevices/domain/interactor/HearingDevicesTileUserActionInteractorTest.kt @@ -24,9 +24,9 @@ import com.android.systemui.accessibility.hearingaid.HearingDevicesDialogManager import com.android.systemui.accessibility.hearingaid.HearingDevicesUiEventLogger.Companion.LAUNCH_SOURCE_QS_TILE import com.android.systemui.kosmos.testScope import com.android.systemui.qs.shared.QSSettingsPackageRepository -import com.android.systemui.qs.tiles.base.actions.FakeQSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandlerSubject -import com.android.systemui.qs.tiles.base.interactor.QSTileInputTestKtx +import com.android.systemui.qs.tiles.base.domain.actions.FakeQSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandlerSubject +import com.android.systemui.qs.tiles.base.domain.model.QSTileInputTestKtx import com.android.systemui.qs.tiles.impl.hearingdevices.domain.model.HearingDevicesTileModel import com.android.systemui.testKosmos import com.google.common.truth.Truth.assertThat diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/hearingdevices/domain/HearingDevicesTileMapperTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/hearingdevices/ui/mapper/HearingDevicesTileMapperTest.kt index c41034202c88..b0129f0c060d 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/hearingdevices/domain/HearingDevicesTileMapperTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/hearingdevices/ui/mapper/HearingDevicesTileMapperTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2024 The Android Open Source Project + * Copyright (C) 2025 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. @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.hearingdevices.domain +package com.android.systemui.qs.tiles.impl.hearingdevices.ui.mapper import android.graphics.drawable.TestStubDrawable import android.widget.Switch @@ -21,10 +21,10 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.impl.custom.QSTileStateSubject +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileStateSubject import com.android.systemui.qs.tiles.impl.hearingdevices.domain.model.HearingDevicesTileModel import com.android.systemui.qs.tiles.impl.hearingdevices.qsHearingDevicesTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.testKosmos import org.junit.Test diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/internet/domain/interactor/InternetTileDataInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/internet/domain/interactor/InternetTileDataInteractorTest.kt index 45582f017fb0..a8747e81a2e3 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/internet/domain/interactor/InternetTileDataInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/internet/domain/interactor/InternetTileDataInteractorTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2024 The Android Open Source Project + * Copyright (C) 2025 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. @@ -31,7 +31,7 @@ import com.android.systemui.flags.FakeFeatureFlagsClassic import com.android.systemui.flags.Flags import com.android.systemui.kosmos.testScope import com.android.systemui.log.table.logcatTableLogBuffer -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.internet.domain.model.InternetTileModel import com.android.systemui.res.R import com.android.systemui.statusbar.connectivity.WifiIcons diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/internet/domain/interactor/InternetTileUserActionInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/internet/domain/interactor/InternetTileUserActionInteractorTest.kt index d019a456a4f5..8b58e5674176 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/internet/domain/interactor/InternetTileUserActionInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/internet/domain/interactor/InternetTileUserActionInteractorTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2024 The Android Open Source Project + * Copyright (C) 2025 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. @@ -22,9 +22,9 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.kosmos.testScope -import com.android.systemui.qs.tiles.base.actions.FakeQSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandlerSubject -import com.android.systemui.qs.tiles.base.interactor.QSTileInputTestKtx +import com.android.systemui.qs.tiles.base.domain.actions.FakeQSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandlerSubject +import com.android.systemui.qs.tiles.base.domain.model.QSTileInputTestKtx import com.android.systemui.qs.tiles.dialog.InternetDialogManager import com.android.systemui.qs.tiles.impl.internet.domain.model.InternetTileModel import com.android.systemui.statusbar.connectivity.AccessPointController diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/internet/domain/InternetTileMapperTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/internet/ui/mapper/InternetTileMapperTest.kt index e15664eba6b9..da91f70173c6 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/internet/domain/InternetTileMapperTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/internet/ui/mapper/InternetTileMapperTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2024 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.internet.domain +package com.android.systemui.qs.tiles.impl.internet.ui.mapper import android.graphics.drawable.TestStubDrawable import android.os.fakeExecutorHandler @@ -28,10 +28,10 @@ import com.android.systemui.common.shared.model.ContentDescription.Companion.loa import com.android.systemui.common.shared.model.Icon import com.android.systemui.common.shared.model.Text import com.android.systemui.common.shared.model.Text.Companion.loadText -import com.android.systemui.qs.tiles.impl.custom.QSTileStateSubject +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileStateSubject import com.android.systemui.qs.tiles.impl.internet.domain.model.InternetTileModel import com.android.systemui.qs.tiles.impl.internet.qsInternetTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.statusbar.connectivity.WifiIcons.WIFI_FULL_ICONS import com.android.systemui.statusbar.pipeline.mobile.domain.model.SignalIconModel diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/inversion/domain/interactor/ColorInversionTileDataInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/inversion/domain/interactor/ColorInversionTileDataInteractorTest.kt index 228e99305926..70828d5d6ff8 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/inversion/domain/interactor/ColorInversionTileDataInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/inversion/domain/interactor/ColorInversionTileDataInteractorTest.kt @@ -23,7 +23,7 @@ import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.accessibility.data.repository.FakeColorInversionRepository import com.android.systemui.coroutines.collectValues -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.inversion.domain.model.ColorInversionTileModel import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.flow.flowOf diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/inversion/domain/interactor/ColorInversionUserActionInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/inversion/domain/interactor/ColorInversionUserActionInteractorTest.kt index 3f77b86971e1..e4a1ce2766c1 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/inversion/domain/interactor/ColorInversionUserActionInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/inversion/domain/interactor/ColorInversionUserActionInteractorTest.kt @@ -24,9 +24,9 @@ import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.accessibility.data.repository.FakeColorInversionRepository import com.android.systemui.qs.shared.QSSettingsPackageRepository -import com.android.systemui.qs.tiles.base.actions.FakeQSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandlerSubject -import com.android.systemui.qs.tiles.base.interactor.QSTileInputTestKtx +import com.android.systemui.qs.tiles.base.domain.actions.FakeQSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandlerSubject +import com.android.systemui.qs.tiles.base.domain.model.QSTileInputTestKtx import com.android.systemui.qs.tiles.impl.inversion.domain.model.ColorInversionTileModel import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.test.runTest diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/inversion/domain/ColorInversionTileMapperTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/inversion/ui/mapper/ColorInversionTileMapperTest.kt index 48e114603723..509a178ffcc3 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/inversion/domain/ColorInversionTileMapperTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/inversion/ui/mapper/ColorInversionTileMapperTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.inversion.domain +package com.android.systemui.qs.tiles.impl.inversion.ui.mapper import android.graphics.drawable.TestStubDrawable import android.widget.Switch @@ -23,10 +23,10 @@ import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.common.shared.model.Icon import com.android.systemui.qs.tileimpl.SubtitleArrayMapping -import com.android.systemui.qs.tiles.impl.custom.QSTileStateSubject +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileStateSubject import com.android.systemui.qs.tiles.impl.inversion.domain.model.ColorInversionTileModel import com.android.systemui.qs.tiles.impl.inversion.qsColorInversionTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.testKosmos import org.junit.Test diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/irecording/IssueRecordingDataInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/irecording/domain/interactor/IssueRecordingDataInteractorTest.kt index 57f85bd8c5ac..1ee6ac6ccea8 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/irecording/IssueRecordingDataInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/irecording/domain/interactor/IssueRecordingDataInteractorTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2024 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.irecording +package com.android.systemui.qs.tiles.impl.irecording.domain.interactor import android.os.Handler import android.os.UserHandle @@ -24,7 +24,7 @@ import com.android.systemui.SysuiTestCase import com.android.systemui.coroutines.collectLastValue import com.android.systemui.kosmos.testCase import com.android.systemui.kosmos.testScope -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.recordissue.IssueRecordingState import com.android.systemui.settings.fakeUserFileManager import com.android.systemui.settings.userTracker diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/irecording/IssueRecordingUserActionInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/irecording/domain/interactor/IssueRecordingUserActionInteractorTest.kt index 125419ba3bdf..2791b74f2483 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/irecording/IssueRecordingUserActionInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/irecording/domain/interactor/IssueRecordingUserActionInteractorTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2024 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.irecording +package com.android.systemui.qs.tiles.impl.irecording.domain.interactor import android.os.Handler import android.os.UserHandle @@ -28,8 +28,9 @@ import com.android.systemui.kosmos.testScope import com.android.systemui.plugins.activityStarter import com.android.systemui.plugins.statusbar.statusBarStateController import com.android.systemui.qs.pipeline.domain.interactor.panelInteractor -import com.android.systemui.qs.tiles.base.interactor.QSTileInput -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction +import com.android.systemui.qs.tiles.base.domain.model.QSTileInput +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction +import com.android.systemui.qs.tiles.impl.irecording.data.model.IssueRecordingModel import com.android.systemui.recordissue.IssueRecordingState import com.android.systemui.recordissue.RecordIssueDialogDelegate import com.android.systemui.screenrecord.RecordingController diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/irecording/IssueRecordingMapperTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/irecording/ui/mapper/IssueRecordingMapperTest.kt index 0201168181a9..e469330ab21c 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/irecording/IssueRecordingMapperTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/irecording/ui/mapper/IssueRecordingMapperTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2024 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.irecording +package com.android.systemui.qs.tiles.impl.irecording.ui.mapper import android.content.res.mainResources import androidx.test.ext.junit.runners.AndroidJUnit4 @@ -24,9 +24,10 @@ import com.android.systemui.kosmos.testCase import com.android.systemui.qs.pipeline.shared.TileSpec import com.android.systemui.qs.qsEventLogger import com.android.systemui.qs.shared.model.TileCategory -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState -import com.android.systemui.qs.tiles.viewmodel.QSTileUIConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.shared.model.QSTileUIConfig +import com.android.systemui.qs.tiles.impl.irecording.data.model.IssueRecordingModel import com.android.systemui.recordissue.RecordIssueModule import com.android.systemui.res.R import com.android.systemui.testKosmos diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/location/interactor/LocationTileDataInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/location/domain/interactor/LocationTileDataInteractorTest.kt index 52ce95b1d742..9c527145b6b4 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/location/interactor/LocationTileDataInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/location/domain/interactor/LocationTileDataInteractorTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.location.interactor +package com.android.systemui.qs.tiles.impl.location.domain.interactor import android.os.UserHandle import android.platform.test.annotations.EnabledOnRavenwood @@ -24,8 +24,7 @@ import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.coroutines.collectLastValue import com.android.systemui.coroutines.collectValues -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger -import com.android.systemui.qs.tiles.impl.location.domain.interactor.LocationTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.location.domain.model.LocationTileModel import com.android.systemui.utils.leaks.FakeLocationController import com.google.common.truth.Truth diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/location/interactor/LocationTileUserActionInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/location/domain/interactor/LocationTileUserActionInteractorTest.kt index 435aea07c9a0..bd632531b62d 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/location/interactor/LocationTileUserActionInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/location/domain/interactor/LocationTileUserActionInteractorTest.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.location.interactor +package com.android.systemui.qs.tiles.impl.location.domain.interactor import android.platform.test.annotations.EnabledOnRavenwood import android.provider.Settings @@ -23,11 +23,10 @@ import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.kosmos.testScope import com.android.systemui.plugins.ActivityStarter -import com.android.systemui.qs.tiles.base.actions.FakeQSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.actions.intentInputs -import com.android.systemui.qs.tiles.base.interactor.QSTileInputTestKtx.click -import com.android.systemui.qs.tiles.base.interactor.QSTileInputTestKtx.longClick -import com.android.systemui.qs.tiles.impl.location.domain.interactor.LocationTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.actions.FakeQSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.actions.intentInputs +import com.android.systemui.qs.tiles.base.domain.model.QSTileInputTestKtx.click +import com.android.systemui.qs.tiles.base.domain.model.QSTileInputTestKtx.longClick import com.android.systemui.qs.tiles.impl.location.domain.model.LocationTileModel import com.android.systemui.statusbar.phone.FakeKeyguardStateController import com.android.systemui.statusbar.policy.LocationController diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/location/domain/LocationTileMapperTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/location/ui/mapper/LocationTileMapperTest.kt index a6ad54935f08..807e37339d3f 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/location/domain/LocationTileMapperTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/location/ui/mapper/LocationTileMapperTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,16 +14,16 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.location.domain +package com.android.systemui.qs.tiles.impl.location.ui.mapper import android.graphics.drawable.TestStubDrawable import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.common.shared.model.Icon +import com.android.systemui.qs.tiles.base.shared.model.QSTileState import com.android.systemui.qs.tiles.impl.location.domain.model.LocationTileModel import com.android.systemui.qs.tiles.impl.location.qsLocationTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.testKosmos import com.google.common.truth.Truth diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesDndTileDataInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesDndTileDataInteractorTest.kt index 23d7b86df875..588832046776 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesDndTileDataInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesDndTileDataInteractorTest.kt @@ -27,7 +27,7 @@ import com.android.systemui.SysuiTestCase import com.android.systemui.coroutines.collectLastValue import com.android.systemui.kosmos.testDispatcher import com.android.systemui.kosmos.testScope -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.statusbar.policy.data.repository.fakeZenModeRepository import com.android.systemui.statusbar.policy.domain.interactor.zenModeInteractor import com.android.systemui.testKosmos diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesDndTileUserActionInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesDndTileUserActionInteractorTest.kt index fda62e49ca72..4ef61d900460 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesDndTileUserActionInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesDndTileUserActionInteractorTest.kt @@ -26,9 +26,9 @@ import com.android.systemui.coroutines.collectLastValue import com.android.systemui.kosmos.mainCoroutineContext import com.android.systemui.kosmos.testScope import com.android.systemui.qs.shared.QSSettingsPackageRepository -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandlerSubject -import com.android.systemui.qs.tiles.base.actions.qsTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.interactor.QSTileInputTestKtx +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandlerSubject +import com.android.systemui.qs.tiles.base.domain.actions.qsTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.model.QSTileInputTestKtx import com.android.systemui.qs.tiles.impl.modes.domain.model.ModesDndTileModel import com.android.systemui.statusbar.policy.data.repository.zenModeRepository import com.android.systemui.statusbar.policy.domain.interactor.zenModeInteractor diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesTileDataInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesTileDataInteractorTest.kt index 0b641cee29a2..1df2e1baf6aa 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesTileDataInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesTileDataInteractorTest.kt @@ -34,7 +34,7 @@ import com.android.systemui.coroutines.collectLastValue import com.android.systemui.coroutines.collectValues import com.android.systemui.kosmos.testDispatcher import com.android.systemui.kosmos.testScope -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.modes.domain.model.ModesTileModel import com.android.systemui.statusbar.policy.data.repository.fakeZenModeRepository import com.android.systemui.statusbar.policy.domain.interactor.zenModeInteractor diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesTileUserActionInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesTileUserActionInteractorTest.kt index 24e4279642d8..9d0b26f7104c 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesTileUserActionInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesTileUserActionInteractorTest.kt @@ -30,9 +30,9 @@ import com.android.systemui.common.shared.model.asIcon import com.android.systemui.coroutines.collectLastValue import com.android.systemui.kosmos.mainCoroutineContext import com.android.systemui.kosmos.testScope -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandlerSubject -import com.android.systemui.qs.tiles.base.actions.qsTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.interactor.QSTileInputTestKtx +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandlerSubject +import com.android.systemui.qs.tiles.base.domain.actions.qsTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.model.QSTileInputTestKtx import com.android.systemui.qs.tiles.impl.modes.domain.model.ModesTileModel import com.android.systemui.statusbar.policy.data.repository.zenModeRepository import com.android.systemui.statusbar.policy.domain.interactor.zenModeInteractor diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/modes/ui/ModesDndTileMapperTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/modes/ui/ModesDndTileMapperTest.kt index fb48d228746a..318ce0eaab35 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/modes/ui/ModesDndTileMapperTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/modes/ui/ModesDndTileMapperTest.kt @@ -23,10 +23,10 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.common.shared.model.Icon +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfigTestBuilder +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.shared.model.QSTileUIConfig import com.android.systemui.qs.tiles.impl.modes.domain.model.ModesDndTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileConfigTestBuilder -import com.android.systemui.qs.tiles.viewmodel.QSTileState -import com.android.systemui.qs.tiles.viewmodel.QSTileUIConfig import com.android.systemui.res.R import com.google.common.truth.Truth.assertThat import org.junit.Test diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/modes/ui/ModesTileMapperTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/modes/ui/mapper/ModesTileMapperTest.kt index d73044f6b479..e8a85f46d381 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/modes/ui/ModesTileMapperTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/modes/ui/mapper/ModesTileMapperTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2024 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.modes.ui +package com.android.systemui.qs.tiles.impl.modes.ui.mapper import android.app.Flags import android.graphics.drawable.TestStubDrawable @@ -23,10 +23,10 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.common.shared.model.asIcon +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfigTestBuilder +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.shared.model.QSTileUIConfig import com.android.systemui.qs.tiles.impl.modes.domain.model.ModesTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileConfigTestBuilder -import com.android.systemui.qs.tiles.viewmodel.QSTileState -import com.android.systemui.qs.tiles.viewmodel.QSTileUIConfig import com.android.systemui.res.R import com.google.common.truth.Truth.assertThat import org.junit.Test diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/night/domain/interactor/NightDisplayTileUserActionInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/night/domain/interactor/NightDisplayTileUserActionInteractorTest.kt index 51975b0508a9..a0d0b2353585 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/night/domain/interactor/NightDisplayTileUserActionInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/night/domain/interactor/NightDisplayTileUserActionInteractorTest.kt @@ -26,9 +26,9 @@ import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.accessibility.data.repository.NightDisplayRepository import com.android.systemui.dagger.NightDisplayListenerModule -import com.android.systemui.qs.tiles.base.actions.FakeQSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.actions.intentInputs -import com.android.systemui.qs.tiles.base.interactor.QSTileInputTestKtx +import com.android.systemui.qs.tiles.base.domain.actions.FakeQSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.actions.intentInputs +import com.android.systemui.qs.tiles.base.domain.model.QSTileInputTestKtx import com.android.systemui.qs.tiles.impl.custom.qsTileLogger import com.android.systemui.qs.tiles.impl.night.domain.model.NightDisplayTileModel import com.android.systemui.testKosmos diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/night/ui/NightDisplayTileMapperTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/night/ui/mapper/NightDisplayTileMapperTest.kt index 0b0b88e455da..25c70160fceb 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/night/ui/NightDisplayTileMapperTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/night/ui/mapper/NightDisplayTileMapperTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2024 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.night.ui +package com.android.systemui.qs.tiles.impl.night.ui.mapper import android.graphics.drawable.TestStubDrawable import android.service.quicksettings.Tile @@ -24,11 +24,11 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.base.logging.QSTileLogger -import com.android.systemui.qs.tiles.impl.custom.QSTileStateSubject +import com.android.systemui.qs.tiles.base.shared.logging.QSTileLogger +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileStateSubject import com.android.systemui.qs.tiles.impl.night.domain.model.NightDisplayTileModel import com.android.systemui.qs.tiles.impl.night.qsNightDisplayTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.testKosmos import com.android.systemui.util.mockito.mock diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/notes/domain/interactor/NotesTileDataInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/notes/domain/interactor/NotesTileDataInteractorTest.kt index 84ab6905a007..51cad304db33 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/notes/domain/interactor/NotesTileDataInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/notes/domain/interactor/NotesTileDataInteractorTest.kt @@ -25,7 +25,7 @@ import com.android.systemui.Flags import com.android.systemui.SysuiTestCase import com.android.systemui.coroutines.collectLastValue import com.android.systemui.kosmos.testScope -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.testKosmos import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.flow.flowOf diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/notes/domain/interactor/NotesTileUserActionInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/notes/domain/interactor/NotesTileUserActionInteractorTest.kt index 282af9159e2b..c29a490d23b5 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/notes/domain/interactor/NotesTileUserActionInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/notes/domain/interactor/NotesTileUserActionInteractorTest.kt @@ -24,9 +24,9 @@ import com.android.systemui.kosmos.testScope import com.android.systemui.notetask.NoteTaskController import com.android.systemui.notetask.NoteTaskEntryPoint import com.android.systemui.qs.pipeline.domain.interactor.PanelInteractor -import com.android.systemui.qs.tiles.base.actions.FakeQSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandlerSubject -import com.android.systemui.qs.tiles.base.interactor.QSTileInputTestKtx +import com.android.systemui.qs.tiles.base.domain.actions.FakeQSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandlerSubject +import com.android.systemui.qs.tiles.base.domain.model.QSTileInputTestKtx import com.android.systemui.qs.tiles.impl.notes.domain.model.NotesTileModel import com.android.systemui.testKosmos import com.google.common.truth.Truth.assertThat diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/notes/domain/NotesTileMapperTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/notes/ui/mapper/NotesTileMapperTest.kt index ecf6f2a9cd1d..0234584abda3 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/notes/domain/NotesTileMapperTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/notes/ui/mapper/NotesTileMapperTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2024 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.notes.domain +package com.android.systemui.qs.tiles.impl.notes.ui.mapper import android.graphics.drawable.TestStubDrawable import android.widget.Button @@ -22,10 +22,10 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.impl.custom.QSTileStateSubject +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileStateSubject import com.android.systemui.qs.tiles.impl.notes.domain.model.NotesTileModel import com.android.systemui.qs.tiles.impl.notes.qsNotesTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.testKosmos import kotlin.test.Test diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/onehanded/domain/interactor/OneHandedModeTileDataInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/onehanded/domain/interactor/OneHandedModeTileDataInteractorTest.kt index 16b0caa78cfa..d0ea6913aef4 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/onehanded/domain/interactor/OneHandedModeTileDataInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/onehanded/domain/interactor/OneHandedModeTileDataInteractorTest.kt @@ -22,7 +22,7 @@ import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.accessibility.data.repository.oneHandedModeRepository import com.android.systemui.coroutines.collectLastValue -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.onehanded.domain.OneHandedModeTileDataInteractor import com.android.systemui.testKosmos import com.android.wm.shell.onehanded.OneHanded diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/onehanded/domain/interactor/OneHandedModeTileUserActionInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/onehanded/domain/interactor/OneHandedModeTileUserActionInteractorTest.kt index 3f17d4cec643..a8f1808ba6f4 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/onehanded/domain/interactor/OneHandedModeTileUserActionInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/onehanded/domain/interactor/OneHandedModeTileUserActionInteractorTest.kt @@ -23,9 +23,9 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.accessibility.data.repository.FakeOneHandedModeRepository -import com.android.systemui.qs.tiles.base.actions.FakeQSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandlerSubject -import com.android.systemui.qs.tiles.base.interactor.QSTileInputTestKtx +import com.android.systemui.qs.tiles.base.domain.actions.FakeQSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandlerSubject +import com.android.systemui.qs.tiles.base.domain.model.QSTileInputTestKtx import com.android.systemui.qs.tiles.impl.onehanded.domain.OneHandedModeTileUserActionInteractor import com.android.systemui.qs.tiles.impl.onehanded.domain.model.OneHandedModeTileModel import com.google.common.truth.Truth.assertThat @@ -42,11 +42,7 @@ class OneHandedModeTileUserActionInteractorTest : SysuiTestCase() { private val repository = FakeOneHandedModeRepository() private val inputHandler = FakeQSTileIntentUserInputHandler() - private val underTest = - OneHandedModeTileUserActionInteractor( - repository, - inputHandler, - ) + private val underTest = OneHandedModeTileUserActionInteractor(repository, inputHandler) @Test fun handleClickWhenEnabled() = runTest { diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/onehanded/ui/OneHandedModeTileMapperTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/onehanded/ui/mapper/OneHandedModeTileMapperTest.kt index 3fba857bae1a..fe10457b2103 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/onehanded/ui/OneHandedModeTileMapperTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/onehanded/ui/mapper/OneHandedModeTileMapperTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2024 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.onehanded.ui +package com.android.systemui.qs.tiles.impl.onehanded.ui.mapper import android.graphics.drawable.TestStubDrawable import android.widget.Switch @@ -23,10 +23,10 @@ import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.common.shared.model.Icon import com.android.systemui.qs.tileimpl.SubtitleArrayMapping -import com.android.systemui.qs.tiles.impl.custom.QSTileStateSubject +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileStateSubject import com.android.systemui.qs.tiles.impl.onehanded.domain.model.OneHandedModeTileModel import com.android.systemui.qs.tiles.impl.onehanded.qsOneHandedModeTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.testKosmos import org.junit.Before diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/qr/domain/interactor/QRCodeScannerTileDataInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/qr/domain/interactor/QRCodeScannerTileDataInteractorTest.kt index c41ce2f7854c..82535db6ab4e 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/qr/domain/interactor/QRCodeScannerTileDataInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/qr/domain/interactor/QRCodeScannerTileDataInteractorTest.kt @@ -24,7 +24,7 @@ import com.android.systemui.SysuiTestCase import com.android.systemui.coroutines.collectLastValue import com.android.systemui.qrcodescanner.controller.QRCodeScannerController import com.android.systemui.qrcodescanner.controller.QRCodeScannerController.Callback -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.qr.domain.model.QRCodeScannerTileModel import com.android.systemui.util.mockito.argumentCaptor import com.android.systemui.util.mockito.mock diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/qr/domain/interactor/QRCodeScannerTileUserActionInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/qr/domain/interactor/QRCodeScannerTileUserActionInteractorTest.kt index ef21df6e2636..8c0dae80730c 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/qr/domain/interactor/QRCodeScannerTileUserActionInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/qr/domain/interactor/QRCodeScannerTileUserActionInteractorTest.kt @@ -21,9 +21,9 @@ import android.platform.test.annotations.EnabledOnRavenwood import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandlerSubject -import com.android.systemui.qs.tiles.base.actions.qsTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.interactor.QSTileInputTestKtx +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandlerSubject +import com.android.systemui.qs.tiles.base.domain.actions.qsTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.model.QSTileInputTestKtx import com.android.systemui.qs.tiles.impl.qr.domain.model.QRCodeScannerTileModel import com.android.systemui.qs.tiles.impl.qr.qrCodeScannerTileUserActionInteractor import com.android.systemui.testKosmos diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/qr/ui/QRCodeScannerTileMapperTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/qr/ui/mapper/QRCodeScannerTileMapperTest.kt index 9e20aae6103e..8e453caf296d 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/qr/ui/QRCodeScannerTileMapperTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/qr/ui/mapper/QRCodeScannerTileMapperTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2024 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.qr.ui +package com.android.systemui.qs.tiles.impl.qr.ui.mapper import android.content.Intent import android.graphics.drawable.TestStubDrawable @@ -23,10 +23,11 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.impl.custom.QSTileStateSubject +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileStateSubject import com.android.systemui.qs.tiles.impl.qr.domain.model.QRCodeScannerTileModel import com.android.systemui.qs.tiles.impl.qr.qsQRCodeScannerTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState +import com.android.systemui.res.R import com.android.systemui.testKosmos import com.android.systemui.util.mockito.mock import org.junit.Before @@ -46,12 +47,7 @@ class QRCodeScannerTileMapperTest : SysuiTestCase() { mapper = QRCodeScannerTileMapper( context.orCreateTestableResources - .apply { - addOverride( - com.android.systemui.res.R.drawable.ic_qr_code_scanner, - TestStubDrawable(), - ) - } + .apply { addOverride(R.drawable.ic_qr_code_scanner, TestStubDrawable()) } .resources, context.theme, ) @@ -91,9 +87,9 @@ class QRCodeScannerTileMapperTest : SysuiTestCase() { val label = context.getString(com.android.systemui.res.R.string.qr_code_scanner_title) return QSTileState( Icon.Loaded( - context.getDrawable(com.android.systemui.res.R.drawable.ic_qr_code_scanner)!!, + context.getDrawable(R.drawable.ic_qr_code_scanner)!!, null, - com.android.systemui.res.R.drawable.ic_qr_code_scanner, + R.drawable.ic_qr_code_scanner, ), label, activationState, diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/reducebrightness/domain/interactor/ReduceBrightColorsTileDataInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/reducebrightness/domain/interactor/ReduceBrightColorsTileDataInteractorTest.kt index fecb3deaaf36..db46a4f3fc2f 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/reducebrightness/domain/interactor/ReduceBrightColorsTileDataInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/reducebrightness/domain/interactor/ReduceBrightColorsTileDataInteractorTest.kt @@ -24,7 +24,7 @@ import com.android.systemui.SysuiTestCase import com.android.systemui.accessibility.reduceBrightColorsController import com.android.systemui.coroutines.collectValues import com.android.systemui.kosmos.testScope -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.reducebrightness.domain.model.ReduceBrightColorsTileModel import com.android.systemui.testKosmos import com.google.common.truth.Truth.assertThat diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/reducebrightness/domain/interactor/ReduceBrightColorsTileUserActionInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/reducebrightness/domain/interactor/ReduceBrightColorsTileUserActionInteractorTest.kt index 77321385b09e..221a6f17bed0 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/reducebrightness/domain/interactor/ReduceBrightColorsTileUserActionInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/reducebrightness/domain/interactor/ReduceBrightColorsTileUserActionInteractorTest.kt @@ -28,9 +28,9 @@ import com.android.server.display.feature.flags.Flags import com.android.systemui.SysuiTestCase import com.android.systemui.accessibility.extradim.ExtraDimDialogManager import com.android.systemui.accessibility.reduceBrightColorsController -import com.android.systemui.qs.tiles.base.actions.FakeQSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandlerSubject -import com.android.systemui.qs.tiles.base.interactor.QSTileInputTestKtx +import com.android.systemui.qs.tiles.base.domain.actions.FakeQSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandlerSubject +import com.android.systemui.qs.tiles.base.domain.model.QSTileInputTestKtx import com.android.systemui.qs.tiles.impl.reducebrightness.domain.model.ReduceBrightColorsTileModel import com.android.systemui.testKosmos import com.google.common.truth.Truth.assertThat diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/reducebrightness/ui/ReduceBrightColorsTileMapperTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/reducebrightness/ui/mapper/ReduceBrightColorsTileMapperTest.kt index ebf70dad7149..dabf0b025281 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/reducebrightness/ui/ReduceBrightColorsTileMapperTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/reducebrightness/ui/mapper/ReduceBrightColorsTileMapperTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2024 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.reducebrightness.ui +package com.android.systemui.qs.tiles.impl.reducebrightness.ui.mapper import android.graphics.drawable.TestStubDrawable import android.service.quicksettings.Tile @@ -23,10 +23,10 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.impl.custom.QSTileStateSubject +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileStateSubject import com.android.systemui.qs.tiles.impl.reducebrightness.domain.model.ReduceBrightColorsTileModel import com.android.systemui.qs.tiles.impl.reducebrightness.qsReduceBrightColorsTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.testKosmos import org.junit.Before diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/rotation/domain/interactor/RotationLockTileDataInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/rotation/domain/interactor/RotationLockTileDataInteractorTest.kt index 6f05c3178754..ef67910f8799 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/rotation/domain/interactor/RotationLockTileDataInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/rotation/domain/interactor/RotationLockTileDataInteractorTest.kt @@ -29,7 +29,7 @@ import com.android.systemui.camera.data.repository.fakeCameraAutoRotateRepositor import com.android.systemui.camera.data.repository.fakeCameraSensorPrivacyRepository import com.android.systemui.coroutines.collectLastValue import com.android.systemui.kosmos.testScope -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.testKosmos import com.android.systemui.util.mockito.eq import com.android.systemui.util.mockito.whenever diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/rotation/domain/interactor/RotationLockTileUserActionInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/rotation/domain/interactor/RotationLockTileUserActionInteractorTest.kt index 1653ce369ea1..e60e2106e556 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/rotation/domain/interactor/RotationLockTileUserActionInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/rotation/domain/interactor/RotationLockTileUserActionInteractorTest.kt @@ -22,9 +22,9 @@ import android.testing.LeakCheck import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase -import com.android.systemui.qs.tiles.base.actions.FakeQSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandlerSubject -import com.android.systemui.qs.tiles.base.interactor.QSTileInputTestKtx +import com.android.systemui.qs.tiles.base.domain.actions.FakeQSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandlerSubject +import com.android.systemui.qs.tiles.base.domain.model.QSTileInputTestKtx import com.android.systemui.qs.tiles.impl.rotation.domain.model.RotationLockTileModel import com.android.systemui.utils.leaks.FakeRotationLockController import com.google.common.truth.Truth.assertThat @@ -39,11 +39,7 @@ class RotationLockTileUserActionInteractorTest : SysuiTestCase() { private val controller = FakeRotationLockController(LeakCheck()) private val inputHandler = FakeQSTileIntentUserInputHandler() - private val underTest = - RotationLockTileUserActionInteractor( - controller, - inputHandler, - ) + private val underTest = RotationLockTileUserActionInteractor(controller, inputHandler) @Test fun handleClickWhenEnabled() = runTest { @@ -69,14 +65,7 @@ class RotationLockTileUserActionInteractorTest : SysuiTestCase() { fun handleLongClickWhenDisabled() = runTest { val enabled = false - underTest.handleInput( - QSTileInputTestKtx.longClick( - RotationLockTileModel( - enabled, - false, - ) - ) - ) + underTest.handleInput(QSTileInputTestKtx.longClick(RotationLockTileModel(enabled, false))) QSTileIntentUserInputHandlerSubject.assertThat(inputHandler).handledOneIntentInput { assertThat(it.intent.action).isEqualTo(Settings.ACTION_AUTO_ROTATE_SETTINGS) diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/rotation/ui/mapper/RotationLockTileMapperTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/rotation/ui/mapper/RotationLockTileMapperTest.kt index 0e6aaa6320c8..92c7a1ea76a2 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/rotation/ui/mapper/RotationLockTileMapperTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/rotation/ui/mapper/RotationLockTileMapperTest.kt @@ -25,10 +25,10 @@ import com.android.systemui.common.shared.model.Icon import com.android.systemui.defaultDeviceState import com.android.systemui.deviceStateManager import com.android.systemui.foldedDeviceStateList -import com.android.systemui.qs.tiles.impl.custom.QSTileStateSubject +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileStateSubject import com.android.systemui.qs.tiles.impl.rotation.domain.model.RotationLockTileModel import com.android.systemui.qs.tiles.impl.rotation.qsRotationLockTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.statusbar.policy.DevicePostureController import com.android.systemui.statusbar.policy.devicePostureController diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/saver/domain/interactor/DataSaverTileDataInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/saver/domain/interactor/DataSaverTileDataInteractorTest.kt index c286ea7a5062..97bd199780a0 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/saver/domain/interactor/DataSaverTileDataInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/saver/domain/interactor/DataSaverTileDataInteractorTest.kt @@ -24,7 +24,7 @@ import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.coroutines.collectLastValue import com.android.systemui.coroutines.collectValues -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.saver.domain.model.DataSaverTileModel import com.android.systemui.utils.leaks.FakeDataSaverController import com.google.common.truth.Truth diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/saver/domain/interactor/DataSaverTileUserActionInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/saver/domain/interactor/DataSaverTileUserActionInteractorTest.kt index 87ac034a6316..ee57b25a15ed 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/saver/domain/interactor/DataSaverTileUserActionInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/saver/domain/interactor/DataSaverTileUserActionInteractorTest.kt @@ -24,9 +24,9 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.animation.DialogTransitionAnimator -import com.android.systemui.qs.tiles.base.actions.FakeQSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.actions.intentInputs -import com.android.systemui.qs.tiles.base.interactor.QSTileInputTestKtx +import com.android.systemui.qs.tiles.base.domain.actions.FakeQSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.actions.intentInputs +import com.android.systemui.qs.tiles.base.domain.model.QSTileInputTestKtx import com.android.systemui.qs.tiles.impl.saver.domain.model.DataSaverTileModel import com.android.systemui.settings.UserFileManager import com.android.systemui.shade.domain.interactor.FakeShadeDialogContextInteractor diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/saver/domain/DataSaverTileMapperTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/saver/ui/mapper/DataSaverTileMapperTest.kt index 079921640705..638b76d685f3 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/saver/domain/DataSaverTileMapperTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/saver/ui/mapper/DataSaverTileMapperTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.saver.domain +package com.android.systemui.qs.tiles.impl.saver.ui.mapper import android.graphics.drawable.TestStubDrawable import android.widget.Switch @@ -22,10 +22,10 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.impl.custom.QSTileStateSubject +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileStateSubject import com.android.systemui.qs.tiles.impl.saver.domain.model.DataSaverTileModel import com.android.systemui.qs.tiles.impl.saver.qsDataSaverTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.testKosmos import org.junit.Test diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/screenrecord/domain/interactor/ScreenRecordTileDataInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/screenrecord/domain/interactor/ScreenRecordTileDataInteractorTest.kt index 127160d8728d..0c98271a70fc 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/screenrecord/domain/interactor/ScreenRecordTileDataInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/screenrecord/domain/interactor/ScreenRecordTileDataInteractorTest.kt @@ -23,7 +23,7 @@ import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.coroutines.collectLastValue import com.android.systemui.kosmos.testScope -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.screenrecord.data.model.ScreenRecordModel import com.android.systemui.screenrecord.data.repository.screenRecordRepository import com.android.systemui.testKosmos diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/screenrecord/domain/interactor/ScreenRecordTileUserActionInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/screenrecord/domain/interactor/ScreenRecordTileUserActionInteractorTest.kt index f47e0578461a..9ffffa4b7669 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/screenrecord/domain/interactor/ScreenRecordTileUserActionInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/screenrecord/domain/interactor/ScreenRecordTileUserActionInteractorTest.kt @@ -30,7 +30,7 @@ import com.android.systemui.kosmos.testScope import com.android.systemui.mediaprojection.MediaProjectionMetricsLogger import com.android.systemui.plugins.ActivityStarter.OnDismissAction import com.android.systemui.qs.pipeline.domain.interactor.PanelInteractor -import com.android.systemui.qs.tiles.base.interactor.QSTileInputTestKtx +import com.android.systemui.qs.tiles.base.domain.model.QSTileInputTestKtx import com.android.systemui.screenrecord.RecordingController import com.android.systemui.screenrecord.data.model.ScreenRecordModel import com.android.systemui.screenrecord.data.repository.ScreenRecordRepositoryImpl diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/screenrecord/ui/ScreenRecordTileMapperTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/screenrecord/ui/mapper/ScreenRecordTileMapperTest.kt index d118c096fd16..6acfc4441027 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/screenrecord/ui/ScreenRecordTileMapperTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/screenrecord/ui/mapper/ScreenRecordTileMapperTest.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.screenrecord.ui +package com.android.systemui.qs.tiles.impl.screenrecord.ui.mapper import android.graphics.drawable.TestStubDrawable import android.text.TextUtils @@ -23,10 +23,10 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.impl.custom.QSTileStateSubject -import com.android.systemui.qs.tiles.impl.screenrecord.domain.ui.ScreenRecordTileMapper +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileStateSubject +import com.android.systemui.qs.tiles.impl.screenrecord.domain.ui.mapper.ScreenRecordTileMapper import com.android.systemui.qs.tiles.impl.screenrecord.qsScreenRecordTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.screenrecord.data.model.ScreenRecordModel import com.android.systemui.testKosmos diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/sensorprivacy/domain/interactor/SensorPrivacyToggleTileDataInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/sensorprivacy/domain/interactor/SensorPrivacyToggleTileDataInteractorTest.kt index 4a28fc02042d..7d1d7d868c8e 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/sensorprivacy/domain/interactor/SensorPrivacyToggleTileDataInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/sensorprivacy/domain/interactor/SensorPrivacyToggleTileDataInteractorTest.kt @@ -24,8 +24,7 @@ import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.coroutines.collectLastValue import com.android.systemui.kosmos.testScope -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger -import com.android.systemui.qs.tiles.impl.sensorprivacy.SensorPrivacyToggleTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.statusbar.policy.IndividualSensorPrivacyController import com.android.systemui.testKosmos import com.android.systemui.util.mockito.argumentCaptor diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/sensorprivacy/domain/interactor/SensorPrivacyToggleTileUserActionInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/sensorprivacy/domain/interactor/SensorPrivacyToggleTileUserActionInteractorTest.kt index 7856fcaf4a1b..2630fddcbc88 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/sensorprivacy/domain/interactor/SensorPrivacyToggleTileUserActionInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/sensorprivacy/domain/interactor/SensorPrivacyToggleTileUserActionInteractorTest.kt @@ -27,10 +27,9 @@ import com.android.systemui.SysuiTestCase import com.android.systemui.keyguard.data.repository.fakeKeyguardRepository import com.android.systemui.keyguard.domain.interactor.keyguardInteractor import com.android.systemui.plugins.activityStarter -import com.android.systemui.qs.tiles.base.actions.FakeQSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandlerSubject -import com.android.systemui.qs.tiles.base.interactor.QSTileInputTestKtx -import com.android.systemui.qs.tiles.impl.sensorprivacy.domain.SensorPrivacyToggleTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.actions.FakeQSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandlerSubject +import com.android.systemui.qs.tiles.base.domain.model.QSTileInputTestKtx import com.android.systemui.qs.tiles.impl.sensorprivacy.domain.model.SensorPrivacyToggleTileModel import com.android.systemui.statusbar.policy.IndividualSensorPrivacyController import com.android.systemui.testKosmos diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/sensorprivacy/ui/SensorPrivacyToggleTileMapperTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/sensorprivacy/ui/mapper/SensorPrivacyToggleTileMapperTest.kt index 3b810dc451f9..d9a30b235bb2 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/sensorprivacy/ui/SensorPrivacyToggleTileMapperTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/sensorprivacy/ui/mapper/SensorPrivacyToggleTileMapperTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2024 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.sensorprivacy.ui +package com.android.systemui.qs.tiles.impl.sensorprivacy.ui.mapper import android.graphics.drawable.TestStubDrawable import android.hardware.SensorPrivacyManager.Sensors.CAMERA @@ -24,13 +24,14 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.impl.custom.QSTileStateSubject +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileStateSubject import com.android.systemui.qs.tiles.impl.sensorprivacy.domain.model.SensorPrivacyToggleTileModel import com.android.systemui.qs.tiles.impl.sensorprivacy.qsCameraSensorPrivacyToggleTileConfig import com.android.systemui.qs.tiles.impl.sensorprivacy.qsMicrophoneSensorPrivacyToggleTileConfig -import com.android.systemui.qs.tiles.impl.sensorprivacy.ui.SensorPrivacyTileResources.CameraPrivacyTileResources -import com.android.systemui.qs.tiles.impl.sensorprivacy.ui.SensorPrivacyTileResources.MicrophonePrivacyTileResources -import com.android.systemui.qs.tiles.viewmodel.QSTileState +import com.android.systemui.qs.tiles.impl.sensorprivacy.ui.model.SensorPrivacyTileResources +import com.android.systemui.qs.tiles.impl.sensorprivacy.ui.model.SensorPrivacyTileResources.CameraPrivacyTileResources +import com.android.systemui.qs.tiles.impl.sensorprivacy.ui.model.SensorPrivacyTileResources.MicrophonePrivacyTileResources import com.android.systemui.res.R import com.android.systemui.testKosmos import org.junit.Test diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/uimodenight/domain/UiModeNightTileDataInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/uimodenight/domain/interactor/UiModeNightTileDataInteractorTest.kt index 96538b730354..36a60c4157a2 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/uimodenight/domain/UiModeNightTileDataInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/uimodenight/domain/interactor/UiModeNightTileDataInteractorTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.uimodenight.domain +package com.android.systemui.qs.tiles.impl.uimodenight.domain.interactor import android.app.UiModeManager import android.content.res.Configuration @@ -27,9 +27,8 @@ import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.coroutines.collectLastValue import com.android.systemui.coroutines.collectValues -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger -import com.android.systemui.qs.tiles.impl.uimodenight.domain.interactor.UiModeNightTileDataInteractor -import com.android.systemui.qs.tiles.impl.uimodenight.domain.model.UiModeNightTileModel +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger +import com.android.systemui.qs.tiles.impl.uimodenight.domain.interactor.model.UiModeNightTileModel import com.android.systemui.statusbar.phone.ConfigurationControllerImpl import com.android.systemui.statusbar.policy.ConfigurationController import com.android.systemui.util.mockito.mock @@ -77,7 +76,7 @@ class UiModeNightTileDataInteractorTest : SysuiTestCase() { uiModeManager, batteryController, locationController, - dateFormatUtil + dateFormatUtil, ) } diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/uimodenight/domain/UiModeNightTileUserActionInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/uimodenight/domain/interactor/UiModeNightTileUserActionInteractorTest.kt index eea6d161d4ff..894a6cb62ce5 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/uimodenight/domain/UiModeNightTileUserActionInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/uimodenight/domain/interactor/UiModeNightTileUserActionInteractorTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.uimodenight.domain +package com.android.systemui.qs.tiles.impl.uimodenight.domain.interactor import android.app.UiModeManager import android.platform.test.annotations.EnabledOnRavenwood @@ -22,11 +22,10 @@ import android.provider.Settings import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase -import com.android.systemui.qs.tiles.base.actions.FakeQSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.actions.intentInputs -import com.android.systemui.qs.tiles.base.interactor.QSTileInputTestKtx +import com.android.systemui.qs.tiles.base.domain.actions.FakeQSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.actions.intentInputs +import com.android.systemui.qs.tiles.base.domain.model.QSTileInputTestKtx import com.android.systemui.qs.tiles.impl.uimodenight.UiModeNightTileModelHelper.createModel -import com.android.systemui.qs.tiles.impl.uimodenight.domain.interactor.UiModeNightTileUserActionInteractor import com.android.systemui.util.mockito.any import com.android.systemui.util.mockito.mock import com.google.common.truth.Truth @@ -57,7 +56,7 @@ class UiModeNightTileUserActionInteractorTest : SysuiTestCase() { UiModeNightTileUserActionInteractor( EmptyCoroutineContext, uiModeManager, - qsTileIntentUserActionHandler + qsTileIntentUserActionHandler, ) } diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/uimodenight/domain/UiModeNightTileMapperTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/uimodenight/ui/mapper/UiModeNightTileMapperTest.kt index 547bbbc895a6..e7653f238576 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/uimodenight/domain/UiModeNightTileMapperTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/uimodenight/ui/mapper/UiModeNightTileMapperTest.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.uimodenight.domain +package com.android.systemui.qs.tiles.impl.uimodenight.ui.mapper import android.app.UiModeManager import android.graphics.drawable.TestStubDrawable @@ -25,10 +25,10 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.impl.custom.QSTileStateSubject +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileStateSubject import com.android.systemui.qs.tiles.impl.uimodenight.UiModeNightTileModelHelper.createModel import com.android.systemui.qs.tiles.impl.uimodenight.qsUiModeNightTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.testKosmos import kotlin.reflect.KClass diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/work/domain/interactor/WorkModeTileDataInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/work/domain/interactor/WorkModeTileDataInteractorTest.kt index 86513006cef1..4f594167cdfd 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/work/domain/interactor/WorkModeTileDataInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/work/domain/interactor/WorkModeTileDataInteractorTest.kt @@ -23,7 +23,7 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.coroutines.collectLastValue -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.work.domain.model.WorkModeTileModel import com.android.systemui.utils.leaks.FakeManagedProfileController import com.google.common.truth.Truth.assertThat diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/work/domain/interactor/WorkModeTileUserActionInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/work/domain/interactor/WorkModeTileUserActionInteractorTest.kt index 8a63e2c8800f..3d08a01bc943 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/work/domain/interactor/WorkModeTileUserActionInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/work/domain/interactor/WorkModeTileUserActionInteractorTest.kt @@ -22,9 +22,9 @@ import android.testing.LeakCheck import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase -import com.android.systemui.qs.tiles.base.actions.FakeQSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandlerSubject -import com.android.systemui.qs.tiles.base.interactor.QSTileInputTestKtx +import com.android.systemui.qs.tiles.base.domain.actions.FakeQSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandlerSubject +import com.android.systemui.qs.tiles.base.domain.model.QSTileInputTestKtx import com.android.systemui.qs.tiles.impl.work.domain.model.WorkModeTileModel import com.android.systemui.utils.leaks.FakeManagedProfileController import com.google.common.truth.Truth.assertThat @@ -40,11 +40,7 @@ class WorkModeTileUserActionInteractorTest : SysuiTestCase() { private val inputHandler = FakeQSTileIntentUserInputHandler() private val profileController = FakeManagedProfileController(LeakCheck()) - private val underTest = - WorkModeTileUserActionInteractor( - profileController, - inputHandler, - ) + private val underTest = WorkModeTileUserActionInteractor(profileController, inputHandler) @Test fun handleClickWhenEnabled() = runTest { diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/work/ui/WorkModeTileMapperTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/work/ui/mapper/WorkModeTileMapperTest.kt index ed3fc5058c44..b420d44c7ecc 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/work/ui/WorkModeTileMapperTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/work/ui/mapper/WorkModeTileMapperTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2024 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.work.ui +package com.android.systemui.qs.tiles.impl.work.ui.mapper import android.app.admin.DevicePolicyResources import android.app.admin.DevicePolicyResourcesManager @@ -26,10 +26,10 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.impl.custom.QSTileStateSubject +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileStateSubject import com.android.systemui.qs.tiles.impl.work.domain.model.WorkModeTileModel import com.android.systemui.qs.tiles.impl.work.qsWorkModeTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.testKosmos import com.android.systemui.util.mockito.any diff --git a/packages/SystemUI/src/com/android/systemui/accessibility/qs/QSAccessibilityModule.kt b/packages/SystemUI/src/com/android/systemui/accessibility/qs/QSAccessibilityModule.kt index fb47d429e271..e25d54bd38d3 100644 --- a/packages/SystemUI/src/com/android/systemui/accessibility/qs/QSAccessibilityModule.kt +++ b/packages/SystemUI/src/com/android/systemui/accessibility/qs/QSAccessibilityModule.kt @@ -29,40 +29,40 @@ import com.android.systemui.qs.tiles.HearingDevicesTile import com.android.systemui.qs.tiles.NightDisplayTile import com.android.systemui.qs.tiles.OneHandedModeTile import com.android.systemui.qs.tiles.ReduceBrightColorsTile -import com.android.systemui.qs.tiles.base.interactor.QSTileAvailabilityInteractor -import com.android.systemui.qs.tiles.base.viewmodel.QSTileViewModelFactory -import com.android.systemui.qs.tiles.impl.colorcorrection.domain.ColorCorrectionTileMapper +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileAvailabilityInteractor +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileUIConfig +import com.android.systemui.qs.tiles.base.ui.viewmodel.QSTileViewModel +import com.android.systemui.qs.tiles.base.ui.viewmodel.QSTileViewModelFactory +import com.android.systemui.qs.tiles.base.ui.viewmodel.StubQSTileViewModel import com.android.systemui.qs.tiles.impl.colorcorrection.domain.interactor.ColorCorrectionTileDataInteractor import com.android.systemui.qs.tiles.impl.colorcorrection.domain.interactor.ColorCorrectionUserActionInteractor import com.android.systemui.qs.tiles.impl.colorcorrection.domain.model.ColorCorrectionTileModel -import com.android.systemui.qs.tiles.impl.fontscaling.domain.FontScalingTileMapper +import com.android.systemui.qs.tiles.impl.colorcorrection.ui.mapper.ColorCorrectionTileMapper import com.android.systemui.qs.tiles.impl.fontscaling.domain.interactor.FontScalingTileDataInteractor import com.android.systemui.qs.tiles.impl.fontscaling.domain.interactor.FontScalingTileUserActionInteractor import com.android.systemui.qs.tiles.impl.fontscaling.domain.model.FontScalingTileModel -import com.android.systemui.qs.tiles.impl.hearingdevices.domain.HearingDevicesTileMapper +import com.android.systemui.qs.tiles.impl.fontscaling.ui.mapper.FontScalingTileMapper import com.android.systemui.qs.tiles.impl.hearingdevices.domain.interactor.HearingDevicesTileDataInteractor import com.android.systemui.qs.tiles.impl.hearingdevices.domain.interactor.HearingDevicesTileUserActionInteractor import com.android.systemui.qs.tiles.impl.hearingdevices.domain.model.HearingDevicesTileModel -import com.android.systemui.qs.tiles.impl.inversion.domain.ColorInversionTileMapper +import com.android.systemui.qs.tiles.impl.hearingdevices.ui.mapper.HearingDevicesTileMapper import com.android.systemui.qs.tiles.impl.inversion.domain.interactor.ColorInversionTileDataInteractor import com.android.systemui.qs.tiles.impl.inversion.domain.interactor.ColorInversionUserActionInteractor import com.android.systemui.qs.tiles.impl.inversion.domain.model.ColorInversionTileModel +import com.android.systemui.qs.tiles.impl.inversion.ui.mapper.ColorInversionTileMapper import com.android.systemui.qs.tiles.impl.night.domain.interactor.NightDisplayTileDataInteractor import com.android.systemui.qs.tiles.impl.night.domain.interactor.NightDisplayTileUserActionInteractor import com.android.systemui.qs.tiles.impl.night.domain.model.NightDisplayTileModel -import com.android.systemui.qs.tiles.impl.night.ui.NightDisplayTileMapper +import com.android.systemui.qs.tiles.impl.night.ui.mapper.NightDisplayTileMapper import com.android.systemui.qs.tiles.impl.onehanded.domain.OneHandedModeTileDataInteractor import com.android.systemui.qs.tiles.impl.onehanded.domain.OneHandedModeTileUserActionInteractor import com.android.systemui.qs.tiles.impl.onehanded.domain.model.OneHandedModeTileModel -import com.android.systemui.qs.tiles.impl.onehanded.ui.OneHandedModeTileMapper +import com.android.systemui.qs.tiles.impl.onehanded.ui.mapper.OneHandedModeTileMapper import com.android.systemui.qs.tiles.impl.reducebrightness.domain.interactor.ReduceBrightColorsTileDataInteractor import com.android.systemui.qs.tiles.impl.reducebrightness.domain.interactor.ReduceBrightColorsTileUserActionInteractor import com.android.systemui.qs.tiles.impl.reducebrightness.domain.model.ReduceBrightColorsTileModel -import com.android.systemui.qs.tiles.impl.reducebrightness.ui.ReduceBrightColorsTileMapper -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileUIConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileViewModel -import com.android.systemui.qs.tiles.viewmodel.StubQSTileViewModel +import com.android.systemui.qs.tiles.impl.reducebrightness.ui.mapper.ReduceBrightColorsTileMapper import com.android.systemui.res.R import dagger.Binds import dagger.Module diff --git a/packages/SystemUI/src/com/android/systemui/battery/BatterySaverModule.kt b/packages/SystemUI/src/com/android/systemui/battery/BatterySaverModule.kt index 831bc1da5a79..26d5562a3b30 100644 --- a/packages/SystemUI/src/com/android/systemui/battery/BatterySaverModule.kt +++ b/packages/SystemUI/src/com/android/systemui/battery/BatterySaverModule.kt @@ -5,15 +5,15 @@ import com.android.systemui.qs.pipeline.shared.TileSpec import com.android.systemui.qs.shared.model.TileCategory import com.android.systemui.qs.tileimpl.QSTileImpl import com.android.systemui.qs.tiles.BatterySaverTile -import com.android.systemui.qs.tiles.base.interactor.QSTileAvailabilityInteractor -import com.android.systemui.qs.tiles.base.viewmodel.QSTileViewModelFactory +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileAvailabilityInteractor +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileUIConfig +import com.android.systemui.qs.tiles.base.ui.viewmodel.QSTileViewModel +import com.android.systemui.qs.tiles.base.ui.viewmodel.QSTileViewModelFactory import com.android.systemui.qs.tiles.impl.battery.domain.interactor.BatterySaverTileDataInteractor import com.android.systemui.qs.tiles.impl.battery.domain.interactor.BatterySaverTileUserActionInteractor import com.android.systemui.qs.tiles.impl.battery.domain.model.BatterySaverTileModel -import com.android.systemui.qs.tiles.impl.battery.ui.BatterySaverTileMapper -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileUIConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileViewModel +import com.android.systemui.qs.tiles.impl.battery.ui.mapper.BatterySaverTileMapper import com.android.systemui.res.R import dagger.Binds import dagger.Module @@ -63,7 +63,7 @@ interface BatterySaverModule { factory: QSTileViewModelFactory.Static<BatterySaverTileModel>, mapper: BatterySaverTileMapper, stateInteractor: BatterySaverTileDataInteractor, - userActionInteractor: BatterySaverTileUserActionInteractor + userActionInteractor: BatterySaverTileUserActionInteractor, ): QSTileViewModel = factory.create( TileSpec.create(BATTERY_SAVER_TILE_SPEC), diff --git a/packages/SystemUI/src/com/android/systemui/controls/dagger/ControlsModule.kt b/packages/SystemUI/src/com/android/systemui/controls/dagger/ControlsModule.kt index 037b6facc50d..ba9f52b63d41 100644 --- a/packages/SystemUI/src/com/android/systemui/controls/dagger/ControlsModule.kt +++ b/packages/SystemUI/src/com/android/systemui/controls/dagger/ControlsModule.kt @@ -51,8 +51,9 @@ import com.android.systemui.qs.pipeline.shared.TileSpec import com.android.systemui.qs.shared.model.TileCategory import com.android.systemui.qs.tileimpl.QSTileImpl import com.android.systemui.qs.tiles.DeviceControlsTile -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileUIConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileUIConfig +import com.android.systemui.res.R import dagger.Binds import dagger.BindsOptionalOf import dagger.Module @@ -91,8 +92,8 @@ abstract class ControlsModule { tileSpec = TileSpec.create(DEVICE_CONTROLS_SPEC), uiConfig = QSTileUIConfig.Resource( - iconRes = com.android.systemui.res.R.drawable.controls_icon, - labelRes = com.android.systemui.res.R.string.quick_controls_title + iconRes = R.drawable.controls_icon, + labelRes = R.string.quick_controls_title, ), instanceId = uiEventLogger.getNewInstanceId(), category = TileCategory.UTILITIES, diff --git a/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java b/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java index f08126af0a7a..c201fbf0051b 100644 --- a/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java +++ b/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java @@ -97,11 +97,11 @@ import com.android.systemui.plugins.BcSmartspaceConfigPlugin; import com.android.systemui.plugins.BcSmartspaceDataPlugin; import com.android.systemui.privacy.PrivacyModule; import com.android.systemui.process.condition.SystemProcessCondition; -import com.android.systemui.qrcodescanner.dagger.QRCodeScannerModule; import com.android.systemui.qs.FgsManagerController; import com.android.systemui.qs.FgsManagerControllerImpl; import com.android.systemui.qs.QSFragmentStartableModule; import com.android.systemui.qs.footer.dagger.FooterActionsModule; +import com.android.systemui.qs.tiles.impl.qr.ui.model.QRCodeScannerModule; import com.android.systemui.recents.Recents; import com.android.systemui.recordissue.RecordIssueModule; import com.android.systemui.retail.RetailModeModule; diff --git a/packages/SystemUI/src/com/android/systemui/dreams/dagger/DreamModule.java b/packages/SystemUI/src/com/android/systemui/dreams/dagger/DreamModule.java index 15f73ee0eda6..a56f07e04d21 100644 --- a/packages/SystemUI/src/com/android/systemui/dreams/dagger/DreamModule.java +++ b/packages/SystemUI/src/com/android/systemui/dreams/dagger/DreamModule.java @@ -42,9 +42,9 @@ import com.android.systemui.dreams.homecontrols.system.HomeControlsRemoteService import com.android.systemui.qs.QsEventLogger; import com.android.systemui.qs.pipeline.shared.TileSpec; import com.android.systemui.qs.shared.model.TileCategory; -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig; -import com.android.systemui.qs.tiles.viewmodel.QSTilePolicy; -import com.android.systemui.qs.tiles.viewmodel.QSTileUIConfig; +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig; +import com.android.systemui.qs.tiles.base.shared.model.QSTilePolicy; +import com.android.systemui.qs.tiles.base.shared.model.QSTileUIConfig; import com.android.systemui.res.R; import com.android.systemui.touch.TouchInsetManager; diff --git a/packages/SystemUI/src/com/android/systemui/log/dagger/QSTilesVerboseLog.java b/packages/SystemUI/src/com/android/systemui/log/dagger/QSTilesVerboseLog.java index b0c2f8c59deb..b27a4217d454 100644 --- a/packages/SystemUI/src/com/android/systemui/log/dagger/QSTilesVerboseLog.java +++ b/packages/SystemUI/src/com/android/systemui/log/dagger/QSTilesVerboseLog.java @@ -26,8 +26,7 @@ import java.lang.annotation.Retention; import javax.inject.Qualifier; /** - * A {@link LogBuffer} for QS tiles messages. It's used exclusively in - * {@link com.android.systemui.qs.tiles.base.logging.QSTileLogger} + * A {@link LogBuffer} for QS tiles messages. It's used exclusively in @link QSTileLogger}. */ @Qualifier @Documented diff --git a/packages/SystemUI/src/com/android/systemui/notetask/NoteTaskModule.kt b/packages/SystemUI/src/com/android/systemui/notetask/NoteTaskModule.kt index 5d5465633f9f..fb3271e57b08 100644 --- a/packages/SystemUI/src/com/android/systemui/notetask/NoteTaskModule.kt +++ b/packages/SystemUI/src/com/android/systemui/notetask/NoteTaskModule.kt @@ -32,16 +32,16 @@ import com.android.systemui.qs.pipeline.shared.TileSpec import com.android.systemui.qs.shared.model.TileCategory import com.android.systemui.qs.tileimpl.QSTileImpl import com.android.systemui.qs.tiles.NotesTile -import com.android.systemui.qs.tiles.base.interactor.QSTileAvailabilityInteractor -import com.android.systemui.qs.tiles.base.viewmodel.QSTileViewModelFactory -import com.android.systemui.qs.tiles.impl.notes.domain.NotesTileMapper +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileAvailabilityInteractor +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileUIConfig +import com.android.systemui.qs.tiles.base.ui.viewmodel.QSTileViewModel +import com.android.systemui.qs.tiles.base.ui.viewmodel.QSTileViewModelFactory +import com.android.systemui.qs.tiles.base.ui.viewmodel.StubQSTileViewModel import com.android.systemui.qs.tiles.impl.notes.domain.interactor.NotesTileDataInteractor import com.android.systemui.qs.tiles.impl.notes.domain.interactor.NotesTileUserActionInteractor import com.android.systemui.qs.tiles.impl.notes.domain.model.NotesTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileUIConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileViewModel -import com.android.systemui.qs.tiles.viewmodel.StubQSTileViewModel +import com.android.systemui.qs.tiles.impl.notes.ui.mapper.NotesTileMapper import com.android.systemui.res.R import dagger.Binds import dagger.Module diff --git a/packages/SystemUI/src/com/android/systemui/qs/dagger/QSModuleBase.kt b/packages/SystemUI/src/com/android/systemui/qs/dagger/QSModuleBase.kt index e2a39160defc..f1193fa11dce 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/dagger/QSModuleBase.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/dagger/QSModuleBase.kt @@ -24,7 +24,7 @@ import com.android.systemui.qs.external.QSExternalModule import com.android.systemui.qs.panels.dagger.PanelsModule import com.android.systemui.qs.pipeline.dagger.QSPipelineModule import com.android.systemui.qs.tileimpl.QSTileImpl -import com.android.systemui.qs.tiles.di.QSTilesModule +import com.android.systemui.qs.tiles.base.ui.model.QSTilesModule import com.android.systemui.qs.ui.adapter.QSSceneAdapter import com.android.systemui.qs.ui.adapter.QSSceneAdapterImpl import dagger.Binds diff --git a/packages/SystemUI/src/com/android/systemui/qs/panels/domain/interactor/EditTilesListInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/panels/domain/interactor/EditTilesListInteractor.kt index a2cee3b68d49..ec0a754d8f1f 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/panels/domain/interactor/EditTilesListInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/panels/domain/interactor/EditTilesListInteractor.kt @@ -25,7 +25,7 @@ import com.android.systemui.qs.panels.data.repository.StockTilesRepository import com.android.systemui.qs.panels.domain.model.EditTilesModel import com.android.systemui.qs.panels.shared.model.EditTileData import com.android.systemui.qs.shared.model.TileCategory -import com.android.systemui.qs.tiles.viewmodel.QSTileConfigProvider +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfigProvider import javax.inject.Inject @SysUISingleton @@ -50,7 +50,7 @@ constructor( it, Icon.Resource( config.uiConfig.iconRes, - ContentDescription.Resource(config.uiConfig.labelRes) + ContentDescription.Resource(config.uiConfig.labelRes), ), Text.Resource(config.uiConfig.labelRes), null, @@ -61,7 +61,7 @@ constructor( it, Icon.Resource( android.R.drawable.star_on, - ContentDescription.Loaded(it.spec) + ContentDescription.Loaded(it.spec), ), Text.Loaded(it.spec), null, diff --git a/packages/SystemUI/src/com/android/systemui/qs/panels/domain/interactor/NewTilesAvailabilityInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/panels/domain/interactor/NewTilesAvailabilityInteractor.kt index 00cd96ce37cb..46a6e4a90c57 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/panels/domain/interactor/NewTilesAvailabilityInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/panels/domain/interactor/NewTilesAvailabilityInteractor.kt @@ -19,14 +19,14 @@ package com.android.systemui.qs.panels.domain.interactor import android.os.UserHandle import com.android.systemui.dagger.SysUISingleton import com.android.systemui.qs.pipeline.shared.TileSpec -import com.android.systemui.qs.tiles.base.interactor.QSTileAvailabilityInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileAvailabilityInteractor import com.android.systemui.user.data.repository.UserRepository import com.android.systemui.utils.coroutines.flow.flatMapLatestConflated +import javax.inject.Inject import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.flow.map -import javax.inject.Inject /** * Uses the [QSTileAvailabilityInteractor] from the new tiles to provide a map of availability, for @@ -38,23 +38,26 @@ import javax.inject.Inject class NewTilesAvailabilityInteractor @Inject constructor( - private val availabilityInteractors: - Map<String, @JvmSuppressWildcards QSTileAvailabilityInteractor>, - userRepository: UserRepository, + private val availabilityInteractors: + Map<String, @JvmSuppressWildcards QSTileAvailabilityInteractor>, + userRepository: UserRepository, ) { val newTilesAvailable: Flow<Map<TileSpec, Boolean>> = - userRepository.selectedUserInfo.map { it.id } - .flatMapLatestConflated { userId -> - if (availabilityInteractors.isEmpty()) { - flowOf(emptyMap()) - } else { - combine(availabilityInteractors.map { (spec, interactor) -> - interactor.availability(UserHandle.of(userId)).map { - TileSpec.create(spec) to it - } - }) { - it.toMap() + userRepository.selectedUserInfo + .map { it.id } + .flatMapLatestConflated { userId -> + if (availabilityInteractors.isEmpty()) { + flowOf(emptyMap()) + } else { + combine( + availabilityInteractors.map { (spec, interactor) -> + interactor.availability(UserHandle.of(userId)).map { + TileSpec.create(spec) to it } } + ) { + it.toMap() } + } + } } diff --git a/packages/SystemUI/src/com/android/systemui/qs/pipeline/dagger/QSPipelineModule.kt b/packages/SystemUI/src/com/android/systemui/qs/pipeline/dagger/QSPipelineModule.kt index 16aa99e22ae2..f155629e093f 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/pipeline/dagger/QSPipelineModule.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/pipeline/dagger/QSPipelineModule.kt @@ -35,8 +35,8 @@ import com.android.systemui.qs.pipeline.domain.interactor.CurrentTilesInteractor import com.android.systemui.qs.pipeline.domain.interactor.CurrentTilesInteractorImpl import com.android.systemui.qs.pipeline.domain.startable.QSPipelineCoreStartable import com.android.systemui.qs.pipeline.shared.logging.QSPipelineLogger -import com.android.systemui.qs.tiles.base.interactor.DisabledByPolicyInteractor -import com.android.systemui.qs.tiles.base.interactor.DisabledByPolicyInteractorImpl +import com.android.systemui.qs.tiles.base.domain.interactor.DisabledByPolicyInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.DisabledByPolicyInteractorImpl import dagger.Binds import dagger.Module import dagger.Provides diff --git a/packages/SystemUI/src/com/android/systemui/qs/pipeline/domain/interactor/CurrentTilesInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/pipeline/domain/interactor/CurrentTilesInteractor.kt index c70a854a2ca0..a3846e3a5903 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/pipeline/domain/interactor/CurrentTilesInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/pipeline/domain/interactor/CurrentTilesInteractor.kt @@ -42,7 +42,7 @@ import com.android.systemui.qs.pipeline.domain.model.TileModel import com.android.systemui.qs.pipeline.shared.QSPipelineFlagsRepository import com.android.systemui.qs.pipeline.shared.TileSpec import com.android.systemui.qs.pipeline.shared.logging.QSPipelineLogger -import com.android.systemui.qs.tiles.di.NewQSTileFactory +import com.android.systemui.qs.tiles.base.ui.model.NewQSTileFactory import com.android.systemui.qs.toProto import com.android.systemui.retail.data.repository.RetailModeRepository import com.android.systemui.settings.UserTracker diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/ModesDndTile.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/ModesDndTile.kt index eb53d81b674f..43e3de2040d7 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/ModesDndTile.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/ModesDndTile.kt @@ -39,12 +39,12 @@ import com.android.systemui.qs.QsEventLogger import com.android.systemui.qs.asQSTileIcon import com.android.systemui.qs.logging.QSLogger import com.android.systemui.qs.tileimpl.QSTileImpl +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfigProvider +import com.android.systemui.qs.tiles.base.shared.model.QSTileState import com.android.systemui.qs.tiles.impl.modes.domain.interactor.ModesDndTileDataInteractor import com.android.systemui.qs.tiles.impl.modes.domain.interactor.ModesDndTileUserActionInteractor import com.android.systemui.qs.tiles.impl.modes.domain.model.ModesDndTileModel import com.android.systemui.qs.tiles.impl.modes.ui.ModesDndTileMapper -import com.android.systemui.qs.tiles.viewmodel.QSTileConfigProvider -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import javax.inject.Inject import kotlinx.coroutines.runBlocking diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/ModesTile.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/ModesTile.kt index ad5dd27f07c2..fcfa46f07ab4 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/ModesTile.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/ModesTile.kt @@ -42,13 +42,13 @@ import com.android.systemui.qs.QsEventLogger import com.android.systemui.qs.asQSTileIcon import com.android.systemui.qs.logging.QSLogger import com.android.systemui.qs.tileimpl.QSTileImpl +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfigProvider +import com.android.systemui.qs.tiles.base.shared.model.QSTileState import com.android.systemui.qs.tiles.dialog.ModesDetailsViewModel import com.android.systemui.qs.tiles.impl.modes.domain.interactor.ModesTileDataInteractor import com.android.systemui.qs.tiles.impl.modes.domain.interactor.ModesTileUserActionInteractor import com.android.systemui.qs.tiles.impl.modes.domain.model.ModesTileModel -import com.android.systemui.qs.tiles.impl.modes.ui.ModesTileMapper -import com.android.systemui.qs.tiles.viewmodel.QSTileConfigProvider -import com.android.systemui.qs.tiles.viewmodel.QSTileState +import com.android.systemui.qs.tiles.impl.modes.ui.mapper.ModesTileMapper import com.android.systemui.res.R import com.android.systemui.statusbar.policy.ui.dialog.viewmodel.ModesDialogViewModel import javax.inject.Inject diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/NotesTile.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/NotesTile.kt index 5ba1527dbf69..c021b2270b7b 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/NotesTile.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/NotesTile.kt @@ -33,12 +33,12 @@ import com.android.systemui.qs.QSHost import com.android.systemui.qs.QsEventLogger import com.android.systemui.qs.logging.QSLogger import com.android.systemui.qs.tileimpl.QSTileImpl -import com.android.systemui.qs.tiles.impl.notes.domain.NotesTileMapper +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfigProvider +import com.android.systemui.qs.tiles.base.shared.model.QSTileState import com.android.systemui.qs.tiles.impl.notes.domain.interactor.NotesTileDataInteractor import com.android.systemui.qs.tiles.impl.notes.domain.interactor.NotesTileUserActionInteractor import com.android.systemui.qs.tiles.impl.notes.domain.model.NotesTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileConfigProvider -import com.android.systemui.qs.tiles.viewmodel.QSTileState +import com.android.systemui.qs.tiles.impl.notes.ui.mapper.NotesTileMapper import com.android.systemui.res.R import javax.inject.Inject diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/actions/QSTileIntentUserInputHandler.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/domain/actions/QSTileIntentUserInputHandler.kt index 972b20e138d9..386e1a448611 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/actions/QSTileIntentUserInputHandler.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/domain/actions/QSTileIntentUserInputHandler.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.base.actions +package com.android.systemui.qs.tiles.base.domain.actions import android.app.PendingIntent import android.content.Intent @@ -36,14 +36,14 @@ interface QSTileIntentUserInputHandler { fun handle( expandable: Expandable?, intent: Intent, - dismissShadeShowOverLockScreenWhenLocked: Boolean = false + dismissShadeShowOverLockScreenWhenLocked: Boolean = false, ) /** @param requestLaunchingDefaultActivity used in case !pendingIndent.isActivity */ fun handle( expandable: Expandable?, pendingIntent: PendingIntent, - requestLaunchingDefaultActivity: Boolean = false + requestLaunchingDefaultActivity: Boolean = false, ) } @@ -59,7 +59,7 @@ constructor( override fun handle( expandable: Expandable?, intent: Intent, - dismissShadeShowOverLockScreenWhenLocked: Boolean + dismissShadeShowOverLockScreenWhenLocked: Boolean, ) { val animationController: ActivityTransitionAnimator.Controller? = expandable?.activityTransitionController( @@ -70,7 +70,7 @@ constructor( intent, true /* dismissShade */, animationController, - true /* showOverLockscreenWhenLocked */ + true, /* showOverLockscreenWhenLocked */ ) } else { activityStarter.postStartActivityDismissingKeyguard(intent, 0, animationController) @@ -81,7 +81,7 @@ constructor( override fun handle( expandable: Expandable?, pendingIntent: PendingIntent, - requestLaunchingDefaultActivity: Boolean + requestLaunchingDefaultActivity: Boolean, ) { if (pendingIntent.isActivity) { val animationController: ActivityTransitionAnimator.Controller? = @@ -101,7 +101,7 @@ constructor( packageManager.queryIntentActivitiesAsUser( intent, PackageManager.ResolveInfoFlags.of(0L), - userHandle.identifier + userHandle.identifier, ) intents .firstOrNull { it.activityInfo.exported } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/interactor/DisabledByPolicyInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/domain/interactor/DisabledByPolicyInteractor.kt index 45775272e01f..da4d3d408c84 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/interactor/DisabledByPolicyInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/domain/interactor/DisabledByPolicyInteractor.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.base.interactor +package com.android.systemui.qs.tiles.base.domain.interactor import android.content.Context import android.os.UserHandle @@ -26,7 +26,7 @@ import com.android.settingslib.RestrictedLockUtilsInternal import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.plugins.ActivityStarter -import com.android.systemui.qs.tiles.base.interactor.DisabledByPolicyInteractor.PolicyResult +import com.android.systemui.qs.tiles.base.domain.interactor.DisabledByPolicyInteractor.PolicyResult import com.android.systemui.shade.ShadeDisplayAware import javax.inject.Inject import kotlinx.coroutines.CoroutineDispatcher @@ -110,17 +110,9 @@ class RestrictedLockProxy @Inject constructor(@ShadeDisplayAware private val con @WorkerThread fun hasBaseUserRestriction(userId: Int, userRestriction: String?): Boolean = - RestrictedLockUtilsInternal.hasBaseUserRestriction( - context, - userRestriction, - userId, - ) + RestrictedLockUtilsInternal.hasBaseUserRestriction(context, userRestriction, userId) @WorkerThread fun getEnforcedAdmin(userId: Int, userRestriction: String?): EnforcedAdmin? = - RestrictedLockUtilsInternal.checkIfRestrictionEnforced( - context, - userRestriction, - userId, - ) + RestrictedLockUtilsInternal.checkIfRestrictionEnforced(context, userRestriction, userId) } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/interactor/QSTileDataInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/domain/interactor/QSTileDataInteractor.kt index 9a776f2832d4..1eb5315a5512 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/interactor/QSTileDataInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/domain/interactor/QSTileDataInteractor.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,9 +14,10 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.base.interactor +package com.android.systemui.qs.tiles.base.domain.interactor import android.os.UserHandle +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flowOf @@ -49,10 +50,11 @@ interface QSTileAvailabilityInteractor { fun availability(user: UserHandle): Flow<Boolean> companion object { - val AlwaysAvailableInteractor = object : QSTileAvailabilityInteractor { - override fun availability(user: UserHandle): Flow<Boolean> { - return flowOf(true) + val AlwaysAvailableInteractor = + object : QSTileAvailabilityInteractor { + override fun availability(user: UserHandle): Flow<Boolean> { + return flowOf(true) + } } - } } } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/interactor/QSTileUserActionInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/domain/interactor/QSTileUserActionInteractor.kt index 8ad4e16291c2..e49616c8326f 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/interactor/QSTileUserActionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/domain/interactor/QSTileUserActionInteractor.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,10 +14,10 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.base.interactor +package com.android.systemui.qs.tiles.base.domain.interactor import android.annotation.WorkerThread -import com.android.systemui.plugins.qs.TileDetailsViewModel +import com.android.systemui.qs.tiles.base.domain.model.QSTileInput interface QSTileUserActionInteractor<DATA_TYPE> { /** diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/interactor/DataUpdateTrigger.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/domain/model/DataUpdateTrigger.kt index 4f25d3cde6c3..a77e551a4a33 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/interactor/DataUpdateTrigger.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/domain/model/DataUpdateTrigger.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.base.interactor +package com.android.systemui.qs.tiles.base.domain.model /** Event that triggers data update */ sealed interface DataUpdateTrigger { diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/interactor/QSTileInput.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/domain/model/QSTileInput.kt index 77ff6092063f..59236be8ebab 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/interactor/QSTileInput.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/domain/model/QSTileInput.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,14 +14,10 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.base.interactor +package com.android.systemui.qs.tiles.base.domain.model import android.os.UserHandle -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction /** @see QSTileUserActionInteractor.handleInput */ -data class QSTileInput<T>( - val user: UserHandle, - val action: QSTileUserAction, - val data: T, -) +data class QSTileInput<T>(val user: UserHandle, val action: QSTileUserAction, val data: T) diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/logging/QSTileLogger.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/shared/logging/QSTileLogger.kt index 8ec8a6d1e730..04d40eeb3800 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/logging/QSTileLogger.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/shared/logging/QSTileLogger.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.base.logging +package com.android.systemui.qs.tiles.base.shared.logging import androidx.annotation.GuardedBy import com.android.systemui.dagger.SysUISingleton @@ -24,8 +24,8 @@ import com.android.systemui.log.core.LogLevel import com.android.systemui.log.dagger.QSTilesLogBuffers import com.android.systemui.plugins.statusbar.StatusBarStateController import com.android.systemui.qs.pipeline.shared.TileSpec -import com.android.systemui.qs.tiles.viewmodel.QSTileState -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction import com.android.systemui.statusbar.StatusBarState import javax.inject.Inject @@ -65,22 +65,19 @@ constructor( "statusBarState=${StatusBarState.toString(int1)}, " + "hasState=$bool1, " + "hasData=$bool2" - } + }, ) } /** Tracks user action when it's rejected by false gestures */ - fun logUserActionRejectedByFalsing( - userAction: QSTileUserAction, - tileSpec: TileSpec, - ) { + fun logUserActionRejectedByFalsing(userAction: QSTileUserAction, tileSpec: TileSpec) { tileSpec .getLogBuffer() .log( tileSpec.getLogTag(), LogLevel.DEBUG, { str1 = userAction.toLogString() }, - { "tile $str1: rejected by falsing" } + { "tile $str1: rejected by falsing" }, ) } @@ -96,7 +93,7 @@ constructor( tileSpec.getLogTag(), LogLevel.DEBUG, { str1 = userAction.toLogString() }, - { "tile $str1: rejected by policy, restriction: $restriction" } + { "tile $str1: rejected by policy, restriction: $restriction" }, ) } @@ -124,7 +121,7 @@ constructor( "statusBarState=${StatusBarState.toString(int1)}, " + "state=$str2, " + "data=$str3" - } + }, ) } @@ -141,11 +138,7 @@ constructor( } /** Tracks state changes based on the data and trigger event. */ - fun <T> logStateUpdate( - tileSpec: TileSpec, - tileState: QSTileState, - data: T, - ) { + fun <T> logStateUpdate(tileSpec: TileSpec, tileState: QSTileState, data: T) { tileSpec .getLogBuffer() .log( @@ -155,41 +148,23 @@ constructor( str1 = tileState.toLogString() str2 = data.toString().take(DATA_MAX_LENGTH) }, - { "tile state update: state=$str1, data=$str2" } + { "tile state update: state=$str1, data=$str2" }, ) } - fun logError( - tileSpec: TileSpec, - message: String, - error: Throwable, - ) { - tileSpec - .getLogBuffer() - .log( - tileSpec.getLogTag(), - LogLevel.ERROR, - {}, - { message }, - error, - ) + fun logError(tileSpec: TileSpec, message: String, error: Throwable) { + tileSpec.getLogBuffer().log(tileSpec.getLogTag(), LogLevel.ERROR, {}, { message }, error) } /** Log with level [LogLevel.WARNING] */ - fun logWarning( - tileSpec: TileSpec, - message: String, - ) { + fun logWarning(tileSpec: TileSpec, message: String) { tileSpec .getLogBuffer() .log(tileSpec.getLogTag(), LogLevel.WARNING, { str1 = message }, { str1!! }) } /** Log with level [LogLevel.INFO] */ - fun logInfo( - tileSpec: TileSpec, - message: String, - ) { + fun logInfo(tileSpec: TileSpec, message: String) { tileSpec .getLogBuffer() .log(tileSpec.getLogTag(), LogLevel.INFO, { str1 = message }, { str1!! }) @@ -214,7 +189,7 @@ constructor( factory.create( this.getLogTag(), BUFFER_MAX_SIZE /* maxSize */, - false /* systrace */ + false, /* systrace */ ) } } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/QSTileConfig.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/shared/model/QSTileConfig.kt index 3a9cb170040c..7c2a08f6c4a2 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/QSTileConfig.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/shared/model/QSTileConfig.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.viewmodel +package com.android.systemui.qs.tiles.base.shared.model import android.content.res.Resources import androidx.annotation.DrawableRes diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/QSTileConfigProvider.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/shared/model/QSTileConfigProvider.kt index 4dbddd91092a..e2d1605ca1fa 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/QSTileConfigProvider.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/shared/model/QSTileConfigProvider.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.viewmodel +package com.android.systemui.qs.tiles.base.shared.model import com.android.internal.util.Preconditions import com.android.systemui.dagger.SysUISingleton @@ -51,7 +51,7 @@ constructor( val keyTileSpec = entry.key Preconditions.checkArgument( configTileSpec == keyTileSpec, - "A wrong config is injected keySpec=$keyTileSpec configSpec=$configTileSpec" + "A wrong config is injected keySpec=$keyTileSpec configSpec=$configTileSpec", ) } } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/viewmodel/QSTileCoroutineScopeFactory.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/shared/model/QSTileCoroutineScopeFactory.kt index 5f476ea7e274..018a06f94190 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/viewmodel/QSTileCoroutineScopeFactory.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/shared/model/QSTileCoroutineScopeFactory.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.base.viewmodel +package com.android.systemui.qs.tiles.base.shared.model import com.android.systemui.coroutines.newTracingContext import com.android.systemui.dagger.qualifiers.Background diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/di/QSTileScope.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/shared/model/QSTileScope.kt index a412de364c19..a0caedb21d29 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/di/QSTileScope.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/shared/model/QSTileScope.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.di +package com.android.systemui.qs.tiles.base.shared.model import javax.inject.Scope diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/QSTileState.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/shared/model/QSTileState.kt index c6af729cd4a7..5a19eae73d5e 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/QSTileState.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/shared/model/QSTileState.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.viewmodel +package com.android.systemui.qs.tiles.base.shared.model import android.content.res.Resources import android.content.res.Resources.Theme diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/QSTileUserAction.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/shared/model/QSTileUserAction.kt index bf3bc73cf72e..bbf04f63fa49 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/QSTileUserAction.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/shared/model/QSTileUserAction.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.viewmodel +package com.android.systemui.qs.tiles.base.shared.model import com.android.systemui.animation.Expandable diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/analytics/QSTileAnalytics.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/ui/analytics/QSTileAnalytics.kt index 1d427775dad6..86991485de9d 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/analytics/QSTileAnalytics.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/ui/analytics/QSTileAnalytics.kt @@ -14,22 +14,18 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.base.analytics +package com.android.systemui.qs.tiles.base.ui.analytics import com.android.internal.logging.UiEventLogger import com.android.systemui.dagger.SysUISingleton import com.android.systemui.qs.QSEvent -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction import javax.inject.Inject /** Tracks QS tiles analytic events to [UiEventLogger]. */ @SysUISingleton -class QSTileAnalytics -@Inject -constructor( - private val uiEventLogger: UiEventLogger, -) { +class QSTileAnalytics @Inject constructor(private val uiEventLogger: UiEventLogger) { fun trackUserAction(config: QSTileConfig, action: QSTileUserAction) { logAction(config, action) diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/di/NewQSTileFactory.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/ui/model/NewQSTileFactory.kt index f65fdb540527..fca7abef5d32 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/di/NewQSTileFactory.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/ui/model/NewQSTileFactory.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,18 +14,18 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.di +package com.android.systemui.qs.tiles.base.ui.model import com.android.systemui.dagger.SysUISingleton import com.android.systemui.plugins.qs.QSFactory import com.android.systemui.plugins.qs.QSTile import com.android.systemui.qs.pipeline.shared.QSPipelineFlagsRepository import com.android.systemui.qs.pipeline.shared.TileSpec -import com.android.systemui.qs.tiles.base.viewmodel.QSTileViewModelFactory -import com.android.systemui.qs.tiles.viewmodel.QSTileConfigProvider -import com.android.systemui.qs.tiles.viewmodel.QSTileViewModel -import com.android.systemui.qs.tiles.viewmodel.QSTileViewModelAdapter -import com.android.systemui.qs.tiles.viewmodel.StubQSTileViewModel +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfigProvider +import com.android.systemui.qs.tiles.base.ui.viewmodel.QSTileViewModel +import com.android.systemui.qs.tiles.base.ui.viewmodel.QSTileViewModelAdapter +import com.android.systemui.qs.tiles.base.ui.viewmodel.QSTileViewModelFactory +import com.android.systemui.qs.tiles.base.ui.viewmodel.StubQSTileViewModel import javax.inject.Inject import javax.inject.Provider @@ -58,8 +58,7 @@ constructor( is TileSpec.PlatformTileSpec -> tileMap[tileSpec]?.get()?.takeIf { it !is StubQSTileViewModel } is TileSpec.Invalid -> null - } - ?: return null + } ?: return null return adapterFactory.create(viewModel) } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/di/QSTileComponent.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/ui/model/QSTileComponent.kt index 5f692f2f5a73..f63c2db70131 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/di/QSTileComponent.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/ui/model/QSTileComponent.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,12 +14,11 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.di +package com.android.systemui.qs.tiles.base.ui.model -import com.android.systemui.plugins.qs.TileDetailsViewModel -import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper -import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.shared.model.QSTileScope import kotlinx.coroutines.CoroutineScope /** diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/interactor/QSTileDataToStateMapper.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/ui/model/QSTileDataToStateMapper.kt index 2bc664311644..7be2ed114130 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/interactor/QSTileDataToStateMapper.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/ui/model/QSTileDataToStateMapper.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,11 +14,11 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.base.interactor +package com.android.systemui.qs.tiles.base.ui.model import androidx.annotation.WorkerThread -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileState interface QSTileDataToStateMapper<DATA_TYPE> { diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/di/QSTilesModule.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/ui/model/QSTilesModule.kt index 222fa3efbe94..6b31539f1a03 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/di/QSTilesModule.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/ui/model/QSTilesModule.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,20 +14,20 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.di +package com.android.systemui.qs.tiles.base.ui.model import android.content.Context import android.content.res.Resources.Theme import com.android.systemui.qs.external.CustomTileStatePersister import com.android.systemui.qs.external.CustomTileStatePersisterImpl -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandlerImpl -import com.android.systemui.qs.tiles.base.interactor.QSTileAvailabilityInteractor -import com.android.systemui.qs.tiles.impl.custom.di.CustomTileComponent -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileConfigProvider -import com.android.systemui.qs.tiles.viewmodel.QSTileConfigProviderImpl -import com.android.systemui.qs.tiles.viewmodel.QSTileViewModel +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandlerImpl +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileAvailabilityInteractor +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfigProvider +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfigProviderImpl +import com.android.systemui.qs.tiles.base.ui.viewmodel.QSTileViewModel +import com.android.systemui.qs.tiles.impl.custom.ui.model.CustomTileComponent import com.android.systemui.shade.ShadeDisplayAware import dagger.Binds import dagger.Module @@ -35,12 +35,7 @@ import dagger.Provides import dagger.multibindings.Multibinds /** Module listing subcomponents */ -@Module( - subcomponents = - [ - CustomTileComponent::class, - ] -) +@Module(subcomponents = [CustomTileComponent::class]) interface QSTilesModule { /** diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModel.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/ui/viewmodel/QSTileViewModel.kt index 7a533883444e..51ebf149ea23 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/ui/viewmodel/QSTileViewModel.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,10 +14,13 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.viewmodel +package com.android.systemui.qs.tiles.base.ui.viewmodel import android.os.UserHandle import com.android.systemui.plugins.qs.TileDetailsViewModel +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction import kotlinx.coroutines.flow.StateFlow /** diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModelAdapter.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/ui/viewmodel/QSTileViewModelAdapter.kt index e607eae8f38d..f604de654085 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModelAdapter.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/ui/viewmodel/QSTileViewModelAdapter.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.viewmodel +package com.android.systemui.qs.tiles.base.ui.viewmodel import android.content.Context import android.os.UserHandle @@ -31,6 +31,10 @@ import com.android.systemui.qs.QSHost import com.android.systemui.qs.tileimpl.QSTileImpl.DrawableIcon import com.android.systemui.qs.tileimpl.QSTileImpl.DrawableIconWithRes import com.android.systemui.qs.tileimpl.QSTileImpl.ResourceIcon +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.shared.model.QSTileUIConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction import dagger.assisted.Assisted import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/viewmodel/QSTileViewModelFactory.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/ui/viewmodel/QSTileViewModelFactory.kt index 7f475f31b940..7404710f7e4d 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/viewmodel/QSTileViewModelFactory.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/ui/viewmodel/QSTileViewModelFactory.kt @@ -14,26 +14,25 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.base.viewmodel +package com.android.systemui.qs.tiles.base.ui.viewmodel import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.dagger.qualifiers.UiBackground import com.android.systemui.plugins.FalsingManager import com.android.systemui.plugins.qs.TileDetailsViewModel import com.android.systemui.qs.pipeline.shared.TileSpec -import com.android.systemui.qs.tiles.base.analytics.QSTileAnalytics -import com.android.systemui.qs.tiles.base.interactor.DisabledByPolicyInteractor -import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper -import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor -import com.android.systemui.qs.tiles.base.logging.QSTileLogger -import com.android.systemui.qs.tiles.impl.custom.di.CustomTileComponent -import com.android.systemui.qs.tiles.impl.custom.di.QSTileConfigModule -import com.android.systemui.qs.tiles.impl.custom.domain.entity.CustomTileDataModel -import com.android.systemui.qs.tiles.impl.di.QSTileComponent -import com.android.systemui.qs.tiles.viewmodel.QSTileConfigProvider -import com.android.systemui.qs.tiles.viewmodel.QSTileState -import com.android.systemui.qs.tiles.viewmodel.QSTileViewModel +import com.android.systemui.qs.tiles.base.domain.interactor.DisabledByPolicyInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.shared.logging.QSTileLogger +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfigProvider +import com.android.systemui.qs.tiles.base.shared.model.QSTileCoroutineScopeFactory +import com.android.systemui.qs.tiles.base.ui.analytics.QSTileAnalytics +import com.android.systemui.qs.tiles.base.ui.model.QSTileComponent +import com.android.systemui.qs.tiles.base.ui.model.QSTileDataToStateMapper +import com.android.systemui.qs.tiles.impl.custom.domain.model.CustomTileDataModel +import com.android.systemui.qs.tiles.impl.custom.shared.model.QSTileConfigModule +import com.android.systemui.qs.tiles.impl.custom.ui.model.CustomTileComponent import com.android.systemui.user.data.repository.UserRepository import com.android.systemui.util.time.SystemClock import javax.inject.Inject diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/viewmodel/QSTileViewModelImpl.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/ui/viewmodel/QSTileViewModelImpl.kt index 3866c17b655f..f8723e422fe3 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/viewmodel/QSTileViewModelImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/ui/viewmodel/QSTileViewModelImpl.kt @@ -14,26 +14,26 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.base.viewmodel +package com.android.systemui.qs.tiles.base.ui.viewmodel +import android.annotation.SuppressLint import android.os.UserHandle import com.android.app.tracing.coroutines.launchTraced as launch import com.android.systemui.Dumpable import com.android.systemui.plugins.FalsingManager import com.android.systemui.plugins.qs.TileDetailsViewModel -import com.android.systemui.qs.tiles.base.analytics.QSTileAnalytics -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger -import com.android.systemui.qs.tiles.base.interactor.DisabledByPolicyInteractor -import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper -import com.android.systemui.qs.tiles.base.interactor.QSTileInput -import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor -import com.android.systemui.qs.tiles.base.logging.QSTileLogger -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTilePolicy -import com.android.systemui.qs.tiles.viewmodel.QSTileState -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction -import com.android.systemui.qs.tiles.viewmodel.QSTileViewModel +import com.android.systemui.qs.tiles.base.domain.interactor.DisabledByPolicyInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger +import com.android.systemui.qs.tiles.base.domain.model.QSTileInput +import com.android.systemui.qs.tiles.base.shared.logging.QSTileLogger +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTilePolicy +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction +import com.android.systemui.qs.tiles.base.ui.analytics.QSTileAnalytics +import com.android.systemui.qs.tiles.base.ui.model.QSTileDataToStateMapper import com.android.systemui.user.data.repository.UserRepository import com.android.systemui.util.kotlin.throttle import com.android.systemui.util.time.SystemClock @@ -89,8 +89,10 @@ class QSTileViewModelImpl<DATA_TYPE>( private val users: MutableStateFlow<UserHandle> = MutableStateFlow(userRepository.getSelectedUserInfo().userHandle) + @SuppressLint("SharedFlowCreation") private val userInputs: MutableSharedFlow<QSTileUserAction> = MutableSharedFlow() + @SuppressLint("SharedFlowCreation") private val forceUpdates: MutableSharedFlow<Unit> = MutableSharedFlow() private val spec get() = config.tileSpec diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/StubQSTileViewModel.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/ui/viewmodel/StubQSTileViewModel.kt index bdd5c73779cf..304b8042aa83 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/StubQSTileViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/ui/viewmodel/StubQSTileViewModel.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2024 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,9 +14,12 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.viewmodel +package com.android.systemui.qs.tiles.base.ui.viewmodel import android.os.UserHandle +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction import kotlinx.coroutines.flow.StateFlow object StubQSTileViewModel : QSTileViewModel { diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDetailsViewModel.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDetailsViewModel.kt index fb63bea4fb9f..8dc73e351703 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDetailsViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDetailsViewModel.kt @@ -19,7 +19,7 @@ package com.android.systemui.qs.tiles.dialog import android.content.Intent import android.provider.Settings import com.android.systemui.plugins.qs.TileDetailsViewModel -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandler import com.android.systemui.statusbar.connectivity.AccessPointController import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/airplane/domain/interactor/AirplaneModeTileDataInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/airplane/domain/interactor/AirplaneModeTileDataInteractor.kt index 4f01a04fb742..63dd9b31326c 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/airplane/domain/interactor/AirplaneModeTileDataInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/airplane/domain/interactor/AirplaneModeTileDataInteractor.kt @@ -17,8 +17,8 @@ package com.android.systemui.qs.tiles.impl.airplane.domain.interactor import android.os.UserHandle -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger -import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.airplane.domain.model.AirplaneModeTileModel import com.android.systemui.statusbar.pipeline.airplane.data.repository.AirplaneModeRepository import javax.inject.Inject @@ -29,13 +29,12 @@ import kotlinx.coroutines.flow.map /** Observes airplane mode state changes providing the [AirplaneModeTileModel]. */ class AirplaneModeTileDataInteractor @Inject -constructor( - private val airplaneModeRepository: AirplaneModeRepository, -) : QSTileDataInteractor<AirplaneModeTileModel> { +constructor(private val airplaneModeRepository: AirplaneModeRepository) : + QSTileDataInteractor<AirplaneModeTileModel> { override fun tileData( user: UserHandle, - triggers: Flow<DataUpdateTrigger> + triggers: Flow<DataUpdateTrigger>, ): Flow<AirplaneModeTileModel> = airplaneModeRepository.isAirplaneMode.map { AirplaneModeTileModel(it) } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/airplane/domain/interactor/AirplaneModeTileUserActionInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/airplane/domain/interactor/AirplaneModeTileUserActionInteractor.kt index 50532918b170..e86d95150139 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/airplane/domain/interactor/AirplaneModeTileUserActionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/airplane/domain/interactor/AirplaneModeTileUserActionInteractor.kt @@ -19,11 +19,11 @@ package com.android.systemui.qs.tiles.impl.airplane.domain.interactor import android.content.Intent import android.provider.Settings import android.telephony.TelephonyManager -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.interactor.QSTileInput -import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.model.QSTileInput +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction import com.android.systemui.qs.tiles.impl.airplane.domain.model.AirplaneModeTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction import com.android.systemui.statusbar.pipeline.airplane.domain.interactor.AirplaneModeInteractor import javax.inject.Inject @@ -54,7 +54,7 @@ constructor( is QSTileUserAction.LongClick -> { qsTileIntentUserActionHandler.handle( action.expandable, - Intent(Settings.ACTION_AIRPLANE_MODE_SETTINGS) + Intent(Settings.ACTION_AIRPLANE_MODE_SETTINGS), ) } is QSTileUserAction.ToggleClick -> {} diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/airplane/domain/AirplaneModeMapper.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/airplane/ui/mapper/AirplaneModeTileMapper.kt index 80d429ce2716..b0b7b4e2659b 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/airplane/domain/AirplaneModeMapper.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/airplane/ui/mapper/AirplaneModeTileMapper.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,21 +14,21 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.airplane.domain +package com.android.systemui.qs.tiles.impl.airplane.ui.mapper import android.content.res.Resources import android.content.res.Resources.Theme import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileDataToStateMapper import com.android.systemui.qs.tiles.impl.airplane.domain.model.AirplaneModeTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.shade.ShadeDisplayAware import javax.inject.Inject /** Maps [AirplaneModeTileModel] to [QSTileState]. */ -class AirplaneModeMapper +class AirplaneModeTileMapper @Inject constructor(@ShadeDisplayAware private val resources: Resources, val theme: Theme) : QSTileDataToStateMapper<AirplaneModeTileModel> { diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/alarm/domain/interactor/AlarmTileDataInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/alarm/domain/interactor/AlarmTileDataInteractor.kt index 51cd501c0c80..1f113d9bddd4 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/alarm/domain/interactor/AlarmTileDataInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/alarm/domain/interactor/AlarmTileDataInteractor.kt @@ -18,8 +18,8 @@ package com.android.systemui.qs.tiles.impl.alarm.domain.interactor import android.os.UserHandle import com.android.systemui.common.coroutine.ConflatedCallbackFlow -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger -import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.alarm.domain.model.AlarmTileModel import com.android.systemui.statusbar.policy.NextAlarmController import com.android.systemui.util.time.DateFormatUtil @@ -33,12 +33,12 @@ class AlarmTileDataInteractor @Inject constructor( private val alarmController: NextAlarmController, - private val dateFormatUtil: DateFormatUtil + private val dateFormatUtil: DateFormatUtil, ) : QSTileDataInteractor<AlarmTileModel> { override fun tileData( user: UserHandle, - triggers: Flow<DataUpdateTrigger> + triggers: Flow<DataUpdateTrigger>, ): Flow<AlarmTileModel> = ConflatedCallbackFlow.conflatedCallbackFlow { val alarmCallback = diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/alarm/domain/interactor/AlarmTileUserActionInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/alarm/domain/interactor/AlarmTileUserActionInteractor.kt index 79fcd3721877..f6fcf255cc4e 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/alarm/domain/interactor/AlarmTileUserActionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/alarm/domain/interactor/AlarmTileUserActionInteractor.kt @@ -18,19 +18,18 @@ package com.android.systemui.qs.tiles.impl.alarm.domain.interactor import android.content.Intent import android.provider.AlarmClock -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.interactor.QSTileInput -import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.model.QSTileInput +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction import com.android.systemui.qs.tiles.impl.alarm.domain.model.AlarmTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction import javax.inject.Inject /** Handles alarm tile clicks. */ class AlarmTileUserActionInteractor @Inject -constructor( - private val inputHandler: QSTileIntentUserInputHandler, -) : QSTileUserActionInteractor<AlarmTileModel> { +constructor(private val inputHandler: QSTileIntentUserInputHandler) : + QSTileUserActionInteractor<AlarmTileModel> { override suspend fun handleInput(input: QSTileInput<AlarmTileModel>): Unit = with(input) { when (action) { @@ -44,7 +43,7 @@ constructor( } else { inputHandler.handle( action.expandable, - Intent(AlarmClock.ACTION_SHOW_ALARMS) + Intent(AlarmClock.ACTION_SHOW_ALARMS), ) } } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/alarm/domain/AlarmTileMapper.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/alarm/ui/mapper/AlarmTileMapper.kt index d56d9944dbb8..8a726adcd695 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/alarm/domain/AlarmTileMapper.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/alarm/ui/mapper/AlarmTileMapper.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,15 +14,15 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.alarm.domain +package com.android.systemui.qs.tiles.impl.alarm.ui.mapper import android.content.res.Resources import android.content.res.Resources.Theme import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileDataToStateMapper import com.android.systemui.qs.tiles.impl.alarm.domain.model.AlarmTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.shade.ShadeDisplayAware import com.android.systemui.util.time.SystemClock diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/battery/domain/interactor/BatterySaverTileDataInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/battery/domain/interactor/BatterySaverTileDataInteractor.kt index 22bbbbb62019..ed55449c7a9d 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/battery/domain/interactor/BatterySaverTileDataInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/battery/domain/interactor/BatterySaverTileDataInteractor.kt @@ -18,11 +18,10 @@ package com.android.systemui.qs.tiles.impl.battery.domain.interactor import android.os.UserHandle import com.android.systemui.dagger.qualifiers.Background -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger -import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.battery.domain.model.BatterySaverTileModel import com.android.systemui.statusbar.policy.BatteryController -import com.android.systemui.util.kotlin.combine import com.android.systemui.util.kotlin.getBatteryLevel import com.android.systemui.util.kotlin.isBatteryPowerSaveEnabled import com.android.systemui.util.kotlin.isDevicePluggedIn @@ -44,7 +43,7 @@ constructor( override fun tileData( user: UserHandle, - triggers: Flow<DataUpdateTrigger> + triggers: Flow<DataUpdateTrigger>, ): Flow<BatterySaverTileModel> = combine( batteryController.isDevicePluggedIn().distinctUntilChanged().flowOn(bgCoroutineContext), @@ -56,8 +55,8 @@ constructor( ) { isPluggedIn: Boolean, isPowerSaverEnabled: Boolean, - _, // we are only interested in battery level change, not the actual level - -> + _ // we are only interested in battery level change, not the actual level + -> BatterySaverTileModel.Standard(isPluggedIn, isPowerSaverEnabled) } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/battery/domain/interactor/BatterySaverTileUserActionInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/battery/domain/interactor/BatterySaverTileUserActionInteractor.kt index 3bbb9aa8505c..2eb05a2461f0 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/battery/domain/interactor/BatterySaverTileUserActionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/battery/domain/interactor/BatterySaverTileUserActionInteractor.kt @@ -18,11 +18,11 @@ package com.android.systemui.qs.tiles.impl.battery.domain.interactor import android.content.Intent import android.provider.Settings -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.interactor.QSTileInput -import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.model.QSTileInput +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction import com.android.systemui.qs.tiles.impl.battery.domain.model.BatterySaverTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction import com.android.systemui.statusbar.policy.BatteryController import javax.inject.Inject @@ -31,7 +31,7 @@ class BatterySaverTileUserActionInteractor @Inject constructor( private val qsTileIntentUserActionHandler: QSTileIntentUserInputHandler, - private val batteryController: BatteryController + private val batteryController: BatteryController, ) : QSTileUserActionInteractor<BatterySaverTileModel> { override suspend fun handleInput(input: QSTileInput<BatterySaverTileModel>) = @@ -45,7 +45,7 @@ constructor( is QSTileUserAction.LongClick -> { qsTileIntentUserActionHandler.handle( action.expandable, - Intent(Settings.ACTION_BATTERY_SAVER_SETTINGS) + Intent(Settings.ACTION_BATTERY_SAVER_SETTINGS), ) } is QSTileUserAction.ToggleClick -> {} diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/battery/ui/BatterySaverTileMapper.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/battery/ui/mapper/BatterySaverTileMapper.kt index 72759c5bb066..7bc3d2bfc809 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/battery/ui/BatterySaverTileMapper.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/battery/ui/mapper/BatterySaverTileMapper.kt @@ -14,14 +14,14 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.battery.ui +package com.android.systemui.qs.tiles.impl.battery.ui.mapper import android.content.res.Resources import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileDataToStateMapper import com.android.systemui.qs.tiles.impl.battery.domain.model.BatterySaverTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.shade.ShadeDisplayAware import javax.inject.Inject diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/colorcorrection/domain/interactor/ColorCorrectionTileDataInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/colorcorrection/domain/interactor/ColorCorrectionTileDataInteractor.kt index cd33d451ba81..1d173fcebfac 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/colorcorrection/domain/interactor/ColorCorrectionTileDataInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/colorcorrection/domain/interactor/ColorCorrectionTileDataInteractor.kt @@ -18,8 +18,8 @@ package com.android.systemui.qs.tiles.impl.colorcorrection.domain.interactor import android.os.UserHandle import com.android.systemui.accessibility.data.repository.ColorCorrectionRepository -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger -import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.colorcorrection.domain.model.ColorCorrectionTileModel import javax.inject.Inject import kotlinx.coroutines.flow.Flow @@ -29,15 +29,15 @@ import kotlinx.coroutines.flow.map /** Observes color correction state changes providing the [ColorCorrectionTileModel]. */ class ColorCorrectionTileDataInteractor @Inject -constructor( - private val colorCorrectionRepository: ColorCorrectionRepository, -) : QSTileDataInteractor<ColorCorrectionTileModel> { +constructor(private val colorCorrectionRepository: ColorCorrectionRepository) : + QSTileDataInteractor<ColorCorrectionTileModel> { override fun tileData( user: UserHandle, - triggers: Flow<DataUpdateTrigger> + triggers: Flow<DataUpdateTrigger>, ): Flow<ColorCorrectionTileModel> { return colorCorrectionRepository.isEnabled(user).map { ColorCorrectionTileModel(it) } } + override fun availability(user: UserHandle): Flow<Boolean> = flowOf(true) } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/colorcorrection/domain/interactor/ColorCorrectionUserActionInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/colorcorrection/domain/interactor/ColorCorrectionUserActionInteractor.kt index b774643eb21d..dea1f5ca8c1b 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/colorcorrection/domain/interactor/ColorCorrectionUserActionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/colorcorrection/domain/interactor/ColorCorrectionUserActionInteractor.kt @@ -20,11 +20,11 @@ import android.content.Intent import android.provider.Settings import com.android.systemui.accessibility.data.repository.ColorCorrectionRepository import com.android.systemui.qs.shared.QSSettingsPackageRepository -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.interactor.QSTileInput -import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.model.QSTileInput +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction import com.android.systemui.qs.tiles.impl.colorcorrection.domain.model.ColorCorrectionTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction import javax.inject.Inject /** Handles color correction tile clicks. */ diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/colorcorrection/domain/ColorCorrectionTileMapper.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/colorcorrection/ui/mapper/ColorCorrectionTileMapper.kt index e5a0fe8ed048..93d81f0aa508 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/colorcorrection/domain/ColorCorrectionTileMapper.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/colorcorrection/ui/mapper/ColorCorrectionTileMapper.kt @@ -14,14 +14,14 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.colorcorrection.domain +package com.android.systemui.qs.tiles.impl.colorcorrection.ui.mapper import android.content.res.Resources import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileDataToStateMapper import com.android.systemui.qs.tiles.impl.colorcorrection.domain.model.ColorCorrectionTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.shade.ShadeDisplayAware import javax.inject.Inject diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/data/entity/CustomTileDefaults.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/data/model/CustomTileDefaults.kt index dfeb65b7c5aa..40151063ac9c 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/data/entity/CustomTileDefaults.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/data/model/CustomTileDefaults.kt @@ -14,15 +14,13 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.custom.data.entity +package com.android.systemui.qs.tiles.impl.custom.data.model import android.graphics.drawable.Icon sealed interface CustomTileDefaults { data object Error : CustomTileDefaults - data class Result( - val icon: Icon, - val label: CharSequence, - ) : CustomTileDefaults + + data class Result(val icon: Icon, val label: CharSequence) : CustomTileDefaults } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/data/repository/CustomTileDefaultsRepository.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/data/repository/CustomTileDefaultsRepository.kt index 32fb1d18724d..34894f52a0be 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/data/repository/CustomTileDefaultsRepository.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/data/repository/CustomTileDefaultsRepository.kt @@ -24,8 +24,8 @@ import android.graphics.drawable.Icon import android.os.UserHandle import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.dagger.qualifiers.Background -import com.android.systemui.qs.tiles.impl.custom.data.entity.CustomTileDefaults -import com.android.systemui.qs.tiles.impl.di.QSTileScope +import com.android.systemui.qs.tiles.base.shared.model.QSTileScope +import com.android.systemui.qs.tiles.impl.custom.data.model.CustomTileDefaults import com.android.systemui.shade.ShadeDisplayAware import javax.inject.Inject import kotlinx.coroutines.CoroutineDispatcher @@ -58,11 +58,7 @@ interface CustomTileDefaultsRepository { * * Listen to [defaults] to get the loaded result */ - fun requestNewDefaults( - user: UserHandle, - componentName: ComponentName, - force: Boolean = false, - ) + fun requestNewDefaults(user: UserHandle, componentName: ComponentName, force: Boolean = false) } @QSTileScope @@ -77,7 +73,7 @@ constructor( private val defaultsRequests = MutableSharedFlow<DefaultsRequest>( replay = 1, - onBufferOverflow = BufferOverflow.DROP_OLDEST + onBufferOverflow = BufferOverflow.DROP_OLDEST, ) private val defaults: SharedFlow<DefaultsResult> = @@ -106,7 +102,7 @@ constructor( private suspend fun loadDefaults( user: UserHandle, - componentName: ComponentName + componentName: ComponentName, ): CustomTileDefaults = withContext(backgroundDispatcher) { try { @@ -120,16 +116,14 @@ constructor( CustomTileDefaults.Result( Icon.createWithResource(componentName.packageName, iconRes), - info.loadLabel(userContext.packageManager) + info.loadLabel(userContext.packageManager), ) } catch (e: PackageManager.NameNotFoundException) { CustomTileDefaults.Error } } - private fun ComponentName.getServiceInfo( - packageManager: PackageManager, - ): ServiceInfo { + private fun ComponentName.getServiceInfo(packageManager: PackageManager): ServiceInfo { val isSystemApp = packageManager.getApplicationInfo(packageName, 0).isSystemApp var flags = (PackageManager.MATCH_DIRECT_BOOT_UNAWARE or PackageManager.MATCH_DIRECT_BOOT_AWARE) diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/data/repository/CustomTilePackageUpdatesRepository.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/data/repository/CustomTilePackageUpdatesRepository.kt index cd4938f01b63..da811a3c494f 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/data/repository/CustomTilePackageUpdatesRepository.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/data/repository/CustomTilePackageUpdatesRepository.kt @@ -23,12 +23,12 @@ import android.content.Intent import android.content.IntentFilter import android.os.UserHandle import androidx.annotation.GuardedBy -import com.android.systemui.common.coroutine.ConflatedCallbackFlow -import com.android.systemui.dagger.qualifiers.Application +import com.android.app.tracing.coroutines.launchTraced as launch import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.qs.pipeline.shared.TileSpec -import com.android.systemui.qs.tiles.impl.di.QSTileScope +import com.android.systemui.qs.tiles.base.shared.model.QSTileScope import com.android.systemui.shade.ShadeDisplayAware +import com.android.systemui.utils.coroutines.flow.conflatedCallbackFlow import javax.inject.Inject import kotlin.coroutines.CoroutineContext import kotlinx.coroutines.CoroutineScope @@ -40,7 +40,6 @@ import kotlinx.coroutines.flow.flowOn import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.onCompletion import kotlinx.coroutines.flow.shareIn -import com.android.app.tracing.coroutines.launchTraced as launch interface CustomTilePackageUpdatesRepository { @@ -79,7 +78,7 @@ constructor( "RegisterReceiverViaContext", ) private fun createPackageChangesFlowForUser(user: UserHandle): Flow<Unit> = - ConflatedCallbackFlow.conflatedCallbackFlow { + conflatedCallbackFlow { val receiver = object : BroadcastReceiver() { override fun onReceive(context: Context?, intent: Intent?) { diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/data/repository/CustomTileRepository.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/data/repository/CustomTileRepository.kt index 0aaea8fc0a50..aabe7a9365ba 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/data/repository/CustomTileRepository.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/data/repository/CustomTileRepository.kt @@ -27,10 +27,10 @@ import com.android.systemui.qs.external.CustomTileStatePersister import com.android.systemui.qs.external.PackageManagerAdapter import com.android.systemui.qs.external.TileServiceKey import com.android.systemui.qs.pipeline.shared.TileSpec -import com.android.systemui.qs.tiles.impl.custom.commons.copy -import com.android.systemui.qs.tiles.impl.custom.commons.setFrom -import com.android.systemui.qs.tiles.impl.custom.data.entity.CustomTileDefaults -import com.android.systemui.qs.tiles.impl.di.QSTileScope +import com.android.systemui.qs.tiles.base.shared.model.QSTileScope +import com.android.systemui.qs.tiles.impl.custom.data.model.CustomTileDefaults +import com.android.systemui.qs.tiles.impl.custom.shared.model.copy +import com.android.systemui.qs.tiles.impl.custom.shared.model.setFrom import javax.inject.Inject import kotlin.coroutines.CoroutineContext import kotlinx.coroutines.channels.BufferOverflow @@ -78,11 +78,7 @@ interface CustomTileRepository { * [user] differs from the cached one. [isPersistable] tile will be persisted to be possibly * loaded when the [restoreForTheUserIfNeeded]. */ - suspend fun updateWithTile( - user: UserHandle, - newTile: Tile, - isPersistable: Boolean, - ) + suspend fun updateWithTile(user: UserHandle, newTile: Tile, isPersistable: Boolean) /** * Updates tile with the values from [defaults]. Overwrites the current cache when [user] @@ -114,11 +110,7 @@ constructor( if (isPersistable && getCurrentTileWithUser()?.user != user) { withContext(backgroundContext) { customTileStatePersister.readState(user.getKey())?.let { - updateWithTile( - user, - it, - true, - ) + updateWithTile(user, it, true) } } } @@ -137,11 +129,8 @@ constructor( } } - override suspend fun updateWithTile( - user: UserHandle, - newTile: Tile, - isPersistable: Boolean, - ) = updateTile(user, isPersistable) { setFrom(newTile) } + override suspend fun updateWithTile(user: UserHandle, newTile: Tile, isPersistable: Boolean) = + updateTile(user, isPersistable) { setFrom(newTile) } override suspend fun updateWithDefaults( user: UserHandle, @@ -182,7 +171,7 @@ constructor( packageManagerAdapter.getServiceInfo( tileSpec.componentName, META_DATA_QUERY_FLAGS, - getCurrentTileWithUser()?.user?.identifier ?: UserHandle.USER_CURRENT + getCurrentTileWithUser()?.user?.identifier ?: UserHandle.USER_CURRENT, ) info?.metaData?.getBoolean(TileService.META_DATA_TOGGLEABLE_TILE, false) == true } catch (e: RemoteException) { @@ -193,7 +182,7 @@ constructor( private suspend fun updateTile( user: UserHandle, isPersistable: Boolean, - update: Tile.() -> Unit + update: Tile.() -> Unit, ): Unit = tileUpdateMutex.withLock { val currentTileWithUser = getCurrentTileWithUser() diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/domain/interactor/CustomTileDataInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/domain/interactor/CustomTileDataInteractor.kt index 0b0f2feaa909..e64675f81257 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/domain/interactor/CustomTileDataInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/domain/interactor/CustomTileDataInteractor.kt @@ -20,14 +20,14 @@ import android.os.UserHandle import android.service.quicksettings.Tile import com.android.app.tracing.coroutines.launchTraced as launch import com.android.systemui.qs.pipeline.shared.TileSpec -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger -import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor -import com.android.systemui.qs.tiles.base.logging.QSTileLogger -import com.android.systemui.qs.tiles.impl.custom.data.entity.CustomTileDefaults +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger +import com.android.systemui.qs.tiles.base.shared.logging.QSTileLogger +import com.android.systemui.qs.tiles.base.shared.model.QSTileScope +import com.android.systemui.qs.tiles.impl.custom.data.model.CustomTileDefaults import com.android.systemui.qs.tiles.impl.custom.data.repository.CustomTileDefaultsRepository import com.android.systemui.qs.tiles.impl.custom.data.repository.CustomTilePackageUpdatesRepository -import com.android.systemui.qs.tiles.impl.custom.domain.entity.CustomTileDataModel -import com.android.systemui.qs.tiles.impl.di.QSTileScope +import com.android.systemui.qs.tiles.impl.custom.domain.model.CustomTileDataModel import com.android.systemui.user.data.repository.UserRepository import com.android.systemui.utils.coroutines.flow.conflatedCallbackFlow import javax.inject.Inject diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/domain/interactor/CustomTileInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/domain/interactor/CustomTileInteractor.kt index 6f1cb3cc2675..c587e3a11edf 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/domain/interactor/CustomTileInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/domain/interactor/CustomTileInteractor.kt @@ -18,11 +18,12 @@ package com.android.systemui.qs.tiles.impl.custom.domain.interactor import android.os.UserHandle import android.service.quicksettings.Tile +import com.android.app.tracing.coroutines.launchTraced as launch import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.qs.pipeline.shared.TileSpec +import com.android.systemui.qs.tiles.base.shared.model.QSTileScope import com.android.systemui.qs.tiles.impl.custom.data.repository.CustomTileDefaultsRepository import com.android.systemui.qs.tiles.impl.custom.data.repository.CustomTileRepository -import com.android.systemui.qs.tiles.impl.di.QSTileScope import javax.inject.Inject import kotlin.coroutines.CoroutineContext import kotlinx.coroutines.CoroutineScope @@ -34,7 +35,6 @@ import kotlinx.coroutines.flow.firstOrNull import kotlinx.coroutines.flow.flowOn import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach -import com.android.app.tracing.coroutines.launchTraced as launch import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.withLock @@ -100,7 +100,7 @@ constructor( launchUpdates(user) customTileRepository.restoreForTheUserIfNeeded( user, - customTileRepository.isTileActive() + customTileRepository.isTileActive(), ) // Suspend to make sure it gets the tile from one of the sources: restoration, defaults, // or diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/domain/interactor/CustomTileServiceInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/domain/interactor/CustomTileServiceInteractor.kt index c0fc93fc914b..56fd325fe6d2 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/domain/interactor/CustomTileServiceInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/domain/interactor/CustomTileServiceInteractor.kt @@ -31,8 +31,8 @@ import com.android.systemui.qs.external.CustomTileInterface import com.android.systemui.qs.external.TileServiceManager import com.android.systemui.qs.external.TileServices import com.android.systemui.qs.pipeline.shared.TileSpec -import com.android.systemui.qs.tiles.base.logging.QSTileLogger -import com.android.systemui.qs.tiles.impl.di.QSTileScope +import com.android.systemui.qs.tiles.base.shared.logging.QSTileLogger +import com.android.systemui.qs.tiles.base.shared.model.QSTileScope import com.android.systemui.user.data.repository.UserRepository import dagger.Lazy import javax.inject.Inject diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/domain/interactor/CustomTileUserActionInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/domain/interactor/CustomTileUserActionInteractor.kt index 1153b5c67261..df2759ab9de1 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/domain/interactor/CustomTileUserActionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/domain/interactor/CustomTileUserActionInteractor.kt @@ -34,13 +34,13 @@ import androidx.annotation.GuardedBy import com.android.systemui.animation.Expandable import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.qs.pipeline.shared.TileSpec -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.interactor.QSTileInput -import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor -import com.android.systemui.qs.tiles.base.logging.QSTileLogger -import com.android.systemui.qs.tiles.impl.custom.domain.entity.CustomTileDataModel -import com.android.systemui.qs.tiles.impl.di.QSTileScope -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.model.QSTileInput +import com.android.systemui.qs.tiles.base.shared.logging.QSTileLogger +import com.android.systemui.qs.tiles.base.shared.model.QSTileScope +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction +import com.android.systemui.qs.tiles.impl.custom.domain.model.CustomTileDataModel import com.android.systemui.settings.DisplayTracker import com.android.systemui.shade.ShadeDisplayAware import java.util.concurrent.atomic.AtomicReference @@ -80,10 +80,7 @@ constructor( qsTileLogger.logCustomTileUserActionDelivered(tileSpec) } - private suspend fun click( - expandable: Expandable?, - activityLaunchForClick: PendingIntent?, - ) { + private suspend fun click(expandable: Expandable?, activityLaunchForClick: PendingIntent?) { grantToken() try { // Bind active tile to deliver user action @@ -133,7 +130,7 @@ constructor( token, WindowManager.LayoutParams.TYPE_QS_DIALOG, displayTracker.defaultDisplayId, - null /* options */ + null, /* options */ ) } catch (e: RemoteException) { qsTileLogger.logError(tileSpec, "Failed to grant a window token", e) @@ -147,7 +144,7 @@ constructor( user: UserHandle, expandable: Expandable?, componentName: ComponentName, - state: Int + state: Int, ) { val resolvedIntent: Intent? = resolveIntent( @@ -166,7 +163,7 @@ constructor( Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS) .setData( Uri.fromParts(IntentFilter.SCHEME_PACKAGE, componentName.packageName, null) - ) + ), ) } else { qsTileIntentUserInputHandler.handle(expandable, resolvedIntent) diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/domain/entity/CustomTileDataModel.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/domain/model/CustomTileDataModel.kt index 5b6ff1e033fb..4393e9e1bb63 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/domain/entity/CustomTileDataModel.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/domain/model/CustomTileDataModel.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.custom.domain.entity +package com.android.systemui.qs.tiles.impl.custom.domain.model import android.content.ComponentName import android.graphics.drawable.Icon diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/di/QSTileConfigModule.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/shared/model/QSTileConfigModule.kt index 558fb64e3ef8..c9508889ff85 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/di/QSTileConfigModule.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/shared/model/QSTileConfigModule.kt @@ -14,10 +14,10 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.custom.di +package com.android.systemui.qs.tiles.impl.custom.shared.model import com.android.systemui.qs.pipeline.shared.TileSpec -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig import dagger.Module import dagger.Provides diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/commons/TileExt.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/shared/model/TileExt.kt index 869f6f321d21..022894e2e5d2 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/commons/TileExt.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/shared/model/TileExt.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.custom.commons +package com.android.systemui.qs.tiles.impl.custom.shared.model import android.service.quicksettings.Tile diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/domain/CustomTileMapper.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/ui/mapper/CustomTileMapper.kt index c446865f31af..dfaaea1e7d86 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/domain/CustomTileMapper.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/ui/mapper/CustomTileMapper.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.custom.domain +package com.android.systemui.qs.tiles.impl.custom.ui.mapper import android.annotation.SuppressLint import android.app.IUriGrantsManager @@ -26,10 +26,10 @@ import android.widget.Button import android.widget.Switch import com.android.systemui.common.shared.model.Icon import com.android.systemui.dagger.SysUISingleton -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper -import com.android.systemui.qs.tiles.impl.custom.domain.entity.CustomTileDataModel -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileDataToStateMapper +import com.android.systemui.qs.tiles.impl.custom.domain.model.CustomTileDataModel import com.android.systemui.shade.ShadeDisplayAware import javax.inject.Inject @@ -38,9 +38,8 @@ class CustomTileMapper @Inject constructor( @ShadeDisplayAware private val context: Context, - private val uriGrantsManager: IUriGrantsManager -) : - QSTileDataToStateMapper<CustomTileDataModel> { + private val uriGrantsManager: IUriGrantsManager, +) : QSTileDataToStateMapper<CustomTileDataModel> { override fun map(config: QSTileConfig, data: CustomTileDataModel): QSTileState { val userContext = diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/di/CustomTileComponent.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/ui/model/CustomTileComponent.kt index 7b099c2cb0c6..4f230334c427 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/di/CustomTileComponent.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/ui/model/CustomTileComponent.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,14 +14,15 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.custom.di +package com.android.systemui.qs.tiles.impl.custom.ui.model +import com.android.systemui.qs.tiles.base.shared.model.QSTileScope +import com.android.systemui.qs.tiles.base.ui.model.QSTileComponent import com.android.systemui.qs.tiles.impl.custom.data.repository.CustomTilePackageUpdatesRepository -import com.android.systemui.qs.tiles.impl.custom.domain.entity.CustomTileDataModel import com.android.systemui.qs.tiles.impl.custom.domain.interactor.CustomTileInteractor import com.android.systemui.qs.tiles.impl.custom.domain.interactor.CustomTileServiceInteractor -import com.android.systemui.qs.tiles.impl.di.QSTileComponent -import com.android.systemui.qs.tiles.impl.di.QSTileScope +import com.android.systemui.qs.tiles.impl.custom.domain.model.CustomTileDataModel +import com.android.systemui.qs.tiles.impl.custom.shared.model.QSTileConfigModule import dagger.Subcomponent @QSTileScope diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/di/CustomTileModule.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/ui/model/CustomTileModule.kt index 196fa12cacc9..ee7908af6c84 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/di/CustomTileModule.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/ui/model/CustomTileModule.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,23 +14,23 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.custom.di +package com.android.systemui.qs.tiles.impl.custom.ui.model -import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper -import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor -import com.android.systemui.qs.tiles.base.viewmodel.QSTileCoroutineScopeFactory +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.shared.model.QSTileCoroutineScopeFactory +import com.android.systemui.qs.tiles.base.shared.model.QSTileScope +import com.android.systemui.qs.tiles.base.ui.model.QSTileDataToStateMapper import com.android.systemui.qs.tiles.impl.custom.data.repository.CustomTileDefaultsRepository import com.android.systemui.qs.tiles.impl.custom.data.repository.CustomTileDefaultsRepositoryImpl import com.android.systemui.qs.tiles.impl.custom.data.repository.CustomTilePackageUpdatesRepository import com.android.systemui.qs.tiles.impl.custom.data.repository.CustomTilePackageUpdatesRepositoryImpl import com.android.systemui.qs.tiles.impl.custom.data.repository.CustomTileRepository import com.android.systemui.qs.tiles.impl.custom.data.repository.CustomTileRepositoryImpl -import com.android.systemui.qs.tiles.impl.custom.domain.CustomTileMapper -import com.android.systemui.qs.tiles.impl.custom.domain.entity.CustomTileDataModel import com.android.systemui.qs.tiles.impl.custom.domain.interactor.CustomTileDataInteractor import com.android.systemui.qs.tiles.impl.custom.domain.interactor.CustomTileUserActionInteractor -import com.android.systemui.qs.tiles.impl.di.QSTileScope +import com.android.systemui.qs.tiles.impl.custom.domain.model.CustomTileDataModel +import com.android.systemui.qs.tiles.impl.custom.ui.mapper.CustomTileMapper import dagger.Binds import dagger.Module import dagger.Provides diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/flashlight/domain/interactor/FlashlightTileDataInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/flashlight/domain/interactor/FlashlightTileDataInteractor.kt index 38eb5947bd71..9720d1549a4c 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/flashlight/domain/interactor/FlashlightTileDataInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/flashlight/domain/interactor/FlashlightTileDataInteractor.kt @@ -17,11 +17,11 @@ package com.android.systemui.qs.tiles.impl.flashlight.domain.interactor import android.os.UserHandle -import com.android.systemui.utils.coroutines.flow.conflatedCallbackFlow -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger -import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.flashlight.domain.model.FlashlightTileModel import com.android.systemui.statusbar.policy.FlashlightController +import com.android.systemui.utils.coroutines.flow.conflatedCallbackFlow import javax.inject.Inject import kotlinx.coroutines.channels.awaitClose import kotlinx.coroutines.flow.Flow @@ -30,22 +30,23 @@ import kotlinx.coroutines.flow.flowOf /** Observes flashlight state changes providing the [FlashlightTileModel]. */ class FlashlightTileDataInteractor @Inject -constructor( - private val flashlightController: FlashlightController, -) : QSTileDataInteractor<FlashlightTileModel> { +constructor(private val flashlightController: FlashlightController) : + QSTileDataInteractor<FlashlightTileModel> { override fun tileData( user: UserHandle, - triggers: Flow<DataUpdateTrigger> + triggers: Flow<DataUpdateTrigger>, ): Flow<FlashlightTileModel> = conflatedCallbackFlow { val callback = object : FlashlightController.FlashlightListener { override fun onFlashlightChanged(enabled: Boolean) { trySend(FlashlightTileModel.FlashlightAvailable(enabled)) } + override fun onFlashlightError() { trySend(FlashlightTileModel.FlashlightAvailable(false)) } + override fun onFlashlightAvailabilityChanged(available: Boolean) { trySend( if (available) diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/flashlight/domain/interactor/FlashlightTileUserActionInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/flashlight/domain/interactor/FlashlightTileUserActionInteractor.kt index 13afc15d17ef..8a76b2a61677 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/flashlight/domain/interactor/FlashlightTileUserActionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/flashlight/domain/interactor/FlashlightTileUserActionInteractor.kt @@ -17,19 +17,18 @@ package com.android.systemui.qs.tiles.impl.flashlight.domain.interactor import android.app.ActivityManager -import com.android.systemui.qs.tiles.base.interactor.QSTileInput -import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.model.QSTileInput +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction import com.android.systemui.qs.tiles.impl.flashlight.domain.model.FlashlightTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction import com.android.systemui.statusbar.policy.FlashlightController import javax.inject.Inject /** Handles flashlight tile clicks. */ class FlashlightTileUserActionInteractor @Inject -constructor( - private val flashlightController: FlashlightController, -) : QSTileUserActionInteractor<FlashlightTileModel> { +constructor(private val flashlightController: FlashlightController) : + QSTileUserActionInteractor<FlashlightTileModel> { override suspend fun handleInput(input: QSTileInput<FlashlightTileModel>) = with(input) { diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/flashlight/domain/FlashlightMapper.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/flashlight/ui/mapper/FlashlightMapper.kt index 32ccba6f1fa5..0be4a9fffe1b 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/flashlight/domain/FlashlightMapper.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/flashlight/ui/mapper/FlashlightMapper.kt @@ -14,15 +14,15 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.flashlight.domain +package com.android.systemui.qs.tiles.impl.flashlight.ui.mapper import android.content.res.Resources import android.content.res.Resources.Theme import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileDataToStateMapper import com.android.systemui.qs.tiles.impl.flashlight.domain.model.FlashlightTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.shade.ShadeDisplayAware import javax.inject.Inject diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/fontscaling/domain/interactor/FontScalingTileDataInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/fontscaling/domain/interactor/FontScalingTileDataInteractor.kt index 745e6a301689..3464741ffe9c 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/fontscaling/domain/interactor/FontScalingTileDataInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/fontscaling/domain/interactor/FontScalingTileDataInteractor.kt @@ -17,8 +17,8 @@ package com.android.systemui.qs.tiles.impl.fontscaling.domain.interactor import android.os.UserHandle -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger -import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.fontscaling.domain.model.FontScalingTileModel import javax.inject.Inject import kotlinx.coroutines.flow.Flow @@ -29,7 +29,7 @@ class FontScalingTileDataInteractor @Inject constructor() : QSTileDataInteractor<FontScalingTileModel> { override fun tileData( user: UserHandle, - triggers: Flow<DataUpdateTrigger> + triggers: Flow<DataUpdateTrigger>, ): Flow<FontScalingTileModel> = flowOf(FontScalingTileModel) override fun availability(user: UserHandle): Flow<Boolean> = flowOf(true) diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/fontscaling/domain/interactor/FontScalingTileUserActionInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/fontscaling/domain/interactor/FontScalingTileUserActionInteractor.kt index 0ebb51e722af..65db0f9fd8b1 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/fontscaling/domain/interactor/FontScalingTileUserActionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/fontscaling/domain/interactor/FontScalingTileUserActionInteractor.kt @@ -25,11 +25,11 @@ import com.android.systemui.animation.DialogTransitionAnimator import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.plugins.ActivityStarter import com.android.systemui.qs.shared.QSSettingsPackageRepository -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.interactor.QSTileInput -import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.model.QSTileInput +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction import com.android.systemui.qs.tiles.impl.fontscaling.domain.model.FontScalingTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction import com.android.systemui.statusbar.phone.SystemUIDialog import com.android.systemui.statusbar.policy.KeyguardStateController import javax.inject.Inject diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/fontscaling/domain/FontScalingTileMapper.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/fontscaling/ui/mapper/FontScalingTileMapper.kt index c571b136e18b..659e1fe6a81d 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/fontscaling/domain/FontScalingTileMapper.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/fontscaling/ui/mapper/FontScalingTileMapper.kt @@ -14,14 +14,14 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.fontscaling.domain +package com.android.systemui.qs.tiles.impl.fontscaling.ui.mapper import android.content.res.Resources import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileDataToStateMapper import com.android.systemui.qs.tiles.impl.fontscaling.domain.model.FontScalingTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.shade.ShadeDisplayAware import javax.inject.Inject diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/hearingdevices/domain/interactor/HearingDevicesTileDataInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/hearingdevices/domain/interactor/HearingDevicesTileDataInteractor.kt index 33b7feb49b09..50ea30dc8011 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/hearingdevices/domain/interactor/HearingDevicesTileDataInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/hearingdevices/domain/interactor/HearingDevicesTileDataInteractor.kt @@ -19,8 +19,8 @@ package com.android.systemui.qs.tiles.impl.hearingdevices.domain.interactor import android.os.UserHandle import com.android.systemui.accessibility.hearingaid.HearingDevicesChecker import com.android.systemui.dagger.qualifiers.Background -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger -import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.hearingdevices.domain.model.HearingDevicesTileModel import com.android.systemui.statusbar.policy.BluetoothController import com.android.systemui.utils.coroutines.flow.conflatedCallbackFlow diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/hearingdevices/domain/interactor/HearingDevicesTileUserActionInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/hearingdevices/domain/interactor/HearingDevicesTileUserActionInteractor.kt index 268efcef9062..049d0618875e 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/hearingdevices/domain/interactor/HearingDevicesTileUserActionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/hearingdevices/domain/interactor/HearingDevicesTileUserActionInteractor.kt @@ -22,11 +22,11 @@ import com.android.systemui.accessibility.hearingaid.HearingDevicesDialogManager import com.android.systemui.accessibility.hearingaid.HearingDevicesUiEventLogger.Companion.LAUNCH_SOURCE_QS_TILE import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.qs.shared.QSSettingsPackageRepository -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.interactor.QSTileInput -import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.model.QSTileInput +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction import com.android.systemui.qs.tiles.impl.hearingdevices.domain.model.HearingDevicesTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction import javax.inject.Inject import kotlin.coroutines.CoroutineContext import kotlinx.coroutines.withContext diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/hearingdevices/domain/HearingDevicesTileMapper.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/hearingdevices/ui/mapper/HearingDevicesTileMapper.kt index 12f71491c7b4..d89c535b2c67 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/hearingdevices/domain/HearingDevicesTileMapper.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/hearingdevices/ui/mapper/HearingDevicesTileMapper.kt @@ -14,14 +14,14 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.hearingdevices.domain +package com.android.systemui.qs.tiles.impl.hearingdevices.ui.mapper import android.content.res.Resources import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileDataToStateMapper import com.android.systemui.qs.tiles.impl.hearingdevices.domain.model.HearingDevicesTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.shade.ShadeDisplayAware import javax.inject.Inject diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/internet/domain/interactor/InternetTileDataInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/internet/domain/interactor/InternetTileDataInteractor.kt index 871c051722c6..786ac47a0190 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/internet/domain/interactor/InternetTileDataInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/internet/domain/interactor/InternetTileDataInteractor.kt @@ -24,8 +24,8 @@ import com.android.systemui.common.shared.model.ContentDescription import com.android.systemui.common.shared.model.ContentDescription.Companion.loadContentDescription import com.android.systemui.common.shared.model.Text import com.android.systemui.dagger.qualifiers.Application -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger -import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.internet.domain.model.InternetTileModel import com.android.systemui.res.R import com.android.systemui.shade.ShadeDisplayAware diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/internet/domain/interactor/InternetTileUserActionInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/internet/domain/interactor/InternetTileUserActionInteractor.kt index 0431e36fef6a..7fd282c63d84 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/internet/domain/interactor/InternetTileUserActionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/internet/domain/interactor/InternetTileUserActionInteractor.kt @@ -19,12 +19,12 @@ package com.android.systemui.qs.tiles.impl.internet.domain.interactor import android.content.Intent import android.provider.Settings import com.android.systemui.dagger.qualifiers.Main -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.interactor.QSTileInput -import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.model.QSTileInput +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction import com.android.systemui.qs.tiles.dialog.InternetDialogManager import com.android.systemui.qs.tiles.impl.internet.domain.model.InternetTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction import com.android.systemui.statusbar.connectivity.AccessPointController import javax.inject.Inject import kotlin.coroutines.CoroutineContext diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/internet/domain/InternetTileMapper.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/internet/ui/mapper/InternetTileMapper.kt index 8d5880554277..a96ad38921a5 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/internet/domain/InternetTileMapper.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/internet/ui/mapper/InternetTileMapper.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.internet.domain +package com.android.systemui.qs.tiles.impl.internet.ui.mapper import android.content.Context import android.content.res.Resources @@ -25,10 +25,10 @@ import com.android.systemui.common.shared.model.ContentDescription.Companion.loa import com.android.systemui.common.shared.model.Icon import com.android.systemui.common.shared.model.Text.Companion.loadText import com.android.systemui.dagger.qualifiers.Main -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileDataToStateMapper import com.android.systemui.qs.tiles.impl.internet.domain.model.InternetTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.shade.ShadeDisplayAware import com.android.systemui.statusbar.pipeline.shared.ui.model.InternetTileIconModel diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/inversion/domain/interactor/ColorInversionTileDataInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/inversion/domain/interactor/ColorInversionTileDataInteractor.kt index 7f3dd3e17b79..fea9e7eb3bda 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/inversion/domain/interactor/ColorInversionTileDataInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/inversion/domain/interactor/ColorInversionTileDataInteractor.kt @@ -18,8 +18,8 @@ package com.android.systemui.qs.tiles.impl.inversion.domain.interactor import android.os.UserHandle import com.android.systemui.accessibility.data.repository.ColorInversionRepository -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger -import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.inversion.domain.model.ColorInversionTileModel import javax.inject.Inject import kotlinx.coroutines.flow.Flow @@ -29,15 +29,15 @@ import kotlinx.coroutines.flow.map /** Observes color inversion state changes providing the [ColorInversionTileModel]. */ class ColorInversionTileDataInteractor @Inject -constructor( - private val colorInversionRepository: ColorInversionRepository, -) : QSTileDataInteractor<ColorInversionTileModel> { +constructor(private val colorInversionRepository: ColorInversionRepository) : + QSTileDataInteractor<ColorInversionTileModel> { override fun tileData( user: UserHandle, - triggers: Flow<DataUpdateTrigger> + triggers: Flow<DataUpdateTrigger>, ): Flow<ColorInversionTileModel> { return colorInversionRepository.isEnabled(user).map { ColorInversionTileModel(it) } } + override fun availability(user: UserHandle): Flow<Boolean> = flowOf(true) } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/inversion/domain/interactor/ColorInversionUserActionInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/inversion/domain/interactor/ColorInversionUserActionInteractor.kt index f78349718697..12530bc8361c 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/inversion/domain/interactor/ColorInversionUserActionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/inversion/domain/interactor/ColorInversionUserActionInteractor.kt @@ -20,11 +20,11 @@ import android.content.Intent import android.provider.Settings import com.android.systemui.accessibility.data.repository.ColorInversionRepository import com.android.systemui.qs.shared.QSSettingsPackageRepository -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.interactor.QSTileInput -import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.model.QSTileInput +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction import com.android.systemui.qs.tiles.impl.inversion.domain.model.ColorInversionTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction import javax.inject.Inject /** Handles color inversion tile clicks. */ diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/inversion/domain/ColorInversionTileMapper.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/inversion/ui/mapper/ColorInversionTileMapper.kt index 05590e803ffa..868abc045ad6 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/inversion/domain/ColorInversionTileMapper.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/inversion/ui/mapper/ColorInversionTileMapper.kt @@ -14,15 +14,15 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.inversion.domain +package com.android.systemui.qs.tiles.impl.inversion.ui.mapper import android.content.res.Resources import android.content.res.Resources.Theme import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileDataToStateMapper import com.android.systemui.qs.tiles.impl.inversion.domain.model.ColorInversionTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.shade.ShadeDisplayAware import javax.inject.Inject diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/irecording/IssueRecordingModel.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/irecording/data/model/IssueRecordingModel.kt index 260729b6a868..704102b25ce2 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/irecording/IssueRecordingModel.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/irecording/data/model/IssueRecordingModel.kt @@ -14,6 +14,6 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.irecording +package com.android.systemui.qs.tiles.impl.irecording.data.model @JvmInline value class IssueRecordingModel(val isRecording: Boolean) diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/irecording/IssueRecordingDataInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/irecording/domain/interactor/IssueRecordingDataInteractor.kt index 09a6ce8e5ec0..95fe191aad3f 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/irecording/IssueRecordingDataInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/irecording/domain/interactor/IssueRecordingDataInteractor.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2024 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,13 +14,14 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.irecording +package com.android.systemui.qs.tiles.impl.irecording.domain.interactor import android.os.UserHandle import com.android.systemui.Flags import com.android.systemui.dagger.qualifiers.Background -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger -import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger +import com.android.systemui.qs.tiles.impl.irecording.data.model.IssueRecordingModel import com.android.systemui.recordissue.IssueRecordingState import com.android.systemui.utils.coroutines.flow.conflatedCallbackFlow import javax.inject.Inject diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/irecording/IssueRecordingUserActionInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/irecording/domain/interactor/IssueRecordingUserActionInteractor.kt index fceee5a3379e..7182a37b7064 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/irecording/IssueRecordingUserActionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/irecording/domain/interactor/IssueRecordingUserActionInteractor.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.irecording +package com.android.systemui.qs.tiles.impl.irecording.domain.interactor import android.app.AlertDialog import android.app.BroadcastOptions @@ -30,9 +30,10 @@ import com.android.systemui.plugins.ActivityStarter import com.android.systemui.qs.pipeline.domain.interactor.PanelInteractor import com.android.systemui.qs.tiles.DELAY_MS import com.android.systemui.qs.tiles.INTERVAL_MS -import com.android.systemui.qs.tiles.base.interactor.QSTileInput -import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.model.QSTileInput +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction +import com.android.systemui.qs.tiles.impl.irecording.data.model.IssueRecordingModel import com.android.systemui.recordissue.IssueRecordingService.Companion.getStartIntent import com.android.systemui.recordissue.IssueRecordingService.Companion.getStopIntent import com.android.systemui.recordissue.IssueRecordingState @@ -47,8 +48,6 @@ import javax.inject.Inject import kotlin.coroutines.CoroutineContext import kotlinx.coroutines.withContext -private const val TAG = "IssueRecordingActionInteractor" - class IssueRecordingUserActionInteractor @Inject constructor( @@ -128,4 +127,8 @@ constructor( action, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE, ) + + companion object { + private const val TAG = "IssueRecordingUserActionInteractor" + } } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/irecording/IssueRecordingMapper.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/irecording/ui/mapper/IssueRecordingMapper.kt index afb137e1e92f..bd51bbeed4b9 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/irecording/IssueRecordingMapper.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/irecording/ui/mapper/IssueRecordingMapper.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2024 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,14 +14,15 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.irecording +package com.android.systemui.qs.tiles.impl.irecording.ui.mapper import android.content.res.Resources import android.content.res.Resources.Theme import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileDataToStateMapper +import com.android.systemui.qs.tiles.impl.irecording.data.model.IssueRecordingModel import com.android.systemui.res.R import com.android.systemui.shade.ShadeDisplayAware import javax.inject.Inject diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/location/domain/interactor/LocationTileDataInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/location/domain/interactor/LocationTileDataInteractor.kt index bd2f2c987ccf..052d062364cf 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/location/domain/interactor/LocationTileDataInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/location/domain/interactor/LocationTileDataInteractor.kt @@ -17,8 +17,8 @@ package com.android.systemui.qs.tiles.impl.location.domain.interactor import android.os.UserHandle -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger -import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.location.domain.model.LocationTileModel import com.android.systemui.statusbar.policy.LocationController import com.android.systemui.util.kotlin.isLocationEnabledFlow @@ -30,13 +30,12 @@ import kotlinx.coroutines.flow.map /** Observes location state changes providing the [LocationTileModel]. */ class LocationTileDataInteractor @Inject -constructor( - private val locationController: LocationController, -) : QSTileDataInteractor<LocationTileModel> { +constructor(private val locationController: LocationController) : + QSTileDataInteractor<LocationTileModel> { override fun tileData( user: UserHandle, - triggers: Flow<DataUpdateTrigger> + triggers: Flow<DataUpdateTrigger>, ): Flow<LocationTileModel> = locationController.isLocationEnabledFlow().map { LocationTileModel(it) } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/location/domain/interactor/LocationTileUserActionInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/location/domain/interactor/LocationTileUserActionInteractor.kt index d46bcfc3b947..f5d1400c9c7a 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/location/domain/interactor/LocationTileUserActionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/location/domain/interactor/LocationTileUserActionInteractor.kt @@ -18,21 +18,21 @@ package com.android.systemui.qs.tiles.impl.location.domain.interactor import android.content.Intent import android.provider.Settings +import com.android.app.tracing.coroutines.launchTraced as launch import com.android.systemui.coroutines.newTracingContext import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.plugins.ActivityStarter -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.interactor.QSTileInput -import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.model.QSTileInput +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction import com.android.systemui.qs.tiles.impl.location.domain.model.LocationTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction import com.android.systemui.statusbar.policy.KeyguardStateController import com.android.systemui.statusbar.policy.LocationController import javax.inject.Inject import kotlin.coroutines.CoroutineContext import kotlinx.coroutines.CoroutineScope -import com.android.app.tracing.coroutines.launchTraced as launch import kotlinx.coroutines.withContext /** Handles location tile clicks. */ @@ -68,7 +68,7 @@ constructor( is QSTileUserAction.LongClick -> { qsTileIntentUserActionHandler.handle( action.expandable, - Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS) + Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS), ) } is QSTileUserAction.ToggleClick -> {} diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/location/domain/LocationTileMapper.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/location/ui/mapper/LocationTileMapper.kt index ced5a4f099a2..d2c9116b0f24 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/location/domain/LocationTileMapper.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/location/ui/mapper/LocationTileMapper.kt @@ -14,15 +14,15 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.location.domain +package com.android.systemui.qs.tiles.impl.location.ui.mapper import android.content.res.Resources import android.content.res.Resources.Theme import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileDataToStateMapper import com.android.systemui.qs.tiles.impl.location.domain.model.LocationTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.shade.ShadeDisplayAware import javax.inject.Inject diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesDndTileDataInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesDndTileDataInteractor.kt index e47ae690bc97..c3e7bea4a466 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesDndTileDataInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesDndTileDataInteractor.kt @@ -24,8 +24,8 @@ import com.android.settingslib.notification.modes.ZenMode import com.android.settingslib.notification.modes.ZenModeDescriptions import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.modes.shared.ModesUi -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger -import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.modes.domain.model.ModesDndTileModel import com.android.systemui.shade.ShadeDisplayAware import com.android.systemui.statusbar.policy.domain.interactor.ZenModeInteractor diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesDndTileUserActionInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesDndTileUserActionInteractor.kt index e8fcea070ede..012ae036cf47 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesDndTileUserActionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesDndTileUserActionInteractor.kt @@ -24,11 +24,11 @@ import com.android.systemui.animation.Expandable import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.qs.shared.QSSettingsPackageRepository -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.interactor.QSTileInput -import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.model.QSTileInput +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction import com.android.systemui.qs.tiles.impl.modes.domain.model.ModesDndTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction import com.android.systemui.statusbar.policy.domain.interactor.ZenModeInteractor import com.android.systemui.statusbar.policy.ui.dialog.ModesDialogDelegate import com.android.systemui.statusbar.policy.ui.dialog.ModesDialogEventLogger diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesTileDataInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesTileDataInteractor.kt index 479f61823912..e97985c6ab78 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesTileDataInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesTileDataInteractor.kt @@ -25,8 +25,8 @@ import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.modes.shared.ModesUi import com.android.systemui.modes.shared.ModesUiIcons import com.android.systemui.qs.tiles.ModesTile -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger -import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.modes.domain.model.ModesTileModel import com.android.systemui.shade.ShadeDisplayAware import com.android.systemui.statusbar.policy.domain.interactor.ZenModeInteractor diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesTileUserActionInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesTileUserActionInteractor.kt index ab1326a8bafb..5240a1809b76 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesTileUserActionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesTileUserActionInteractor.kt @@ -23,11 +23,11 @@ import com.android.systemui.animation.Expandable import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.qs.flags.QSComposeFragment -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.interactor.QSTileInput -import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.model.QSTileInput +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction import com.android.systemui.qs.tiles.impl.modes.domain.model.ModesTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction import com.android.systemui.statusbar.policy.domain.interactor.ZenModeInteractor import com.android.systemui.statusbar.policy.ui.dialog.ModesDialogDelegate import com.android.systemui.statusbar.policy.ui.dialog.ModesDialogEventLogger diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/modes/ui/ModesDndTileMapper.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/modes/ui/ModesDndTileMapper.kt index 73a8766ef45e..632c572455e4 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/modes/ui/ModesDndTileMapper.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/modes/ui/ModesDndTileMapper.kt @@ -19,10 +19,10 @@ package com.android.systemui.qs.tiles.impl.modes.ui import android.content.res.Resources import android.widget.Switch import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileDataToStateMapper import com.android.systemui.qs.tiles.impl.modes.domain.model.ModesDndTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.shade.ShadeDisplayAware import javax.inject.Inject diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/modes/ui/ModesTileMapper.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/modes/ui/mapper/ModesTileMapper.kt index 99ae3b8db709..4668350131a6 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/modes/ui/ModesTileMapper.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/modes/ui/mapper/ModesTileMapper.kt @@ -14,15 +14,15 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.modes.ui +package com.android.systemui.qs.tiles.impl.modes.ui.mapper import android.content.res.Resources import android.icu.text.MessageFormat import android.widget.Button -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileDataToStateMapper import com.android.systemui.qs.tiles.impl.modes.domain.model.ModesTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.shade.ShadeDisplayAware import java.util.Locale diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/night/domain/interactor/NightDisplayTileDataInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/night/domain/interactor/NightDisplayTileDataInteractor.kt index e8e43e8fc749..f6f267fbce0e 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/night/domain/interactor/NightDisplayTileDataInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/night/domain/interactor/NightDisplayTileDataInteractor.kt @@ -20,8 +20,8 @@ import android.content.Context import android.hardware.display.ColorDisplayManager import android.os.UserHandle import com.android.systemui.accessibility.data.repository.NightDisplayRepository -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger -import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.night.domain.model.NightDisplayTileModel import com.android.systemui.shade.ShadeDisplayAware import com.android.systemui.util.time.DateFormatUtil diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/night/domain/interactor/NightDisplayTileUserActionInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/night/domain/interactor/NightDisplayTileUserActionInteractor.kt index 7076a8f757fe..41739422ecb1 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/night/domain/interactor/NightDisplayTileUserActionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/night/domain/interactor/NightDisplayTileUserActionInteractor.kt @@ -22,12 +22,12 @@ import android.provider.Settings import com.android.systemui.accessibility.data.repository.NightDisplayRepository import com.android.systemui.accessibility.qs.QSAccessibilityModule import com.android.systemui.qs.pipeline.shared.TileSpec -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.interactor.QSTileInput -import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor -import com.android.systemui.qs.tiles.base.logging.QSTileLogger +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.model.QSTileInput +import com.android.systemui.qs.tiles.base.shared.logging.QSTileLogger +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction import com.android.systemui.qs.tiles.impl.night.domain.model.NightDisplayTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction import javax.inject.Inject /** Handles night display tile clicks. */ @@ -52,7 +52,7 @@ constructor( is QSTileUserAction.LongClick -> { qsTileIntentUserActionHandler.handle( action.expandable, - Intent(Settings.ACTION_NIGHT_DISPLAY_SETTINGS) + Intent(Settings.ACTION_NIGHT_DISPLAY_SETTINGS), ) } is QSTileUserAction.ToggleClick -> {} diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/night/ui/NightDisplayTileMapper.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/night/ui/mapper/NightDisplayTileMapper.kt index 16b36289ad95..3e478754d261 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/night/ui/NightDisplayTileMapper.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/night/ui/mapper/NightDisplayTileMapper.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2024 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.night.ui +package com.android.systemui.qs.tiles.impl.night.ui.mapper import android.content.res.Resources import android.service.quicksettings.Tile @@ -23,11 +23,11 @@ import androidx.annotation.StringRes import com.android.systemui.accessibility.qs.QSAccessibilityModule import com.android.systemui.common.shared.model.Icon import com.android.systemui.qs.pipeline.shared.TileSpec -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper -import com.android.systemui.qs.tiles.base.logging.QSTileLogger +import com.android.systemui.qs.tiles.base.shared.logging.QSTileLogger +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileDataToStateMapper import com.android.systemui.qs.tiles.impl.night.domain.model.NightDisplayTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.shade.ShadeDisplayAware import java.time.DateTimeException diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/notes/domain/interactor/NotesTileDataInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/notes/domain/interactor/NotesTileDataInteractor.kt index a501b8561330..157da8a5f321 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/notes/domain/interactor/NotesTileDataInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/notes/domain/interactor/NotesTileDataInteractor.kt @@ -19,8 +19,8 @@ package com.android.systemui.qs.tiles.impl.notes.domain.interactor import android.os.UserHandle import com.android.systemui.Flags import com.android.systemui.notetask.NoteTaskEnabledKey -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger -import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.notes.domain.model.NotesTileModel import javax.inject.Inject import kotlinx.coroutines.flow.Flow diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/notes/domain/interactor/NotesTileUserActionInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/notes/domain/interactor/NotesTileUserActionInteractor.kt index df01d99df0df..527f9e841ea9 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/notes/domain/interactor/NotesTileUserActionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/notes/domain/interactor/NotesTileUserActionInteractor.kt @@ -20,15 +20,16 @@ import com.android.systemui.animation.Expandable import com.android.systemui.notetask.NoteTaskController import com.android.systemui.notetask.NoteTaskEntryPoint import com.android.systemui.qs.pipeline.domain.interactor.PanelInteractor -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.interactor.QSTileInput -import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.model.QSTileInput +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction import com.android.systemui.qs.tiles.impl.notes.domain.model.NotesTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction import javax.inject.Inject class NotesTileUserActionInteractor -@Inject constructor( +@Inject +constructor( private val qsTileIntentUserInputHandler: QSTileIntentUserInputHandler, private val panelInteractor: PanelInteractor, private val noteTaskController: NoteTaskController, diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/notes/domain/NotesTileMapper.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/notes/ui/mapper/NotesTileMapper.kt index ecdd71170cda..36b28dfac7c7 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/notes/domain/NotesTileMapper.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/notes/ui/mapper/NotesTileMapper.kt @@ -14,15 +14,15 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.notes.domain +package com.android.systemui.qs.tiles.impl.notes.ui.mapper import android.content.res.Resources import android.widget.Button import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileDataToStateMapper import com.android.systemui.qs.tiles.impl.notes.domain.model.NotesTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.shade.ShadeDisplayAware import javax.inject.Inject diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/onehanded/domain/OneHandedModeTileDataInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/onehanded/domain/OneHandedModeTileDataInteractor.kt index 8c0fd2cd672a..39f39766fee6 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/onehanded/domain/OneHandedModeTileDataInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/onehanded/domain/OneHandedModeTileDataInteractor.kt @@ -18,8 +18,8 @@ package com.android.systemui.qs.tiles.impl.onehanded.domain import android.os.UserHandle import com.android.systemui.accessibility.data.repository.OneHandedModeRepository -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger -import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.onehanded.domain.model.OneHandedModeTileModel import com.android.wm.shell.onehanded.OneHanded import javax.inject.Inject @@ -30,16 +30,16 @@ import kotlinx.coroutines.flow.map /** Observes one handed mode state changes providing the [OneHandedModeTileModel]. */ class OneHandedModeTileDataInteractor @Inject -constructor( - private val oneHandedModeRepository: OneHandedModeRepository, -) : QSTileDataInteractor<OneHandedModeTileModel> { +constructor(private val oneHandedModeRepository: OneHandedModeRepository) : + QSTileDataInteractor<OneHandedModeTileModel> { override fun tileData( user: UserHandle, - triggers: Flow<DataUpdateTrigger> + triggers: Flow<DataUpdateTrigger>, ): Flow<OneHandedModeTileModel> { return oneHandedModeRepository.isEnabled(user).map { OneHandedModeTileModel(it) } } + override fun availability(user: UserHandle): Flow<Boolean> = flowOf(OneHanded.sIsSupportOneHandedMode) } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/onehanded/domain/OneHandedModeTileUserActionInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/onehanded/domain/OneHandedModeTileUserActionInteractor.kt index 0a0f0a668079..88f9d840012e 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/onehanded/domain/OneHandedModeTileUserActionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/onehanded/domain/OneHandedModeTileUserActionInteractor.kt @@ -19,11 +19,11 @@ package com.android.systemui.qs.tiles.impl.onehanded.domain import android.content.Intent import android.provider.Settings import com.android.systemui.accessibility.data.repository.OneHandedModeRepository -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.interactor.QSTileInput -import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.model.QSTileInput +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction import com.android.systemui.qs.tiles.impl.onehanded.domain.model.OneHandedModeTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction import javax.inject.Inject /** Handles one handed mode tile clicks. */ @@ -38,15 +38,12 @@ constructor( with(input) { when (action) { is QSTileUserAction.Click -> { - oneHandedModeRepository.setIsEnabled( - !data.isEnabled, - user, - ) + oneHandedModeRepository.setIsEnabled(!data.isEnabled, user) } is QSTileUserAction.LongClick -> { qsTileIntentUserActionHandler.handle( action.expandable, - Intent(Settings.ACTION_ONE_HANDED_SETTINGS) + Intent(Settings.ACTION_ONE_HANDED_SETTINGS), ) } is QSTileUserAction.ToggleClick -> {} diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/onehanded/ui/OneHandedModeTileMapper.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/onehanded/ui/mapper/OneHandedModeTileMapper.kt index 5b3ea93ab1ae..ace36ce586de 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/onehanded/ui/OneHandedModeTileMapper.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/onehanded/ui/mapper/OneHandedModeTileMapper.kt @@ -14,14 +14,14 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.onehanded.ui +package com.android.systemui.qs.tiles.impl.onehanded.ui.mapper import android.content.res.Resources import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileDataToStateMapper import com.android.systemui.qs.tiles.impl.onehanded.domain.model.OneHandedModeTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.shade.ShadeDisplayAware import javax.inject.Inject diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/qr/domain/interactor/QRCodeScannerTileDataInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/qr/domain/interactor/QRCodeScannerTileDataInteractor.kt index 233e913a27aa..0b4752bcaac4 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/qr/domain/interactor/QRCodeScannerTileDataInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/qr/domain/interactor/QRCodeScannerTileDataInteractor.kt @@ -21,8 +21,8 @@ import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.qrcodescanner.controller.QRCodeScannerController import com.android.systemui.qrcodescanner.controller.QRCodeScannerController.DEFAULT_QR_CODE_SCANNER_CHANGE -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger -import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.qr.domain.model.QRCodeScannerTileModel import com.android.systemui.utils.coroutines.flow.conflatedCallbackFlow import javax.inject.Inject @@ -44,7 +44,7 @@ constructor( ) : QSTileDataInteractor<QRCodeScannerTileModel> { override fun tileData( user: UserHandle, - triggers: Flow<DataUpdateTrigger> + triggers: Flow<DataUpdateTrigger>, ): Flow<QRCodeScannerTileModel> = conflatedCallbackFlow { qrController.registerQRCodeScannerChangeObservers(DEFAULT_QR_CODE_SCANNER_CHANGE) diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/qr/domain/interactor/QRCodeScannerTileUserActionInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/qr/domain/interactor/QRCodeScannerTileUserActionInteractor.kt index bb5df022dd1b..eb47d0b8fe91 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/qr/domain/interactor/QRCodeScannerTileUserActionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/qr/domain/interactor/QRCodeScannerTileUserActionInteractor.kt @@ -16,19 +16,18 @@ package com.android.systemui.qs.tiles.impl.qr.domain.interactor -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.interactor.QSTileInput -import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.model.QSTileInput +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction import com.android.systemui.qs.tiles.impl.qr.domain.model.QRCodeScannerTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction import javax.inject.Inject /** Handles qr tile clicks. */ class QRCodeScannerTileUserActionInteractor @Inject -constructor( - private val qsTileIntentUserActionHandler: QSTileIntentUserInputHandler, -) : QSTileUserActionInteractor<QRCodeScannerTileModel> { +constructor(private val qsTileIntentUserActionHandler: QSTileIntentUserInputHandler) : + QSTileUserActionInteractor<QRCodeScannerTileModel> { override suspend fun handleInput(input: QSTileInput<QRCodeScannerTileModel>): Unit = with(input) { @@ -39,7 +38,7 @@ constructor( qsTileIntentUserActionHandler.handle( action.expandable, data.intent, - true + true, ) is QRCodeScannerTileModel.TemporarilyUnavailable -> {} // no-op } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/qr/ui/QRCodeScannerTileMapper.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/qr/ui/mapper/QRCodeScannerTileMapper.kt index 21e92d3a1972..120961b76493 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/qr/ui/QRCodeScannerTileMapper.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/qr/ui/mapper/QRCodeScannerTileMapper.kt @@ -14,14 +14,14 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.qr.ui +package com.android.systemui.qs.tiles.impl.qr.ui.mapper import android.content.res.Resources import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileDataToStateMapper import com.android.systemui.qs.tiles.impl.qr.domain.model.QRCodeScannerTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.shade.ShadeDisplayAware import javax.inject.Inject diff --git a/packages/SystemUI/src/com/android/systemui/qrcodescanner/dagger/QRCodeScannerModule.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/qr/ui/model/QRCodeScannerModule.kt index ef1f8341cb15..c3c6be3f7410 100644 --- a/packages/SystemUI/src/com/android/systemui/qrcodescanner/dagger/QRCodeScannerModule.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/qr/ui/model/QRCodeScannerModule.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qrcodescanner.dagger +package com.android.systemui.qs.tiles.impl.qr.ui.model import com.android.systemui.Flags import com.android.systemui.qs.QsEventLogger @@ -22,16 +22,16 @@ import com.android.systemui.qs.pipeline.shared.TileSpec import com.android.systemui.qs.shared.model.TileCategory import com.android.systemui.qs.tileimpl.QSTileImpl import com.android.systemui.qs.tiles.QRCodeScannerTile -import com.android.systemui.qs.tiles.base.interactor.QSTileAvailabilityInteractor -import com.android.systemui.qs.tiles.base.viewmodel.QSTileViewModelFactory +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileAvailabilityInteractor +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileUIConfig +import com.android.systemui.qs.tiles.base.ui.viewmodel.QSTileViewModel +import com.android.systemui.qs.tiles.base.ui.viewmodel.QSTileViewModelFactory +import com.android.systemui.qs.tiles.base.ui.viewmodel.StubQSTileViewModel import com.android.systemui.qs.tiles.impl.qr.domain.interactor.QRCodeScannerTileDataInteractor import com.android.systemui.qs.tiles.impl.qr.domain.interactor.QRCodeScannerTileUserActionInteractor import com.android.systemui.qs.tiles.impl.qr.domain.model.QRCodeScannerTileModel -import com.android.systemui.qs.tiles.impl.qr.ui.QRCodeScannerTileMapper -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileUIConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileViewModel -import com.android.systemui.qs.tiles.viewmodel.StubQSTileViewModel +import com.android.systemui.qs.tiles.impl.qr.ui.mapper.QRCodeScannerTileMapper import com.android.systemui.res.R import dagger.Binds import dagger.Module @@ -81,7 +81,7 @@ interface QRCodeScannerModule { factory: QSTileViewModelFactory.Static<QRCodeScannerTileModel>, mapper: QRCodeScannerTileMapper, stateInteractor: QRCodeScannerTileDataInteractor, - userActionInteractor: QRCodeScannerTileUserActionInteractor + userActionInteractor: QRCodeScannerTileUserActionInteractor, ): QSTileViewModel = if (Flags.qsNewTilesFuture()) factory.create( diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/reducebrightness/domain/interactor/ReduceBrightColorsTileDataInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/reducebrightness/domain/interactor/ReduceBrightColorsTileDataInteractor.kt index 536c5f1d17cf..46ed2ffd0996 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/reducebrightness/domain/interactor/ReduceBrightColorsTileDataInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/reducebrightness/domain/interactor/ReduceBrightColorsTileDataInteractor.kt @@ -20,8 +20,8 @@ import android.os.UserHandle import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.qs.ReduceBrightColorsController import com.android.systemui.qs.dagger.QSFlagsModule.RBC_AVAILABLE -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger -import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.reducebrightness.domain.model.ReduceBrightColorsTileModel import com.android.systemui.util.kotlin.isEnabled import javax.inject.Inject diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/reducebrightness/domain/interactor/ReduceBrightColorsTileUserActionInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/reducebrightness/domain/interactor/ReduceBrightColorsTileUserActionInteractor.kt index eff5f8f949c2..0bc3dec77853 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/reducebrightness/domain/interactor/ReduceBrightColorsTileUserActionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/reducebrightness/domain/interactor/ReduceBrightColorsTileUserActionInteractor.kt @@ -21,11 +21,11 @@ import android.content.res.Resources import android.provider.Settings import com.android.systemui.accessibility.extradim.ExtraDimDialogManager import com.android.systemui.qs.ReduceBrightColorsController -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.interactor.QSTileInput -import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.model.QSTileInput +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction import com.android.systemui.qs.tiles.impl.reducebrightness.domain.model.ReduceBrightColorsTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction import com.android.systemui.shade.ShadeDisplayAware import javax.inject.Inject diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/reducebrightness/ui/ReduceBrightColorsTileMapper.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/reducebrightness/ui/mapper/ReduceBrightColorsTileMapper.kt index 66759cdfd1a6..2e74399c008f 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/reducebrightness/ui/ReduceBrightColorsTileMapper.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/reducebrightness/ui/mapper/ReduceBrightColorsTileMapper.kt @@ -14,15 +14,15 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.reducebrightness.ui +package com.android.systemui.qs.tiles.impl.reducebrightness.ui.mapper import android.content.res.Resources import android.service.quicksettings.Tile import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileDataToStateMapper import com.android.systemui.qs.tiles.impl.reducebrightness.domain.model.ReduceBrightColorsTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.shade.ShadeDisplayAware import javax.inject.Inject diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/rotation/domain/interactor/RotationLockTileDataInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/rotation/domain/interactor/RotationLockTileDataInteractor.kt index 7f17a3a7481a..f89154d9428a 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/rotation/domain/interactor/RotationLockTileDataInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/rotation/domain/interactor/RotationLockTileDataInteractor.kt @@ -22,8 +22,8 @@ import android.content.res.Resources import android.os.UserHandle import com.android.systemui.camera.data.repository.CameraAutoRotateRepository import com.android.systemui.camera.data.repository.CameraSensorPrivacyRepository -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger -import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.rotation.domain.model.RotationLockTileModel import com.android.systemui.shade.ShadeDisplayAware import com.android.systemui.statusbar.policy.BatteryController diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/rotation/domain/interactor/RotationLockTileUserActionInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/rotation/domain/interactor/RotationLockTileUserActionInteractor.kt index 65712c75516f..71aaa93db5ff 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/rotation/domain/interactor/RotationLockTileUserActionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/rotation/domain/interactor/RotationLockTileUserActionInteractor.kt @@ -18,11 +18,11 @@ package com.android.systemui.qs.tiles.impl.rotation.domain.interactor import android.content.Intent import android.provider.Settings -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.interactor.QSTileInput -import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.model.QSTileInput +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction import com.android.systemui.qs.tiles.impl.rotation.domain.model.RotationLockTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction import com.android.systemui.statusbar.policy.RotationLockController import javax.inject.Inject @@ -43,7 +43,7 @@ constructor( is QSTileUserAction.LongClick -> { qsTileIntentUserActionHandler.handle( action.expandable, - Intent(Settings.ACTION_AUTO_ROTATE_SETTINGS) + Intent(Settings.ACTION_AUTO_ROTATE_SETTINGS), ) } is QSTileUserAction.ToggleClick -> {} diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/rotation/ui/mapper/RotationLockTileMapper.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/rotation/ui/mapper/RotationLockTileMapper.kt index 000c7025e32b..d1db49929c0b 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/rotation/ui/mapper/RotationLockTileMapper.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/rotation/ui/mapper/RotationLockTileMapper.kt @@ -19,10 +19,10 @@ package com.android.systemui.qs.tiles.impl.rotation.ui.mapper import android.content.res.Resources import android.hardware.devicestate.DeviceStateManager import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileDataToStateMapper import com.android.systemui.qs.tiles.impl.rotation.domain.model.RotationLockTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.shade.ShadeDisplayAware import com.android.systemui.statusbar.policy.DevicePostureController diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/saver/domain/interactor/DataSaverTileDataInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/saver/domain/interactor/DataSaverTileDataInteractor.kt index 91e049b68c06..1c19444a93f9 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/saver/domain/interactor/DataSaverTileDataInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/saver/domain/interactor/DataSaverTileDataInteractor.kt @@ -18,8 +18,8 @@ package com.android.systemui.qs.tiles.impl.saver.domain.interactor import android.os.UserHandle import com.android.systemui.common.coroutine.ConflatedCallbackFlow -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger -import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.saver.domain.model.DataSaverTileModel import com.android.systemui.statusbar.policy.DataSaverController import javax.inject.Inject @@ -30,13 +30,12 @@ import kotlinx.coroutines.flow.flowOf /** Observes data saver state changes providing the [DataSaverTileModel]. */ class DataSaverTileDataInteractor @Inject -constructor( - private val dataSaverController: DataSaverController, -) : QSTileDataInteractor<DataSaverTileModel> { +constructor(private val dataSaverController: DataSaverController) : + QSTileDataInteractor<DataSaverTileModel> { override fun tileData( user: UserHandle, - triggers: Flow<DataUpdateTrigger> + triggers: Flow<DataUpdateTrigger>, ): Flow<DataSaverTileModel> = ConflatedCallbackFlow.conflatedCallbackFlow { val initialValue = dataSaverController.isDataSaverEnabled diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/saver/domain/interactor/DataSaverTileUserActionInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/saver/domain/interactor/DataSaverTileUserActionInteractor.kt index 63a9f594b05c..16fb9f7aeb72 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/saver/domain/interactor/DataSaverTileUserActionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/saver/domain/interactor/DataSaverTileUserActionInteractor.kt @@ -24,12 +24,12 @@ import com.android.systemui.animation.DialogCuj import com.android.systemui.animation.DialogTransitionAnimator import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.dagger.qualifiers.Main -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.interactor.QSTileInput -import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.model.QSTileInput +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction import com.android.systemui.qs.tiles.impl.saver.domain.DataSaverDialogDelegate import com.android.systemui.qs.tiles.impl.saver.domain.model.DataSaverTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction import com.android.systemui.settings.UserFileManager import com.android.systemui.shade.ShadeDisplayAware import com.android.systemui.shade.domain.interactor.ShadeDialogContextInteractor diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/saver/domain/DataSaverTileMapper.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/saver/ui/mapper/DataSaverTileMapper.kt index 1d5cf29f2462..e15c098451cb 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/saver/domain/DataSaverTileMapper.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/saver/ui/mapper/DataSaverTileMapper.kt @@ -14,14 +14,14 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.saver.domain +package com.android.systemui.qs.tiles.impl.saver.ui.mapper import android.content.res.Resources import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileDataToStateMapper import com.android.systemui.qs.tiles.impl.saver.domain.model.DataSaverTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.shade.ShadeDisplayAware import javax.inject.Inject diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/screenrecord/domain/interactor/ScreenRecordTileDataInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/screenrecord/domain/interactor/ScreenRecordTileDataInteractor.kt index 597825c7611c..7e2f1bd52a52 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/screenrecord/domain/interactor/ScreenRecordTileDataInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/screenrecord/domain/interactor/ScreenRecordTileDataInteractor.kt @@ -17,8 +17,8 @@ package com.android.systemui.qs.tiles.impl.screenrecord.domain.interactor import android.os.UserHandle -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger -import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.screenrecord.data.model.ScreenRecordModel import com.android.systemui.screenrecord.data.repository.ScreenRecordRepository import javax.inject.Inject @@ -28,13 +28,12 @@ import kotlinx.coroutines.flow.flowOf /** Observes screen record state changes providing the [ScreenRecordModel]. */ class ScreenRecordTileDataInteractor @Inject -constructor( - private val screenRecordRepository: ScreenRecordRepository, -) : QSTileDataInteractor<ScreenRecordModel> { +constructor(private val screenRecordRepository: ScreenRecordRepository) : + QSTileDataInteractor<ScreenRecordModel> { override fun tileData( user: UserHandle, - triggers: Flow<DataUpdateTrigger> + triggers: Flow<DataUpdateTrigger>, ): Flow<ScreenRecordModel> = screenRecordRepository.screenRecordState override fun availability(user: UserHandle): Flow<Boolean> = flowOf(true) diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/screenrecord/domain/interactor/ScreenRecordTileUserActionInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/screenrecord/domain/interactor/ScreenRecordTileUserActionInteractor.kt index 94534479db57..b7dc63286454 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/screenrecord/domain/interactor/ScreenRecordTileUserActionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/screenrecord/domain/interactor/ScreenRecordTileUserActionInteractor.kt @@ -28,9 +28,9 @@ import com.android.systemui.keyguard.domain.interactor.KeyguardInteractor import com.android.systemui.mediaprojection.MediaProjectionMetricsLogger import com.android.systemui.plugins.ActivityStarter import com.android.systemui.qs.pipeline.domain.interactor.PanelInteractor -import com.android.systemui.qs.tiles.base.interactor.QSTileInput -import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.model.QSTileInput +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction import com.android.systemui.screenrecord.RecordingController import com.android.systemui.screenrecord.data.model.ScreenRecordModel import com.android.systemui.screenrecord.data.repository.ScreenRecordRepository diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/screenrecord/domain/ui/ScreenRecordTileMapper.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/screenrecord/domain/ui/mapper/ScreenRecordTileMapper.kt index 0a61e3cbe616..b0c9d1224ce5 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/screenrecord/domain/ui/ScreenRecordTileMapper.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/screenrecord/domain/ui/mapper/ScreenRecordTileMapper.kt @@ -14,14 +14,14 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.screenrecord.domain.ui +package com.android.systemui.qs.tiles.impl.screenrecord.domain.ui.mapper import android.content.res.Resources import android.text.TextUtils import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileDataToStateMapper import com.android.systemui.res.R import com.android.systemui.screenrecord.data.model.ScreenRecordModel import com.android.systemui.shade.ShadeDisplayAware diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/sensorprivacy/SensorPrivacyToggleTileDataInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/sensorprivacy/domain/interactor/SensorPrivacyToggleTileDataInteractor.kt index a8e9c5663f39..f033e6ac0be4 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/sensorprivacy/SensorPrivacyToggleTileDataInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/sensorprivacy/domain/interactor/SensorPrivacyToggleTileDataInteractor.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2024 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.sensorprivacy +package com.android.systemui.qs.tiles.impl.sensorprivacy.domain.interactor import android.hardware.SensorPrivacyManager.Sensors.CAMERA import android.hardware.SensorPrivacyManager.Sensors.MICROPHONE @@ -22,12 +22,12 @@ import android.hardware.SensorPrivacyManager.Sensors.Sensor import android.os.UserHandle import android.provider.DeviceConfig import android.util.Log -import com.android.systemui.utils.coroutines.flow.conflatedCallbackFlow import com.android.systemui.dagger.qualifiers.Background -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger -import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.sensorprivacy.domain.model.SensorPrivacyToggleTileModel import com.android.systemui.statusbar.policy.IndividualSensorPrivacyController +import com.android.systemui.utils.coroutines.flow.conflatedCallbackFlow import dagger.assisted.Assisted import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject @@ -55,7 +55,7 @@ constructor( override fun tileData( user: UserHandle, - triggers: Flow<DataUpdateTrigger> + triggers: Flow<DataUpdateTrigger>, ): Flow<SensorPrivacyToggleTileModel> = conflatedCallbackFlow { val callback = @@ -85,14 +85,14 @@ constructor( return@withContext DeviceConfig.getBoolean( DeviceConfig.NAMESPACE_PRIVACY, deviceConfigName, - true + true, ) } catch (exception: IllegalArgumentException) { Log.w( TAG, "isDeviceConfigSet for sensorId $sensorId: " + "Defaulting to true due to exception. ", - exception + exception, ) return@withContext true } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/sensorprivacy/domain/SensorPrivacyToggleTileUserActionInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/sensorprivacy/domain/interactor/SensorPrivacyToggleTileUserActionInteractor.kt index d7f64d11a4fd..decf432169b0 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/sensorprivacy/domain/SensorPrivacyToggleTileUserActionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/sensorprivacy/domain/interactor/SensorPrivacyToggleTileUserActionInteractor.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2024 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.sensorprivacy.domain +package com.android.systemui.qs.tiles.impl.sensorprivacy.domain.interactor import android.content.Intent import android.hardware.SensorPrivacyManager.Sensors.Sensor @@ -23,11 +23,11 @@ import android.provider.Settings import android.safetycenter.SafetyCenterManager import com.android.systemui.keyguard.domain.interactor.KeyguardInteractor import com.android.systemui.plugins.ActivityStarter -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.interactor.QSTileInput -import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.model.QSTileInput +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction import com.android.systemui.qs.tiles.impl.sensorprivacy.domain.model.SensorPrivacyToggleTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction import com.android.systemui.statusbar.policy.IndividualSensorPrivacyController import dagger.assisted.Assisted import dagger.assisted.AssistedFactory diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/sensorprivacy/ui/SensorPrivacyToggleTileMapper.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/sensorprivacy/ui/mapper/SensorPrivacyToggleTileMapper.kt index f54f46c01dee..e9d5f528dc27 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/sensorprivacy/ui/SensorPrivacyToggleTileMapper.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/sensorprivacy/ui/mapper/SensorPrivacyToggleTileMapper.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2024 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,14 +14,15 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.sensorprivacy.ui +package com.android.systemui.qs.tiles.impl.sensorprivacy.ui.mapper import android.content.res.Resources import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileDataToStateMapper import com.android.systemui.qs.tiles.impl.sensorprivacy.domain.model.SensorPrivacyToggleTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState +import com.android.systemui.qs.tiles.impl.sensorprivacy.ui.model.SensorPrivacyTileResources import com.android.systemui.res.R import com.android.systemui.shade.ShadeDisplayAware import dagger.assisted.Assisted diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/sensorprivacy/ui/SensorPrivacyTileResources.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/sensorprivacy/ui/model/SensorPrivacyTileResources.kt index 2a9fd07a67cb..e65ae00f6938 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/sensorprivacy/ui/SensorPrivacyTileResources.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/sensorprivacy/ui/model/SensorPrivacyTileResources.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2024 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,12 +14,13 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.sensorprivacy.ui +package com.android.systemui.qs.tiles.impl.sensorprivacy.ui.model import com.android.systemui.res.R sealed interface SensorPrivacyTileResources { fun getIconRes(isBlocked: Boolean): Int + fun getTileLabelRes(): Int data object CameraPrivacyTileResources : SensorPrivacyTileResources { diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/uimodenight/domain/interactor/UiModeNightTileDataInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/uimodenight/domain/interactor/UiModeNightTileDataInteractor.kt index 925b91326a25..17c2f83b6f70 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/uimodenight/domain/interactor/UiModeNightTileDataInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/uimodenight/domain/interactor/UiModeNightTileDataInteractor.kt @@ -21,9 +21,9 @@ import android.content.Context import android.content.res.Configuration import android.os.UserHandle import com.android.systemui.common.coroutine.ConflatedCallbackFlow -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger -import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor -import com.android.systemui.qs.tiles.impl.uimodenight.domain.model.UiModeNightTileModel +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger +import com.android.systemui.qs.tiles.impl.uimodenight.domain.interactor.model.UiModeNightTileModel import com.android.systemui.shade.ShadeDisplayAware import com.android.systemui.statusbar.policy.BatteryController import com.android.systemui.statusbar.policy.ConfigurationController diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/uimodenight/domain/interactor/UiModeNightTileUserActionInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/uimodenight/domain/interactor/UiModeNightTileUserActionInteractor.kt index 889782831b70..8af5fedff46a 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/uimodenight/domain/interactor/UiModeNightTileUserActionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/uimodenight/domain/interactor/UiModeNightTileUserActionInteractor.kt @@ -20,11 +20,11 @@ import android.app.UiModeManager import android.content.Intent import android.provider.Settings import com.android.systemui.dagger.qualifiers.Background -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.interactor.QSTileInput -import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor -import com.android.systemui.qs.tiles.impl.uimodenight.domain.model.UiModeNightTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.model.QSTileInput +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction +import com.android.systemui.qs.tiles.impl.uimodenight.domain.interactor.model.UiModeNightTileModel import javax.inject.Inject import kotlin.coroutines.CoroutineContext import kotlinx.coroutines.withContext @@ -51,7 +51,7 @@ constructor( is QSTileUserAction.LongClick -> { qsTileIntentUserActionHandler.handle( action.expandable, - Intent(Settings.ACTION_DARK_THEME_SETTINGS) + Intent(Settings.ACTION_DARK_THEME_SETTINGS), ) } is QSTileUserAction.ToggleClick -> {} diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/uimodenight/domain/model/UiModeNightTileModel.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/uimodenight/domain/interactor/model/UiModeNightTileModel.kt index 4fa1306d988d..edb899be5c57 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/uimodenight/domain/model/UiModeNightTileModel.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/uimodenight/domain/interactor/model/UiModeNightTileModel.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.uimodenight.domain.model +package com.android.systemui.qs.tiles.impl.uimodenight.domain.interactor.model import java.time.LocalTime @@ -31,5 +31,5 @@ data class UiModeNightTileModel( val nightModeCustomType: Int, val is24HourFormat: Boolean, val customNightModeEnd: LocalTime, - val customNightModeStart: LocalTime + val customNightModeStart: LocalTime, ) diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/uimodenight/domain/UiModeNightTileMapper.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/uimodenight/ui/mapper/UiModeNightTileMapper.kt index 5933d65bc61f..91c045101182 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/uimodenight/domain/UiModeNightTileMapper.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/uimodenight/ui/mapper/UiModeNightTileMapper.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,17 +14,17 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.uimodenight.domain +package com.android.systemui.qs.tiles.impl.uimodenight.ui.mapper import android.app.UiModeManager import android.content.res.Resources import android.content.res.Resources.Theme import android.text.TextUtils import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper -import com.android.systemui.qs.tiles.impl.uimodenight.domain.model.UiModeNightTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileDataToStateMapper +import com.android.systemui.qs.tiles.impl.uimodenight.domain.interactor.model.UiModeNightTileModel import com.android.systemui.res.R import com.android.systemui.shade.ShadeDisplayAware import java.time.LocalTime diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/work/domain/interactor/WorkModeTileDataInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/work/domain/interactor/WorkModeTileDataInteractor.kt index a2a9e87a5981..eabeb5d348f7 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/work/domain/interactor/WorkModeTileDataInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/work/domain/interactor/WorkModeTileDataInteractor.kt @@ -17,8 +17,8 @@ package com.android.systemui.qs.tiles.impl.work.domain.interactor import android.os.UserHandle -import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger -import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileDataInteractor +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.work.domain.model.WorkModeTileModel import com.android.systemui.statusbar.phone.ManagedProfileController import com.android.systemui.util.kotlin.hasActiveWorkProfile @@ -29,12 +29,11 @@ import kotlinx.coroutines.flow.map /** Observes data saver state changes providing the [WorkModeTileModel]. */ class WorkModeTileDataInteractor @Inject -constructor( - private val profileController: ManagedProfileController, -) : QSTileDataInteractor<WorkModeTileModel> { +constructor(private val profileController: ManagedProfileController) : + QSTileDataInteractor<WorkModeTileModel> { override fun tileData( user: UserHandle, - triggers: Flow<DataUpdateTrigger> + triggers: Flow<DataUpdateTrigger>, ): Flow<WorkModeTileModel> = profileController.hasActiveWorkProfile.map { hasActiveWorkProfile: Boolean -> if (hasActiveWorkProfile) { diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/work/domain/interactor/WorkModeTileUserActionInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/work/domain/interactor/WorkModeTileUserActionInteractor.kt index 45ae09eaef92..42cc996fc722 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/work/domain/interactor/WorkModeTileUserActionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/work/domain/interactor/WorkModeTileUserActionInteractor.kt @@ -18,11 +18,11 @@ package com.android.systemui.qs.tiles.impl.work.domain.interactor import android.content.Intent import android.provider.Settings -import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.interactor.QSTileInput -import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.actions.QSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileUserActionInteractor +import com.android.systemui.qs.tiles.base.domain.model.QSTileInput +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction import com.android.systemui.qs.tiles.impl.work.domain.model.WorkModeTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction import com.android.systemui.statusbar.phone.ManagedProfileController import javax.inject.Inject @@ -45,7 +45,7 @@ constructor( if (data is WorkModeTileModel.HasActiveProfile) { qsTileIntentUserActionHandler.handle( action.expandable, - Intent(Settings.ACTION_MANAGED_PROFILE_SETTINGS) + Intent(Settings.ACTION_MANAGED_PROFILE_SETTINGS), ) } } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/work/ui/WorkModeTileMapper.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/work/ui/mapper/WorkModeTileMapper.kt index 5b462ba074ec..a67c76d4fb78 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/work/ui/WorkModeTileMapper.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/work/ui/mapper/WorkModeTileMapper.kt @@ -14,17 +14,17 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.work.ui +package com.android.systemui.qs.tiles.impl.work.ui.mapper import android.app.admin.DevicePolicyManager import android.app.admin.DevicePolicyResources.Strings.SystemUi.QS_WORK_PROFILE_LABEL import android.content.res.Resources import android.service.quicksettings.Tile import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.ui.model.QSTileDataToStateMapper import com.android.systemui.qs.tiles.impl.work.domain.model.WorkModeTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.res.R import com.android.systemui.shade.ShadeDisplayAware import javax.inject.Inject diff --git a/packages/SystemUI/src/com/android/systemui/recordissue/RecordIssueModule.kt b/packages/SystemUI/src/com/android/systemui/recordissue/RecordIssueModule.kt index c092c2f86799..9023c62347d2 100644 --- a/packages/SystemUI/src/com/android/systemui/recordissue/RecordIssueModule.kt +++ b/packages/SystemUI/src/com/android/systemui/recordissue/RecordIssueModule.kt @@ -22,15 +22,15 @@ import com.android.systemui.qs.pipeline.shared.TileSpec import com.android.systemui.qs.shared.model.TileCategory import com.android.systemui.qs.tileimpl.QSTileImpl import com.android.systemui.qs.tiles.RecordIssueTile -import com.android.systemui.qs.tiles.base.viewmodel.QSTileViewModelFactory -import com.android.systemui.qs.tiles.impl.irecording.IssueRecordingDataInteractor -import com.android.systemui.qs.tiles.impl.irecording.IssueRecordingMapper -import com.android.systemui.qs.tiles.impl.irecording.IssueRecordingModel -import com.android.systemui.qs.tiles.impl.irecording.IssueRecordingUserActionInteractor -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileUIConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileViewModel -import com.android.systemui.qs.tiles.viewmodel.StubQSTileViewModel +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileUIConfig +import com.android.systemui.qs.tiles.base.ui.viewmodel.QSTileViewModel +import com.android.systemui.qs.tiles.base.ui.viewmodel.QSTileViewModelFactory +import com.android.systemui.qs.tiles.base.ui.viewmodel.StubQSTileViewModel +import com.android.systemui.qs.tiles.impl.irecording.data.model.IssueRecordingModel +import com.android.systemui.qs.tiles.impl.irecording.domain.interactor.IssueRecordingDataInteractor +import com.android.systemui.qs.tiles.impl.irecording.domain.interactor.IssueRecordingUserActionInteractor +import com.android.systemui.qs.tiles.impl.irecording.ui.mapper.IssueRecordingMapper import com.android.systemui.res.R import dagger.Binds import dagger.Module @@ -59,7 +59,7 @@ interface RecordIssueModule { uiConfig = QSTileUIConfig.Resource( iconRes = R.drawable.qs_record_issue_icon_off, - labelRes = R.string.qs_record_issue_label + labelRes = R.string.qs_record_issue_label, ), instanceId = uiEventLogger.getNewInstanceId(), category = TileCategory.UTILITIES, @@ -73,7 +73,7 @@ interface RecordIssueModule { factory: QSTileViewModelFactory.Static<IssueRecordingModel>, mapper: IssueRecordingMapper, stateInteractor: IssueRecordingDataInteractor, - userActionInteractor: IssueRecordingUserActionInteractor + userActionInteractor: IssueRecordingUserActionInteractor, ): QSTileViewModel = if (Flags.qsNewTilesFuture()) factory.create( diff --git a/packages/SystemUI/src/com/android/systemui/rotationlock/RotationLockNewModule.kt b/packages/SystemUI/src/com/android/systemui/rotationlock/RotationLockNewModule.kt index c9712fcdaa27..ba5b4ff59971 100644 --- a/packages/SystemUI/src/com/android/systemui/rotationlock/RotationLockNewModule.kt +++ b/packages/SystemUI/src/com/android/systemui/rotationlock/RotationLockNewModule.kt @@ -20,15 +20,15 @@ import com.android.systemui.camera.CameraRotationModule import com.android.systemui.qs.QsEventLogger import com.android.systemui.qs.pipeline.shared.TileSpec import com.android.systemui.qs.shared.model.TileCategory -import com.android.systemui.qs.tiles.base.interactor.QSTileAvailabilityInteractor -import com.android.systemui.qs.tiles.base.viewmodel.QSTileViewModelFactory +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileAvailabilityInteractor +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileUIConfig +import com.android.systemui.qs.tiles.base.ui.viewmodel.QSTileViewModel +import com.android.systemui.qs.tiles.base.ui.viewmodel.QSTileViewModelFactory import com.android.systemui.qs.tiles.impl.rotation.domain.interactor.RotationLockTileDataInteractor import com.android.systemui.qs.tiles.impl.rotation.domain.interactor.RotationLockTileUserActionInteractor import com.android.systemui.qs.tiles.impl.rotation.domain.model.RotationLockTileModel import com.android.systemui.qs.tiles.impl.rotation.ui.mapper.RotationLockTileMapper -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileUIConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileViewModel import com.android.systemui.res.R import dagger.Binds import dagger.Module @@ -73,7 +73,7 @@ interface RotationLockNewModule { factory: QSTileViewModelFactory.Static<RotationLockTileModel>, mapper: RotationLockTileMapper, stateInteractor: RotationLockTileDataInteractor, - userActionInteractor: RotationLockTileUserActionInteractor + userActionInteractor: RotationLockTileUserActionInteractor, ): QSTileViewModel = factory.create( TileSpec.create(ROTATION_TILE_SPEC), diff --git a/packages/SystemUI/src/com/android/systemui/screenrecord/ScreenRecordModule.kt b/packages/SystemUI/src/com/android/systemui/screenrecord/ScreenRecordModule.kt index 9a9c576c5af6..b4cc05505f23 100644 --- a/packages/SystemUI/src/com/android/systemui/screenrecord/ScreenRecordModule.kt +++ b/packages/SystemUI/src/com/android/systemui/screenrecord/ScreenRecordModule.kt @@ -24,14 +24,14 @@ import com.android.systemui.qs.pipeline.shared.TileSpec import com.android.systemui.qs.shared.model.TileCategory import com.android.systemui.qs.tileimpl.QSTileImpl import com.android.systemui.qs.tiles.ScreenRecordTile -import com.android.systemui.qs.tiles.base.interactor.QSTileAvailabilityInteractor -import com.android.systemui.qs.tiles.base.viewmodel.QSTileViewModelFactory +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileAvailabilityInteractor +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileUIConfig +import com.android.systemui.qs.tiles.base.ui.viewmodel.QSTileViewModel +import com.android.systemui.qs.tiles.base.ui.viewmodel.QSTileViewModelFactory import com.android.systemui.qs.tiles.impl.screenrecord.domain.interactor.ScreenRecordTileDataInteractor import com.android.systemui.qs.tiles.impl.screenrecord.domain.interactor.ScreenRecordTileUserActionInteractor -import com.android.systemui.qs.tiles.impl.screenrecord.domain.ui.ScreenRecordTileMapper -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileUIConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileViewModel +import com.android.systemui.qs.tiles.impl.screenrecord.domain.ui.mapper.ScreenRecordTileMapper import com.android.systemui.res.R import com.android.systemui.screenrecord.data.model.ScreenRecordModel import com.android.systemui.screenrecord.data.repository.ScreenRecordRepository @@ -86,7 +86,7 @@ interface ScreenRecordModule { factory: QSTileViewModelFactory.Static<ScreenRecordModel>, mapper: ScreenRecordTileMapper, stateInteractor: ScreenRecordTileDataInteractor, - userActionInteractor: ScreenRecordTileUserActionInteractor + userActionInteractor: ScreenRecordTileUserActionInteractor, ): QSTileViewModel = factory.create( TileSpec.create(SCREEN_RECORD_TILE_SPEC), diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/ConnectivityModule.kt b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/ConnectivityModule.kt index 48f0245fd5db..4cf456d69b7b 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/ConnectivityModule.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/ConnectivityModule.kt @@ -32,25 +32,25 @@ import com.android.systemui.qs.tiles.HotspotTile import com.android.systemui.qs.tiles.InternetTile import com.android.systemui.qs.tiles.InternetTileNewImpl import com.android.systemui.qs.tiles.NfcTile -import com.android.systemui.qs.tiles.base.interactor.QSTileAvailabilityInteractor -import com.android.systemui.qs.tiles.base.viewmodel.QSTileViewModelFactory +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileAvailabilityInteractor +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTilePolicy +import com.android.systemui.qs.tiles.base.shared.model.QSTileUIConfig +import com.android.systemui.qs.tiles.base.ui.viewmodel.QSTileViewModel +import com.android.systemui.qs.tiles.base.ui.viewmodel.QSTileViewModelFactory import com.android.systemui.qs.tiles.dialog.InternetDetailsViewModel -import com.android.systemui.qs.tiles.impl.airplane.domain.AirplaneModeMapper import com.android.systemui.qs.tiles.impl.airplane.domain.interactor.AirplaneModeTileDataInteractor import com.android.systemui.qs.tiles.impl.airplane.domain.interactor.AirplaneModeTileUserActionInteractor import com.android.systemui.qs.tiles.impl.airplane.domain.model.AirplaneModeTileModel -import com.android.systemui.qs.tiles.impl.internet.domain.InternetTileMapper +import com.android.systemui.qs.tiles.impl.airplane.ui.mapper.AirplaneModeTileMapper import com.android.systemui.qs.tiles.impl.internet.domain.interactor.InternetTileDataInteractor import com.android.systemui.qs.tiles.impl.internet.domain.interactor.InternetTileUserActionInteractor import com.android.systemui.qs.tiles.impl.internet.domain.model.InternetTileModel -import com.android.systemui.qs.tiles.impl.saver.domain.DataSaverTileMapper +import com.android.systemui.qs.tiles.impl.internet.ui.mapper.InternetTileMapper import com.android.systemui.qs.tiles.impl.saver.domain.interactor.DataSaverTileDataInteractor import com.android.systemui.qs.tiles.impl.saver.domain.interactor.DataSaverTileUserActionInteractor import com.android.systemui.qs.tiles.impl.saver.domain.model.DataSaverTileModel -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTilePolicy -import com.android.systemui.qs.tiles.viewmodel.QSTileUIConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileViewModel +import com.android.systemui.qs.tiles.impl.saver.ui.mapper.DataSaverTileMapper import com.android.systemui.res.R import dagger.Binds import dagger.Module @@ -161,10 +161,10 @@ interface ConnectivityModule { @StringKey(AIRPLANE_MODE_TILE_SPEC) fun provideAirplaneModeTileViewModel( factory: QSTileViewModelFactory.Static<AirplaneModeTileModel>, - mapper: AirplaneModeMapper, + mapper: AirplaneModeTileMapper, stateInteractor: AirplaneModeTileDataInteractor, userActionInteractor: AirplaneModeTileUserActionInteractor, - internetDetailsViewModelFactory: InternetDetailsViewModel.Factory + internetDetailsViewModelFactory: InternetDetailsViewModel.Factory, ): QSTileViewModel = factory.create( TileSpec.create(AIRPLANE_MODE_TILE_SPEC), @@ -197,7 +197,7 @@ interface ConnectivityModule { factory: QSTileViewModelFactory.Static<DataSaverTileModel>, mapper: DataSaverTileMapper, stateInteractor: DataSaverTileDataInteractor, - userActionInteractor: DataSaverTileUserActionInteractor + userActionInteractor: DataSaverTileUserActionInteractor, ): QSTileViewModel = factory.create( TileSpec.create(DATA_SAVER_TILE_SPEC), @@ -230,7 +230,7 @@ interface ConnectivityModule { mapper: InternetTileMapper, stateInteractor: InternetTileDataInteractor, userActionInteractor: InternetTileUserActionInteractor, - internetDetailsViewModelFactory: InternetDetailsViewModel.Factory + internetDetailsViewModelFactory: InternetDetailsViewModel.Factory, ): QSTileViewModel = factory.create( TileSpec.create(INTERNET_TILE_SPEC), diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/PolicyModule.kt b/packages/SystemUI/src/com/android/systemui/statusbar/policy/PolicyModule.kt index a352982f58f2..f6e0123be446 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/PolicyModule.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/PolicyModule.kt @@ -36,20 +36,25 @@ import com.android.systemui.qs.tiles.ModesDndTile import com.android.systemui.qs.tiles.ModesTile import com.android.systemui.qs.tiles.UiModeNightTile import com.android.systemui.qs.tiles.WorkModeTile -import com.android.systemui.qs.tiles.base.interactor.QSTileAvailabilityInteractor -import com.android.systemui.qs.tiles.base.viewmodel.QSTileViewModelFactory -import com.android.systemui.qs.tiles.impl.alarm.domain.AlarmTileMapper +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileAvailabilityInteractor +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTilePolicy +import com.android.systemui.qs.tiles.base.shared.model.QSTileUIConfig +import com.android.systemui.qs.tiles.base.ui.viewmodel.QSTileViewModel +import com.android.systemui.qs.tiles.base.ui.viewmodel.QSTileViewModelFactory +import com.android.systemui.qs.tiles.base.ui.viewmodel.StubQSTileViewModel import com.android.systemui.qs.tiles.impl.alarm.domain.interactor.AlarmTileDataInteractor import com.android.systemui.qs.tiles.impl.alarm.domain.interactor.AlarmTileUserActionInteractor import com.android.systemui.qs.tiles.impl.alarm.domain.model.AlarmTileModel -import com.android.systemui.qs.tiles.impl.flashlight.domain.FlashlightMapper +import com.android.systemui.qs.tiles.impl.alarm.ui.mapper.AlarmTileMapper import com.android.systemui.qs.tiles.impl.flashlight.domain.interactor.FlashlightTileDataInteractor import com.android.systemui.qs.tiles.impl.flashlight.domain.interactor.FlashlightTileUserActionInteractor import com.android.systemui.qs.tiles.impl.flashlight.domain.model.FlashlightTileModel -import com.android.systemui.qs.tiles.impl.location.domain.LocationTileMapper +import com.android.systemui.qs.tiles.impl.flashlight.ui.mapper.FlashlightMapper import com.android.systemui.qs.tiles.impl.location.domain.interactor.LocationTileDataInteractor import com.android.systemui.qs.tiles.impl.location.domain.interactor.LocationTileUserActionInteractor import com.android.systemui.qs.tiles.impl.location.domain.model.LocationTileModel +import com.android.systemui.qs.tiles.impl.location.ui.mapper.LocationTileMapper import com.android.systemui.qs.tiles.impl.modes.domain.interactor.ModesDndTileDataInteractor import com.android.systemui.qs.tiles.impl.modes.domain.interactor.ModesDndTileUserActionInteractor import com.android.systemui.qs.tiles.impl.modes.domain.interactor.ModesTileDataInteractor @@ -57,25 +62,20 @@ import com.android.systemui.qs.tiles.impl.modes.domain.interactor.ModesTileUserA import com.android.systemui.qs.tiles.impl.modes.domain.model.ModesDndTileModel import com.android.systemui.qs.tiles.impl.modes.domain.model.ModesTileModel import com.android.systemui.qs.tiles.impl.modes.ui.ModesDndTileMapper -import com.android.systemui.qs.tiles.impl.modes.ui.ModesTileMapper -import com.android.systemui.qs.tiles.impl.sensorprivacy.SensorPrivacyToggleTileDataInteractor -import com.android.systemui.qs.tiles.impl.sensorprivacy.domain.SensorPrivacyToggleTileUserActionInteractor +import com.android.systemui.qs.tiles.impl.modes.ui.mapper.ModesTileMapper +import com.android.systemui.qs.tiles.impl.sensorprivacy.domain.interactor.SensorPrivacyToggleTileDataInteractor +import com.android.systemui.qs.tiles.impl.sensorprivacy.domain.interactor.SensorPrivacyToggleTileUserActionInteractor import com.android.systemui.qs.tiles.impl.sensorprivacy.domain.model.SensorPrivacyToggleTileModel -import com.android.systemui.qs.tiles.impl.sensorprivacy.ui.SensorPrivacyTileResources -import com.android.systemui.qs.tiles.impl.sensorprivacy.ui.SensorPrivacyToggleTileMapper -import com.android.systemui.qs.tiles.impl.uimodenight.domain.UiModeNightTileMapper +import com.android.systemui.qs.tiles.impl.sensorprivacy.ui.mapper.SensorPrivacyToggleTileMapper +import com.android.systemui.qs.tiles.impl.sensorprivacy.ui.model.SensorPrivacyTileResources import com.android.systemui.qs.tiles.impl.uimodenight.domain.interactor.UiModeNightTileDataInteractor import com.android.systemui.qs.tiles.impl.uimodenight.domain.interactor.UiModeNightTileUserActionInteractor -import com.android.systemui.qs.tiles.impl.uimodenight.domain.model.UiModeNightTileModel +import com.android.systemui.qs.tiles.impl.uimodenight.domain.interactor.model.UiModeNightTileModel +import com.android.systemui.qs.tiles.impl.uimodenight.ui.mapper.UiModeNightTileMapper import com.android.systemui.qs.tiles.impl.work.domain.interactor.WorkModeTileDataInteractor import com.android.systemui.qs.tiles.impl.work.domain.interactor.WorkModeTileUserActionInteractor import com.android.systemui.qs.tiles.impl.work.domain.model.WorkModeTileModel -import com.android.systemui.qs.tiles.impl.work.ui.WorkModeTileMapper -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTilePolicy -import com.android.systemui.qs.tiles.viewmodel.QSTileUIConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileViewModel -import com.android.systemui.qs.tiles.viewmodel.StubQSTileViewModel +import com.android.systemui.qs.tiles.impl.work.ui.mapper.WorkModeTileMapper import com.android.systemui.res.R import dagger.Binds import dagger.Module diff --git a/packages/SystemUI/src/com/android/systemui/wallet/dagger/WalletModule.java b/packages/SystemUI/src/com/android/systemui/wallet/dagger/WalletModule.java index dd1c11d11d1e..e9180df0806b 100644 --- a/packages/SystemUI/src/com/android/systemui/wallet/dagger/WalletModule.java +++ b/packages/SystemUI/src/com/android/systemui/wallet/dagger/WalletModule.java @@ -28,9 +28,9 @@ import com.android.systemui.qs.pipeline.shared.TileSpec; import com.android.systemui.qs.shared.model.TileCategory; import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.qs.tiles.QuickAccessWalletTile; -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig; -import com.android.systemui.qs.tiles.viewmodel.QSTilePolicy; -import com.android.systemui.qs.tiles.viewmodel.QSTileUIConfig; +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig; +import com.android.systemui.qs.tiles.base.shared.model.QSTilePolicy; +import com.android.systemui.qs.tiles.base.shared.model.QSTileUIConfig; import com.android.systemui.res.R; import com.android.systemui.wallet.controller.WalletContextualLocationsService; import com.android.systemui.wallet.ui.WalletActivity; diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/panels/domain/interactor/EditTilesListInteractorKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/panels/domain/interactor/EditTilesListInteractorKosmos.kt index bd54fd471807..2cd270e97e61 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/panels/domain/interactor/EditTilesListInteractorKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/panels/domain/interactor/EditTilesListInteractorKosmos.kt @@ -19,7 +19,7 @@ package com.android.systemui.qs.panels.domain.interactor import com.android.systemui.kosmos.Kosmos import com.android.systemui.qs.panels.data.repository.iconAndNameCustomRepository import com.android.systemui.qs.panels.data.repository.stockTilesRepository -import com.android.systemui.qs.tiles.viewmodel.qSTileConfigProvider +import com.android.systemui.qs.tiles.base.shared.model.qSTileConfigProvider val Kosmos.editTilesListInteractor by Kosmos.Fixture { diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/panels/domain/interactor/FakeTileAvailabilityInteractor.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/panels/domain/interactor/FakeTileAvailabilityInteractor.kt index cc7eb6b4b3dc..7887762270c7 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/panels/domain/interactor/FakeTileAvailabilityInteractor.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/panels/domain/interactor/FakeTileAvailabilityInteractor.kt @@ -17,12 +17,11 @@ package com.android.systemui.qs.panels.domain.interactor import android.os.UserHandle -import com.android.systemui.qs.tiles.base.interactor.QSTileAvailabilityInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileAvailabilityInteractor import kotlinx.coroutines.flow.Flow -class FakeTileAvailabilityInteractor( - private val availabilityFlows: Map<Int, Flow<Boolean>> -) : QSTileAvailabilityInteractor { +class FakeTileAvailabilityInteractor(private val availabilityFlows: Map<Int, Flow<Boolean>>) : + QSTileAvailabilityInteractor { override fun availability(user: UserHandle): Flow<Boolean> { return availabilityFlows.getValue(user.identifier) } diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/panels/domain/interactor/NewTilesAvailabilityInteractorKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/panels/domain/interactor/NewTilesAvailabilityInteractorKosmos.kt index 40e6c75ee34a..6a65706e1f11 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/panels/domain/interactor/NewTilesAvailabilityInteractorKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/panels/domain/interactor/NewTilesAvailabilityInteractorKosmos.kt @@ -17,16 +17,13 @@ package com.android.systemui.qs.panels.domain.interactor import com.android.systemui.kosmos.Kosmos -import com.android.systemui.qs.tiles.base.interactor.QSTileAvailabilityInteractor +import com.android.systemui.qs.tiles.base.domain.interactor.QSTileAvailabilityInteractor import com.android.systemui.user.data.repository.userRepository -var Kosmos.tileAvailabilityInteractorsMap by Kosmos.Fixture { - emptyMap<String, QSTileAvailabilityInteractor>() -} +var Kosmos.tileAvailabilityInteractorsMap by + Kosmos.Fixture { emptyMap<String, QSTileAvailabilityInteractor>() } -val Kosmos.newTilesAvailabilityInteractor by Kosmos.Fixture { - NewTilesAvailabilityInteractor( - tileAvailabilityInteractorsMap, - userRepository, - ) -} +val Kosmos.newTilesAvailabilityInteractor by + Kosmos.Fixture { + NewTilesAvailabilityInteractor(tileAvailabilityInteractorsMap, userRepository) + } diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/pipeline/domain/interactor/CurrentTilesInteractorKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/pipeline/domain/interactor/CurrentTilesInteractorKosmos.kt index d97a5b2bede2..4823607c2993 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/pipeline/domain/interactor/CurrentTilesInteractorKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/pipeline/domain/interactor/CurrentTilesInteractorKosmos.kt @@ -29,7 +29,7 @@ import com.android.systemui.qs.pipeline.data.repository.tileSpecRepository import com.android.systemui.qs.pipeline.shared.logging.qsLogger import com.android.systemui.qs.pipeline.shared.pipelineFlagsRepository import com.android.systemui.qs.qsTileFactory -import com.android.systemui.qs.tiles.di.newQSTileFactory +import com.android.systemui.qs.tiles.base.ui.model.newQSTileFactory import com.android.systemui.settings.userTracker import com.android.systemui.user.data.repository.userRepository diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/actions/FakeQSTileIntentUserInputHandler.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/domain/actions/FakeQSTileIntentUserInputHandler.kt index f50443ec4e86..1319787cc030 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/actions/FakeQSTileIntentUserInputHandler.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/domain/actions/FakeQSTileIntentUserInputHandler.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.base.actions +package com.android.systemui.qs.tiles.base.domain.actions import android.app.PendingIntent import android.content.Intent @@ -34,7 +34,7 @@ class FakeQSTileIntentUserInputHandler : QSTileIntentUserInputHandler { override fun handle( expandable: Expandable?, intent: Intent, - handleDismissShadeShowOverLockScreenWhenLocked: Boolean + handleDismissShadeShowOverLockScreenWhenLocked: Boolean, ) { mutableInputs.add(Input.Intent(expandable, intent)) } @@ -42,7 +42,7 @@ class FakeQSTileIntentUserInputHandler : QSTileIntentUserInputHandler { override fun handle( expandable: Expandable?, pendingIntent: PendingIntent, - requestLaunchingDefaultActivity: Boolean + requestLaunchingDefaultActivity: Boolean, ) { mutableInputs.add( Input.PendingIntent(expandable, pendingIntent, requestLaunchingDefaultActivity) @@ -51,10 +51,11 @@ class FakeQSTileIntentUserInputHandler : QSTileIntentUserInputHandler { sealed interface Input { data class Intent(val expandable: Expandable?, val intent: android.content.Intent) : Input + data class PendingIntent( val expandable: Expandable?, val pendingIntent: android.app.PendingIntent, - val requestLaunchingDefaultActivity: Boolean + val requestLaunchingDefaultActivity: Boolean, ) : Input } } diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/actions/QSTileIntentUserInputHandlerKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/domain/actions/QSTileIntentUserInputHandlerKosmos.kt index ccfb6092a2e3..b884b8a8306b 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/actions/QSTileIntentUserInputHandlerKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/domain/actions/QSTileIntentUserInputHandlerKosmos.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.base.actions +package com.android.systemui.qs.tiles.base.domain.actions import com.android.systemui.kosmos.Kosmos diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/actions/QSTileIntentUserInputHandlerSubject.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/domain/actions/QSTileIntentUserInputHandlerSubject.kt index c1e689c0165c..3b7810ea22f0 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/actions/QSTileIntentUserInputHandlerSubject.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/domain/actions/QSTileIntentUserInputHandlerSubject.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.base.actions +package com.android.systemui.qs.tiles.base.domain.actions import com.google.common.truth.FailureMetadata import com.google.common.truth.Subject @@ -24,11 +24,11 @@ import com.google.common.truth.Truth class QSTileIntentUserInputHandlerSubject private constructor( failureMetadata: FailureMetadata, - private val subject: FakeQSTileIntentUserInputHandler + private val subject: FakeQSTileIntentUserInputHandler, ) : Subject(failureMetadata, subject) { fun handledOneIntentInput( - intentAssertions: (FakeQSTileIntentUserInputHandler.Input.Intent) -> Unit = {}, + intentAssertions: (FakeQSTileIntentUserInputHandler.Input.Intent) -> Unit = {} ) { // check that there are no other inputs check("handledInputs").that(subject.handledInputs).hasSize(1) @@ -39,7 +39,7 @@ private constructor( } fun handledOnePendingIntentInput( - intentAssertions: (FakeQSTileIntentUserInputHandler.Input.PendingIntent) -> Unit = {}, + intentAssertions: (FakeQSTileIntentUserInputHandler.Input.PendingIntent) -> Unit = {} ) { // check that there are no other inputs check("handledInputs").that(subject.handledInputs).hasSize(1) diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/interactor/DisabledByPolicyInteractorKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/domain/interactor/DisabledByPolicyInteractorKosmos.kt index 9ad49f052c9e..2ffc47972484 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/interactor/DisabledByPolicyInteractorKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/domain/interactor/DisabledByPolicyInteractorKosmos.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.base.interactor +package com.android.systemui.qs.tiles.base.domain.interactor import com.android.systemui.kosmos.Kosmos diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/interactor/FakeDisabledByPolicyInteractor.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/domain/interactor/FakeDisabledByPolicyInteractor.kt index fb6ba20e4c51..5bdeeab33f37 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/interactor/FakeDisabledByPolicyInteractor.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/domain/interactor/FakeDisabledByPolicyInteractor.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.base.interactor +package com.android.systemui.qs.tiles.base.domain.interactor import android.os.UserHandle import com.android.settingslib.RestrictedLockUtils @@ -23,7 +23,7 @@ class FakeDisabledByPolicyInteractor : DisabledByPolicyInteractor { override suspend fun isDisabled( user: UserHandle, - userRestriction: String? + userRestriction: String?, ): DisabledByPolicyInteractor.PolicyResult = if (userRestriction == DISABLED_RESTRICTION || userRestriction == DISABLED_RESTRICTION_2) { DisabledByPolicyInteractor.PolicyResult.TileDisabled( diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/interactor/FakeQSTileDataInteractor.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/domain/interactor/FakeQSTileDataInteractor.kt index 3fcf8a93dc87..6bd8152665ac 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/interactor/FakeQSTileDataInteractor.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/domain/interactor/FakeQSTileDataInteractor.kt @@ -14,9 +14,10 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.base.interactor +package com.android.systemui.qs.tiles.base.domain.interactor import android.os.UserHandle +import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.MutableSharedFlow import kotlinx.coroutines.flow.flatMapLatest @@ -26,6 +27,7 @@ class FakeQSTileDataInteractor<T> : QSTileDataInteractor<T> { private val dataFlow: MutableSharedFlow<T> = MutableSharedFlow(replay = 1) val dataSubscriptionCount get() = dataFlow.subscriptionCount + private val availabilityFlow: MutableSharedFlow<Boolean> = MutableSharedFlow(replay = 1) val availabilitySubscriptionCount get() = availabilityFlow.subscriptionCount @@ -42,6 +44,7 @@ class FakeQSTileDataInteractor<T> : QSTileDataInteractor<T> { suspend fun emitData(data: T): Unit = dataFlow.emit(data) fun tryEmitAvailability(isAvailable: Boolean): Boolean = availabilityFlow.tryEmit(isAvailable) + suspend fun emitAvailability(isAvailable: Boolean) = availabilityFlow.emit(isAvailable) override fun tileData(user: UserHandle, triggers: Flow<DataUpdateTrigger>): Flow<T> { @@ -58,5 +61,6 @@ class FakeQSTileDataInteractor<T> : QSTileDataInteractor<T> { } data class DataRequest(val user: UserHandle) + data class AvailabilityRequest(val user: UserHandle) } diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/interactor/FakeQSTileUserActionInteractor.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/domain/interactor/FakeQSTileUserActionInteractor.kt index c0584903db2d..8fd87a30e2fe 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/interactor/FakeQSTileUserActionInteractor.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/domain/interactor/FakeQSTileUserActionInteractor.kt @@ -14,10 +14,9 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.base.interactor +package com.android.systemui.qs.tiles.base.domain.interactor -import com.android.systemui.plugins.qs.TileDetailsViewModel -import com.android.systemui.qs.FakeTileDetailsViewModel +import com.android.systemui.qs.tiles.base.domain.model.QSTileInput import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.withLock diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/interactor/QSTileInputTestKtx.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/domain/model/QSTileInputTestKtx.kt index 3943d1d7ec01..5c2b4a641b0e 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/interactor/QSTileInputTestKtx.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/domain/model/QSTileInputTestKtx.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,11 +14,11 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.base.interactor +package com.android.systemui.qs.tiles.base.domain.model import android.os.UserHandle import com.android.systemui.animation.Expandable -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction object QSTileInputTestKtx { diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/viewmodel/FakeQSTileConfigProvider.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/shared/model/FakeQSTileConfigProvider.kt index d231d63a3906..97e65831b1d0 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/viewmodel/FakeQSTileConfigProvider.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/shared/model/FakeQSTileConfigProvider.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.viewmodel +package com.android.systemui.qs.tiles.base.shared.model import com.android.systemui.qs.pipeline.shared.TileSpec diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/viewmodel/QSTileConfigProviderKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/shared/model/QSTileConfigProviderKosmos.kt index 1d579797bcb3..d1b410c4f5f3 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/viewmodel/QSTileConfigProviderKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/shared/model/QSTileConfigProviderKosmos.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2024 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.viewmodel +package com.android.systemui.qs.tiles.base.shared.model import com.android.systemui.kosmos.Kosmos diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/viewmodel/QSTileConfigTestBuilder.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/shared/model/QSTileConfigTestBuilder.kt index 73d9b3233375..8938ebc2317e 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/viewmodel/QSTileConfigTestBuilder.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/shared/model/QSTileConfigTestBuilder.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.viewmodel +package com.android.systemui.qs.tiles.base.shared.model import com.android.internal.logging.InstanceId import com.android.systemui.qs.pipeline.shared.TileSpec @@ -33,14 +33,6 @@ object QSTileConfigTestBuilder { var policy: QSTilePolicy = QSTilePolicy.NoRestrictions var category: TileCategory = TileCategory.UNKNOWN - fun build() = - QSTileConfig( - tileSpec, - uiConfig, - instanceId, - category, - metricsSpec, - policy, - ) + fun build() = QSTileConfig(tileSpec, uiConfig, instanceId, category, metricsSpec, policy) } } diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/analytics/QSTileAnalyticsKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/ui/analytics/QSTileAnalyticsKosmos.kt index 146c1ad6ab70..753824b2a1c8 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/analytics/QSTileAnalyticsKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/ui/analytics/QSTileAnalyticsKosmos.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.base.analytics +package com.android.systemui.qs.tiles.base.ui.analytics import com.android.systemui.kosmos.Kosmos import com.android.systemui.util.mockito.mock diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/di/NewQSTileFactoryKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/ui/model/NewQSTileFactoryKosmos.kt index c223be44a70c..3c2973077174 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/di/NewQSTileFactoryKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/ui/model/NewQSTileFactoryKosmos.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2024 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.di +package com.android.systemui.qs.tiles.base.ui.model import android.os.UserHandle import com.android.systemui.kosmos.Kosmos @@ -22,14 +22,14 @@ import com.android.systemui.qs.instanceIdSequenceFake import com.android.systemui.qs.pipeline.domain.interactor.currentTilesInteractor import com.android.systemui.qs.pipeline.shared.TileSpec import com.android.systemui.qs.shared.model.TileCategory -import com.android.systemui.qs.tiles.base.viewmodel.QSTileViewModelFactory -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileState -import com.android.systemui.qs.tiles.viewmodel.QSTileUIConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction -import com.android.systemui.qs.tiles.viewmodel.QSTileViewModel -import com.android.systemui.qs.tiles.viewmodel.qSTileConfigProvider -import com.android.systemui.qs.tiles.viewmodel.qsTileViewModelAdaperFactory +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileState +import com.android.systemui.qs.tiles.base.shared.model.QSTileUIConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction +import com.android.systemui.qs.tiles.base.shared.model.qSTileConfigProvider +import com.android.systemui.qs.tiles.base.ui.viewmodel.QSTileViewModel +import com.android.systemui.qs.tiles.base.ui.viewmodel.QSTileViewModelFactory +import com.android.systemui.qs.tiles.base.ui.viewmodel.qsTileViewModelAdaperFactory import com.android.systemui.util.mockito.any import com.android.systemui.util.mockito.mock import com.android.systemui.util.mockito.whenever diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/impl/custom/QSTileStateSubject.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/ui/model/QSTileStateSubject.kt index 657a95a3261e..54e85f1c2718 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/impl/custom/QSTileStateSubject.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/ui/model/QSTileStateSubject.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,15 +14,11 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.impl.custom +package com.android.systemui.qs.tiles.base.ui.model -import com.android.systemui.qs.tiles.impl.custom.QSTileStateSubject.Companion.assertThat -import com.android.systemui.qs.tiles.impl.custom.QSTileStateSubject.Companion.states -import com.android.systemui.qs.tiles.impl.custom.TileSubject.Companion.assertThat -import com.android.systemui.qs.tiles.viewmodel.QSTileState +import com.android.systemui.qs.tiles.base.shared.model.QSTileState import com.google.common.truth.FailureMetadata import com.google.common.truth.Subject -import com.google.common.truth.Subject.Factory import com.google.common.truth.Truth /** diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModelAdapterKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/ui/viewmodel/QSTileViewModelAdapterKosmos.kt index de9f629ef787..cbadf8eb149d 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModelAdapterKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/ui/viewmodel/QSTileViewModelAdapterKosmos.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2024 The Android Open Source Project + * Copyright (C) 2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.qs.tiles.viewmodel +package com.android.systemui.qs.tiles.base.ui.viewmodel import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.applicationCoroutineScope diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/impl/custom/CustomTileKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/impl/custom/CustomTileKosmos.kt index 42437d5a5b81..77f561e3e9a6 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/impl/custom/CustomTileKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/impl/custom/CustomTileKosmos.kt @@ -22,11 +22,12 @@ import com.android.systemui.kosmos.testDispatcher import com.android.systemui.kosmos.testScope import com.android.systemui.plugins.activityStarter import com.android.systemui.qs.external.FakeCustomTileStatePersister -import com.android.systemui.qs.external.tileServices import com.android.systemui.qs.external.tileServicesFacade import com.android.systemui.qs.pipeline.shared.TileSpec -import com.android.systemui.qs.tiles.base.actions.FakeQSTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.logging.QSTileLogger +import com.android.systemui.qs.tiles.base.domain.actions.FakeQSTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.shared.logging.QSTileLogger +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig +import com.android.systemui.qs.tiles.base.shared.model.QSTileConfigTestBuilder import com.android.systemui.qs.tiles.impl.custom.data.repository.FakeCustomTileDefaultsRepository import com.android.systemui.qs.tiles.impl.custom.data.repository.FakeCustomTilePackageUpdatesRepository import com.android.systemui.qs.tiles.impl.custom.data.repository.FakeCustomTileRepository @@ -34,8 +35,6 @@ import com.android.systemui.qs.tiles.impl.custom.data.repository.FakePackageMana import com.android.systemui.qs.tiles.impl.custom.domain.interactor.CustomTileInteractor import com.android.systemui.qs.tiles.impl.custom.domain.interactor.CustomTileServiceInteractor import com.android.systemui.qs.tiles.impl.custom.domain.interactor.CustomTileUserActionInteractor -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig -import com.android.systemui.qs.tiles.viewmodel.QSTileConfigTestBuilder import com.android.systemui.user.data.repository.userRepository import com.android.systemui.util.mockito.mock diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/impl/custom/data/repository/FakeCustomTileDefaultsRepository.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/impl/custom/data/repository/FakeCustomTileDefaultsRepository.kt index ccba07273f1e..7b9d601c59ff 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/impl/custom/data/repository/FakeCustomTileDefaultsRepository.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/impl/custom/data/repository/FakeCustomTileDefaultsRepository.kt @@ -18,7 +18,7 @@ package com.android.systemui.qs.tiles.impl.custom.data.repository import android.content.ComponentName import android.os.UserHandle -import com.android.systemui.qs.tiles.impl.custom.data.entity.CustomTileDefaults +import com.android.systemui.qs.tiles.impl.custom.data.model.CustomTileDefaults import kotlinx.coroutines.channels.BufferOverflow import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.MutableSharedFlow @@ -31,7 +31,7 @@ class FakeCustomTileDefaultsRepository : CustomTileDefaultsRepository { private val defaultsFlow = MutableSharedFlow<DefaultsRequest>( replay = 1, - onBufferOverflow = BufferOverflow.DROP_OLDEST + onBufferOverflow = BufferOverflow.DROP_OLDEST, ) private val mutableDefaultsRequests: MutableList<DefaultsRequest> = mutableListOf() @@ -51,7 +51,7 @@ class FakeCustomTileDefaultsRepository : CustomTileDefaultsRepository { override fun requestNewDefaults( user: UserHandle, componentName: ComponentName, - force: Boolean + force: Boolean, ) { val request = DefaultsRequest(user, componentName, force) mutableDefaultsRequests.add(request) diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/impl/custom/data/repository/FakeCustomTileRepository.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/impl/custom/data/repository/FakeCustomTileRepository.kt index c110da057a4e..c9ed71c3ae21 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/impl/custom/data/repository/FakeCustomTileRepository.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/impl/custom/data/repository/FakeCustomTileRepository.kt @@ -20,7 +20,7 @@ import android.os.UserHandle import android.service.quicksettings.Tile import com.android.systemui.qs.external.FakeCustomTileStatePersister import com.android.systemui.qs.pipeline.shared.TileSpec -import com.android.systemui.qs.tiles.impl.custom.data.entity.CustomTileDefaults +import com.android.systemui.qs.tiles.impl.custom.data.model.CustomTileDefaults import kotlin.coroutines.CoroutineContext import kotlinx.coroutines.flow.Flow @@ -54,11 +54,8 @@ class FakeCustomTileRepository( override suspend fun isTileToggleable(): Boolean = realDelegate.isTileToggleable() - override suspend fun updateWithTile( - user: UserHandle, - newTile: Tile, - isPersistable: Boolean, - ) = realDelegate.updateWithTile(user, newTile, isPersistable) + override suspend fun updateWithTile(user: UserHandle, newTile: Tile, isPersistable: Boolean) = + realDelegate.updateWithTile(user, newTile, isPersistable) override suspend fun updateWithDefaults( user: UserHandle, diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesTileUserActionInteractorKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesTileUserActionInteractorKosmos.kt index 3f07d05a4786..f94da17ad923 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesTileUserActionInteractorKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/impl/modes/domain/interactor/ModesTileUserActionInteractorKosmos.kt @@ -18,7 +18,7 @@ package com.android.systemui.qs.tiles.impl.modes.domain.interactor import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.mainCoroutineContext -import com.android.systemui.qs.tiles.base.actions.qsTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.actions.qsTileIntentUserInputHandler import com.android.systemui.statusbar.policy.domain.interactor.zenModeInteractor import com.android.systemui.statusbar.policy.ui.dialog.modesDialogDelegate import com.android.systemui.statusbar.policy.ui.dialog.modesDialogEventLogger diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/impl/qr/QRCodeScannerTileKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/impl/qr/QRCodeScannerTileKosmos.kt index 537be4fc2527..5cd11e065553 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/impl/qr/QRCodeScannerTileKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/impl/qr/QRCodeScannerTileKosmos.kt @@ -23,17 +23,17 @@ import com.android.systemui.kosmos.applicationCoroutineScope import com.android.systemui.kosmos.backgroundCoroutineContext import com.android.systemui.kosmos.testDispatcher import com.android.systemui.kosmos.testScope -import com.android.systemui.qrcodescanner.dagger.QRCodeScannerModule import com.android.systemui.qrcodescanner.qrCodeScannerController import com.android.systemui.qs.qsEventLogger -import com.android.systemui.qs.tiles.base.actions.qsTileIntentUserInputHandler -import com.android.systemui.qs.tiles.base.analytics.qsTileAnalytics -import com.android.systemui.qs.tiles.base.interactor.fakeDisabledByPolicyInteractor -import com.android.systemui.qs.tiles.base.viewmodel.QSTileViewModelImpl +import com.android.systemui.qs.tiles.base.domain.actions.qsTileIntentUserInputHandler +import com.android.systemui.qs.tiles.base.domain.interactor.fakeDisabledByPolicyInteractor +import com.android.systemui.qs.tiles.base.ui.analytics.qsTileAnalytics +import com.android.systemui.qs.tiles.base.ui.viewmodel.QSTileViewModelImpl import com.android.systemui.qs.tiles.impl.custom.qsTileLogger import com.android.systemui.qs.tiles.impl.qr.domain.interactor.QRCodeScannerTileDataInteractor import com.android.systemui.qs.tiles.impl.qr.domain.interactor.QRCodeScannerTileUserActionInteractor -import com.android.systemui.qs.tiles.impl.qr.ui.QRCodeScannerTileMapper +import com.android.systemui.qs.tiles.impl.qr.ui.mapper.QRCodeScannerTileMapper +import com.android.systemui.qs.tiles.impl.qr.ui.model.QRCodeScannerModule import com.android.systemui.user.data.repository.fakeUserRepository import com.android.systemui.util.time.systemClock @@ -45,7 +45,7 @@ val Kosmos.qrCodeScannerTileDataInteractor by QRCodeScannerTileDataInteractor( backgroundCoroutineContext, applicationCoroutineScope, - qrCodeScannerController + qrCodeScannerController, ) } diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/impl/uimodenight/UiModeNightTileModelHelper.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/impl/uimodenight/UiModeNightTileModelHelper.kt index 1fe18e3f4d8e..0045960c19ce 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/impl/uimodenight/UiModeNightTileModelHelper.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/impl/uimodenight/UiModeNightTileModelHelper.kt @@ -17,7 +17,7 @@ package com.android.systemui.qs.tiles.impl.uimodenight import android.content.res.Configuration -import com.android.systemui.qs.tiles.impl.uimodenight.domain.model.UiModeNightTileModel +import com.android.systemui.qs.tiles.impl.uimodenight.domain.interactor.model.UiModeNightTileModel import java.time.LocalTime object UiModeNightTileModelHelper { @@ -34,7 +34,7 @@ object UiModeNightTileModelHelper { nighModeCustomType: Int = DEFAULT_NIGHT_MODE_CUSTOM_TYPE, is24HourFormat: Boolean = false, customNightModeEnd: LocalTime = defaultCustomNightEnd, - customNightModeStart: LocalTime = defaultCustomNightStart + customNightModeStart: LocalTime = defaultCustomNightStart, ): UiModeNightTileModel { return UiModeNightTileModel( uiMode, @@ -44,7 +44,7 @@ object UiModeNightTileModelHelper { nighModeCustomType, is24HourFormat, customNightModeEnd, - customNightModeStart + customNightModeStart, ) } } |