diff options
| author | 2025-02-12 13:30:07 +0000 | |
|---|---|---|
| committer | 2025-02-17 07:07:21 -0800 | |
| commit | 781047c09278ede161dba4fdc8b4a146e559ba6c (patch) | |
| tree | a47a9fda2945edebd431d5a762b02bff932d2b56 | |
| parent | 400e09b4af12a214fcee8663d9bf231226840bac (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
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("ShadeDisplayAwareContextChecker")/@Suppress("ShadeDisplayAwareContextChecker")" + 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, |