summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Daniel Akinola <dakinola@google.com> 2025-02-12 13:30:07 +0000
committer Daniel Akinola <dakinola@google.com> 2025-02-17 07:07:21 -0800
commit781047c09278ede161dba4fdc8b4a146e559ba6c (patch)
treea47a9fda2945edebd431d5a762b02bff932d2b56
parent400e09b4af12a214fcee8663d9bf231226840bac (diff)
Update files for Shade Dialog linter
Added a new linter which shows places which use the wrong context for dialogs created through the QS shade, so updating these few occurences to ensure the relevant components work properly on an external display Bug: 385331017 Test: running linter Test: atest BiometricNotificationDialogFactoryTest Test: atest DataSaverDialogDelegateTest Test: atest DataSaverTileActionInteractorTest Flag: EXEMPT refactor only Change-Id: I50b15ae5c0e73f4797bbd2db6afcde3267cb040a
-rw-r--r--packages/SystemUI/lint-baseline.xml11
-rw-r--r--packages/SystemUI/multivalentTests/src/com/android/systemui/biometrics/BiometricNotificationDialogFactoryTest.java9
-rw-r--r--packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/saver/domain/DataSaverDialogDelegateTest.kt8
-rw-r--r--packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/saver/domain/interactor/DataSaverTileUserActionInteractorTest.kt14
-rw-r--r--packages/SystemUI/src/com/android/systemui/biometrics/BiometricNotificationDialogFactory.java10
-rw-r--r--packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java7
-rw-r--r--packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/KeyguardMediaController.kt2
-rw-r--r--packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaCarouselController.kt4
-rw-r--r--packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaControlPanel.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaHierarchyManager.kt2
-rw-r--r--packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaViewController.kt4
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/tiles/impl/saver/domain/DataSaverDialogDelegate.kt7
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/tiles/impl/saver/domain/interactor/DataSaverTileUserActionInteractor.kt14
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/user/UserSwitchDialogController.kt3
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceController.kt2
15 files changed, 65 insertions, 34 deletions
diff --git a/packages/SystemUI/lint-baseline.xml b/packages/SystemUI/lint-baseline.xml
index b0963d352990..993932c8a041 100644
--- a/packages/SystemUI/lint-baseline.xml
+++ b/packages/SystemUI/lint-baseline.xml
@@ -32784,4 +32784,15 @@
column="23"/>
</issue>
+ <issue
+ id="ShadeDisplayAwareContextChecker"
+ message="UI elements of the shade window should use ShadeDisplayAware-annotated Context, as the shade might move between windows, and only @ShadeDisplayAware resources are updated with the new configuration correctly. Failures to do so might result in wrong dimensions for shade window classes (e.g. using the wrong density or theme). If the usage of Context is not related to display specific configuration or UI, then there is technically no need to use the annotation, and you can annotate the class with @SuppressLint(&quot;ShadeDisplayAwareContextChecker&quot;)/@Suppress(&quot;ShadeDisplayAwareContextChecker&quot;)"
+ errorLine1=" @QSThemedContext Context context,"
+ errorLine2=" ~~~~~~~">
+ <location
+ file="frameworks/base/packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java"
+ line="126"
+ column="38"/>
+ </issue>
+
</issues>
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/biometrics/BiometricNotificationDialogFactoryTest.java b/packages/SystemUI/multivalentTests/src/com/android/systemui/biometrics/BiometricNotificationDialogFactoryTest.java
index 197cb843ba5f..9c3ef0426ee0 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/biometrics/BiometricNotificationDialogFactoryTest.java
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/biometrics/BiometricNotificationDialogFactoryTest.java
@@ -25,6 +25,7 @@ import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
@@ -39,6 +40,7 @@ import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest;
import com.android.systemui.SysuiTestCase;
+import com.android.systemui.shade.domain.interactor.FakeShadeDialogContextInteractor;
import com.android.systemui.statusbar.phone.SystemUIDialog;
import org.junit.Before;
@@ -65,22 +67,25 @@ public class BiometricNotificationDialogFactoryTest extends SysuiTestCase {
@Mock SystemUIDialog.Factory mSystemUIDialogFactory;
@Mock SystemUIDialog mDialog;
@Mock BiometricNotificationDialogFactory.ActivityStarter mActivityStarter;
-
private final ArgumentCaptor<DialogInterface.OnClickListener> mOnClickListenerArgumentCaptor =
ArgumentCaptor.forClass(DialogInterface.OnClickListener.class);
private final ArgumentCaptor<Intent> mIntentArgumentCaptor =
ArgumentCaptor.forClass(Intent.class);
private BiometricNotificationDialogFactory mDialogFactory;
+ private FakeShadeDialogContextInteractor mDialogContextInteractor;
@Before
public void setUp() throws ExecutionException, InterruptedException {
when(mFingerprintManager.hasEnrolledTemplates(anyInt())).thenReturn(true);
when(mFaceManager.hasEnrolledTemplates(anyInt())).thenReturn(true);
- when(mSystemUIDialogFactory.create()).thenReturn(mDialog);
+ when(mSystemUIDialogFactory.create(any(Context.class))).thenReturn(mDialog);
+
+ mDialogContextInteractor = new FakeShadeDialogContextInteractor(mContext);
mDialogFactory = new BiometricNotificationDialogFactory(
mResources,
mSystemUIDialogFactory,
+ mDialogContextInteractor,
mFingerprintManager,
mFaceManager
);
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/saver/domain/DataSaverDialogDelegateTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/saver/domain/DataSaverDialogDelegateTest.kt
index 97a10e68960f..e5191e92c6d8 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/saver/domain/DataSaverDialogDelegateTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/saver/domain/DataSaverDialogDelegateTest.kt
@@ -23,6 +23,7 @@ import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.internal.R
import com.android.systemui.SysuiTestCase
+import com.android.systemui.shade.domain.interactor.FakeShadeDialogContextInteractor
import com.android.systemui.statusbar.phone.SystemUIDialog
import com.android.systemui.util.mockito.any
import com.android.systemui.util.mockito.eq
@@ -46,24 +47,27 @@ class DataSaverDialogDelegateTest : SysuiTestCase() {
private lateinit var sysuiDialogFactory: SystemUIDialog.Factory
private lateinit var sysuiDialog: SystemUIDialog
private lateinit var dataSaverDialogDelegate: DataSaverDialogDelegate
+ private lateinit var contextInteractor: FakeShadeDialogContextInteractor
@Before
fun setup() {
sysuiDialog = mock<SystemUIDialog>()
sysuiDialogFactory = mock<SystemUIDialog.Factory>()
+ contextInteractor = FakeShadeDialogContextInteractor(context)
dataSaverDialogDelegate =
DataSaverDialogDelegate(
sysuiDialogFactory,
- context,
+ contextInteractor,
EmptyCoroutineContext,
dataSaverController,
- mock<SharedPreferences>()
+ mock<SharedPreferences>(),
)
whenever(sysuiDialogFactory.create(eq(dataSaverDialogDelegate), eq(context)))
.thenReturn(sysuiDialog)
}
+
@Test
fun delegateSetsDialogTitleCorrectly() {
val expectedResId = R.string.data_saver_enable_title
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 2e9f24c67cad..87ac034a6316 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
@@ -29,6 +29,7 @@ import com.android.systemui.qs.tiles.base.actions.intentInputs
import com.android.systemui.qs.tiles.base.interactor.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
import com.android.systemui.statusbar.phone.SystemUIDialog
import com.android.systemui.util.mockito.any
import com.android.systemui.util.mockito.eq
@@ -53,17 +54,19 @@ class DataSaverTileUserActionInteractorTest : SysuiTestCase() {
private lateinit var sharedPreferences: SharedPreferences
private lateinit var dialogFactory: SystemUIDialog.Factory
private lateinit var underTest: DataSaverTileUserActionInteractor
+ private lateinit var contextInteractor: FakeShadeDialogContextInteractor
@Before
fun setup() {
userFileManager = mock<UserFileManager>()
sharedPreferences = mock<SharedPreferences>()
dialogFactory = mock<SystemUIDialog.Factory>()
+ contextInteractor = FakeShadeDialogContextInteractor(mContext)
whenever(
userFileManager.getSharedPreferences(
eq(DataSaverTileUserActionInteractor.PREFS),
eq(Context.MODE_PRIVATE),
- eq(context.userId)
+ eq(context.userId),
)
)
.thenReturn(sharedPreferences)
@@ -71,6 +74,7 @@ class DataSaverTileUserActionInteractorTest : SysuiTestCase() {
underTest =
DataSaverTileUserActionInteractor(
context,
+ contextInteractor,
EmptyCoroutineContext,
EmptyCoroutineContext,
dataSaverController,
@@ -87,7 +91,7 @@ class DataSaverTileUserActionInteractorTest : SysuiTestCase() {
whenever(
sharedPreferences.getBoolean(
eq(DataSaverTileUserActionInteractor.DIALOG_SHOWN),
- any()
+ any(),
)
)
.thenReturn(true)
@@ -107,7 +111,7 @@ class DataSaverTileUserActionInteractorTest : SysuiTestCase() {
whenever(
sharedPreferences.getBoolean(
eq(DataSaverTileUserActionInteractor.DIALOG_SHOWN),
- any()
+ any(),
)
)
.thenReturn(false)
@@ -128,7 +132,7 @@ class DataSaverTileUserActionInteractorTest : SysuiTestCase() {
whenever(
sharedPreferences.getBoolean(
eq(DataSaverTileUserActionInteractor.DIALOG_SHOWN),
- any()
+ any(),
)
)
.thenReturn(false)
@@ -144,7 +148,7 @@ class DataSaverTileUserActionInteractorTest : SysuiTestCase() {
whenever(
sharedPreferences.getBoolean(
eq(DataSaverTileUserActionInteractor.DIALOG_SHOWN),
- any()
+ any(),
)
)
.thenReturn(true)
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/BiometricNotificationDialogFactory.java b/packages/SystemUI/src/com/android/systemui/biometrics/BiometricNotificationDialogFactory.java
index 4ac5a12dae03..f7efabac0d14 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/BiometricNotificationDialogFactory.java
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/BiometricNotificationDialogFactory.java
@@ -32,6 +32,7 @@ import android.util.Log;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.res.R;
+import com.android.systemui.shade.domain.interactor.ShadeDialogContextInteractor;
import com.android.systemui.statusbar.phone.SystemUIDialog;
import javax.inject.Inject;
@@ -44,6 +45,7 @@ public class BiometricNotificationDialogFactory {
private static final String TAG = "BiometricNotificationDialogFactory";
private final Resources mResources;
private final SystemUIDialog.Factory mSystemUIDialogFactory;
+ private final ShadeDialogContextInteractor mDialogContextInteractor;
@Nullable private final FingerprintManager mFingerprintManager;
@Nullable private final FaceManager mFaceManager;
@@ -51,10 +53,12 @@ public class BiometricNotificationDialogFactory {
BiometricNotificationDialogFactory(
@Main Resources resources,
SystemUIDialog.Factory systemUIDialogFactory,
+ ShadeDialogContextInteractor shadeDialogContextInteractor,
@Nullable FingerprintManager fingerprintManager,
@Nullable FaceManager faceManager) {
mResources = resources;
mSystemUIDialogFactory = systemUIDialogFactory;
+ mDialogContextInteractor = shadeDialogContextInteractor;
mFingerprintManager = fingerprintManager;
mFaceManager = faceManager;
}
@@ -62,7 +66,8 @@ public class BiometricNotificationDialogFactory {
Dialog createReenrollDialog(
int userId, ActivityStarter activityStarter, BiometricSourceType biometricSourceType,
boolean isReenrollForced) {
- SystemUIDialog sysuiDialog = mSystemUIDialogFactory.create();
+ SystemUIDialog sysuiDialog =
+ mSystemUIDialogFactory.create(mDialogContextInteractor.getContext());
if (biometricSourceType == BiometricSourceType.FACE) {
sysuiDialog.setTitle(mResources.getString(R.string.face_re_enroll_dialog_title));
sysuiDialog.setMessage(mResources.getString(R.string.face_re_enroll_dialog_content));
@@ -90,7 +95,8 @@ public class BiometricNotificationDialogFactory {
}
private Dialog createReenrollFailureDialog(BiometricSourceType biometricType) {
- final SystemUIDialog sysuiDialog = mSystemUIDialogFactory.create();
+ final SystemUIDialog sysuiDialog =
+ mSystemUIDialogFactory.create(mDialogContextInteractor.getContext());
if (biometricType == BiometricSourceType.FACE) {
sysuiDialog.setMessage(mResources.getString(
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java
index fd11fa5d3e80..88694ae6db51 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java
@@ -94,6 +94,7 @@ import com.android.systemui.log.SessionTracker;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.power.domain.interactor.PowerInteractor;
+import com.android.systemui.shade.ShadeDisplayAware;
import com.android.systemui.shade.domain.interactor.ShadeInteractor;
import com.android.systemui.shared.system.SysUiStatsLog;
import com.android.systemui.statusbar.VibratorHelper;
@@ -656,9 +657,9 @@ public class UdfpsController implements DozeReceiver, Dumpable {
}
@Inject
- public UdfpsController(@NonNull Context context,
+ public UdfpsController(@NonNull @Main Context context,
@NonNull Execution execution,
- @NonNull LayoutInflater inflater,
+ @NonNull @ShadeDisplayAware LayoutInflater inflater,
@Nullable FingerprintManager fingerprintManager,
@NonNull ViewCaptureAwareWindowManager viewCaptureAwareWindowManager,
@NonNull StatusBarStateController statusBarStateController,
@@ -676,7 +677,7 @@ public class UdfpsController implements DozeReceiver, Dumpable {
@NonNull KeyguardStateController keyguardStateController,
@NonNull DisplayManager displayManager,
@Main Handler mainHandler,
- @NonNull ConfigurationController configurationController,
+ @NonNull @Main ConfigurationController configurationController,
@NonNull SystemClock systemClock,
@NonNull UnlockedScreenOffAnimationController unlockedScreenOffAnimationController,
@NonNull SystemUIDialogManager dialogManager,
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/KeyguardMediaController.kt b/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/KeyguardMediaController.kt
index 606f71a162d8..d26a723035c0 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/KeyguardMediaController.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/KeyguardMediaController.kt
@@ -55,7 +55,7 @@ constructor(
private val bypassController: KeyguardBypassController,
private val statusBarStateController: SysuiStatusBarStateController,
@ShadeDisplayAware private val context: Context,
- configurationController: ConfigurationController,
+ @ShadeDisplayAware configurationController: ConfigurationController,
private val splitShadeStateController: SplitShadeStateController,
private val logger: KeyguardMediaControllerLogger,
dumpManager: DumpManager,
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaCarouselController.kt b/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaCarouselController.kt
index 93c4bafe4273..55d8b8c4def0 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaCarouselController.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaCarouselController.kt
@@ -132,7 +132,7 @@ class MediaCarouselController
@Inject
constructor(
@Application applicationScope: CoroutineScope,
- private val context: Context,
+ @Main private val context: Context,
private val mediaControlPanelFactory: Provider<MediaControlPanel>,
private val visualStabilityProvider: VisualStabilityProvider,
private val mediaHostStatesManager: MediaHostStatesManager,
@@ -143,7 +143,7 @@ constructor(
@Background private val bgExecutor: Executor,
@Background private val backgroundDispatcher: CoroutineDispatcher,
private val mediaManager: MediaDataManager,
- configurationController: ConfigurationController,
+ @Main configurationController: ConfigurationController,
private val falsingManager: FalsingManager,
dumpManager: DumpManager,
private val logger: MediaUiEventLogger,
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaControlPanel.java b/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaControlPanel.java
index 2bf6a10c5258..9b79dafc3b70 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaControlPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaControlPanel.java
@@ -305,7 +305,7 @@ public class MediaControlPanel {
*/
@Inject
public MediaControlPanel(
- Context context,
+ @Main Context context,
@Background Executor backgroundExecutor,
@Main DelayableExecutor mainExecutor,
ActivityStarter activityStarter,
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaHierarchyManager.kt b/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaHierarchyManager.kt
index 20593942148b..b64cb3dd456a 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaHierarchyManager.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaHierarchyManager.kt
@@ -113,7 +113,7 @@ constructor(
private val dreamOverlayStateController: DreamOverlayStateController,
private val keyguardInteractor: KeyguardInteractor,
communalTransitionViewModel: CommunalTransitionViewModel,
- configurationController: ConfigurationController,
+ @ShadeDisplayAware configurationController: ConfigurationController,
wakefulnessLifecycle: WakefulnessLifecycle,
shadeInteractor: ShadeInteractor,
private val secureSettings: SecureSettings,
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaViewController.kt b/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaViewController.kt
index 2b36872dbe36..c21e2df1c390 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaViewController.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaViewController.kt
@@ -81,8 +81,8 @@ import javax.inject.Inject
open class MediaViewController
@Inject
constructor(
- private val context: Context,
- private val configurationController: ConfigurationController,
+ @Main private val context: Context,
+ @Main private val configurationController: ConfigurationController,
private val mediaHostStatesManager: MediaHostStatesManager,
private val logger: MediaViewLogger,
private val seekBarViewModel: SeekBarViewModel,
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/saver/domain/DataSaverDialogDelegate.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/saver/domain/DataSaverDialogDelegate.kt
index d0f258052f04..76ff88506fb6 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/saver/domain/DataSaverDialogDelegate.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/saver/domain/DataSaverDialogDelegate.kt
@@ -16,7 +16,6 @@
package com.android.systemui.qs.tiles.impl.saver.domain
-import android.content.Context
import android.content.DialogInterface
import android.content.SharedPreferences
import android.os.Bundle
@@ -24,7 +23,7 @@ import com.android.app.tracing.coroutines.launchTraced as launch
import com.android.internal.R
import com.android.systemui.coroutines.newTracingContext
import com.android.systemui.qs.tiles.impl.saver.domain.interactor.DataSaverTileUserActionInteractor
-import com.android.systemui.shade.ShadeDisplayAware
+import com.android.systemui.shade.domain.interactor.ShadeDialogContextInteractor
import com.android.systemui.statusbar.phone.SystemUIDialog
import com.android.systemui.statusbar.policy.DataSaverController
import kotlin.coroutines.CoroutineContext
@@ -32,13 +31,13 @@ import kotlinx.coroutines.CoroutineScope
class DataSaverDialogDelegate(
private val sysuiDialogFactory: SystemUIDialog.Factory,
- @ShadeDisplayAware private val context: Context,
+ private val contextInteractor: ShadeDialogContextInteractor,
private val backgroundContext: CoroutineContext,
private val dataSaverController: DataSaverController,
private val sharedPreferences: SharedPreferences,
) : SystemUIDialog.Delegate {
override fun createDialog(): SystemUIDialog {
- return sysuiDialogFactory.create(this, context)
+ return sysuiDialogFactory.create(this, contextInteractor.context)
}
override fun beforeCreate(dialog: SystemUIDialog, savedInstanceState: Bundle?) {
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 05bdf0a92679..63a9f594b05c 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
@@ -22,7 +22,6 @@ import android.provider.Settings
import com.android.internal.jank.InteractionJankMonitor
import com.android.systemui.animation.DialogCuj
import com.android.systemui.animation.DialogTransitionAnimator
-import com.android.systemui.dagger.qualifiers.Application
import com.android.systemui.dagger.qualifiers.Background
import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandler
@@ -33,6 +32,7 @@ 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
import com.android.systemui.statusbar.phone.SystemUIDialog
import com.android.systemui.statusbar.policy.DataSaverController
import javax.inject.Inject
@@ -44,6 +44,7 @@ class DataSaverTileUserActionInteractor
@Inject
constructor(
@ShadeDisplayAware private val context: Context,
+ private val contextInteractor: ShadeDialogContextInteractor,
@Main private val coroutineContext: CoroutineContext,
@Background private val backgroundContext: CoroutineContext,
private val dataSaverController: DataSaverController,
@@ -79,18 +80,19 @@ constructor(
val dialogDelegate =
DataSaverDialogDelegate(
systemUIDialogFactory,
- context,
+ contextInteractor,
backgroundContext,
dataSaverController,
- sharedPreferences
+ sharedPreferences,
)
- val dialog = systemUIDialogFactory.create(dialogDelegate, context)
+ val dialog =
+ systemUIDialogFactory.create(dialogDelegate, contextInteractor.context)
action.expandable
?.dialogTransitionController(
DialogCuj(
InteractionJankMonitor.CUJ_SHADE_DIALOG_OPEN,
- INTERACTION_JANK_TAG
+ INTERACTION_JANK_TAG,
)
)
?.let { controller ->
@@ -101,7 +103,7 @@ constructor(
is QSTileUserAction.LongClick -> {
qsTileIntentUserActionHandler.handle(
action.expandable,
- Intent(Settings.ACTION_DATA_SAVER_SETTINGS)
+ Intent(Settings.ACTION_DATA_SAVER_SETTINGS),
)
}
is QSTileUserAction.ToggleClick -> {}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/user/UserSwitchDialogController.kt b/packages/SystemUI/src/com/android/systemui/qs/user/UserSwitchDialogController.kt
index 862dba1e7294..e775231ef2a2 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/user/UserSwitchDialogController.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/user/UserSwitchDialogController.kt
@@ -65,8 +65,7 @@ constructor(
* [userDetailViewAdapterProvider] and show it as launched from [expandable].
*/
fun showDialog(expandable: Expandable) {
- val context = shadeDialogContextInteractor.context
- with(dialogFactory.create(context)) {
+ with(dialogFactory.create(shadeDialogContextInteractor.context)) {
setShowForAllUsers(true)
setCanceledOnTouchOutside(true)
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceController.kt
index 7b5f5f6d8060..e6dd09b1e1b2 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceController.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceController.kt
@@ -97,7 +97,7 @@ constructor(
private val secureSettings: SecureSettings,
private val userTracker: UserTracker,
private val contentResolver: ContentResolver,
- private val configurationController: ConfigurationController,
+ @ShadeDisplayAware private val configurationController: ConfigurationController,
private val statusBarStateController: StatusBarStateController,
private val deviceProvisionedController: DeviceProvisionedController,
private val bypassController: KeyguardBypassController,