summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/multivalentTests/src/com/android/systemui/qs/FgsManagerControllerTest.java5
-rw-r--r--packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/DataSaverTileTest.kt3
-rw-r--r--packages/SystemUI/multivalentTests/src/com/android/systemui/qs/user/UserSwitchDialogControllerTest.kt55
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/FgsManagerController.kt3
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/tiles/DataSaverTile.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogDelegate.java4
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/tiles/impl/saver/domain/DataSaverDialogDelegate.kt5
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/user/UserSwitchDialogController.kt58
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogDelegateTest.java9
9 files changed, 74 insertions, 70 deletions
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/FgsManagerControllerTest.java b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/FgsManagerControllerTest.java
index 0356422bda04..004aeb069a14 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/FgsManagerControllerTest.java
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/FgsManagerControllerTest.java
@@ -122,7 +122,7 @@ public class FgsManagerControllerTest extends SysuiTestCase {
mSystemClock = new FakeSystemClock();
mMainExecutor = new FakeExecutor(mSystemClock);
mBackgroundExecutor = new FakeExecutor(mSystemClock);
- when(mSystemUIDialogFactory.create()).thenReturn(mSystemUIDialog);
+ when(mSystemUIDialogFactory.create(eq(mContext))).thenReturn(mSystemUIDialog);
mUserProfiles = new ArrayList<>();
Mockito.doReturn(mUserProfiles).when(mUserTracker).getUserProfiles();
@@ -346,6 +346,7 @@ public class FgsManagerControllerTest extends SysuiTestCase {
SystemUiDeviceConfigFlags.TASK_MANAGER_SHOW_USER_VISIBLE_JOBS,
"true", false);
FgsManagerController fmc = new FgsManagerControllerImpl(
+ mContext,
mContext.getResources(),
mMainExecutor,
mBackgroundExecutor,
@@ -373,6 +374,7 @@ public class FgsManagerControllerTest extends SysuiTestCase {
SystemUiDeviceConfigFlags.TASK_MANAGER_SHOW_USER_VISIBLE_JOBS,
"false", false);
fmc = new FgsManagerControllerImpl(
+ mContext,
mContext.getResources(),
mMainExecutor,
mBackgroundExecutor,
@@ -485,6 +487,7 @@ public class FgsManagerControllerTest extends SysuiTestCase {
ArgumentCaptor.forClass(BroadcastReceiver.class);
FgsManagerController result = new FgsManagerControllerImpl(
+ mContext,
mContext.getResources(),
mMainExecutor,
mBackgroundExecutor,
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/DataSaverTileTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/DataSaverTileTest.kt
index 27fd2818ea88..fbbdc46a7873 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/DataSaverTileTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/DataSaverTileTest.kt
@@ -46,6 +46,7 @@ import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mock
import org.mockito.MockitoAnnotations
+import org.mockito.kotlin.eq
import platform.test.runner.parameterized.ParameterizedAndroidJunit4
import platform.test.runner.parameterized.Parameters
@@ -79,7 +80,7 @@ class DataSaverTileTest(flags: FlagsParameterization) : SysuiTestCase() {
testableLooper = TestableLooper.get(this)
whenever(mHost.context).thenReturn(mContext)
- whenever(systemUIDialogFactory.create()).thenReturn(systemUIDialog)
+ whenever(systemUIDialogFactory.create(eq(mContext))).thenReturn(systemUIDialog)
tile =
DataSaverTile(
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/user/UserSwitchDialogControllerTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/user/UserSwitchDialogControllerTest.kt
index ad6c64b32ddc..039a1dc05c79 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/user/UserSwitchDialogControllerTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/user/UserSwitchDialogControllerTest.kt
@@ -32,7 +32,6 @@ import com.android.systemui.qs.PseudoGridView
import com.android.systemui.qs.QSUserSwitcherEvent
import com.android.systemui.qs.tiles.UserDetailView
import com.android.systemui.statusbar.phone.SystemUIDialog
-import com.android.systemui.util.mockito.any
import com.android.systemui.util.mockito.capture
import com.android.systemui.util.mockito.eq
import com.android.systemui.util.mockito.mock
@@ -51,31 +50,22 @@ import org.mockito.Mockito.never
import org.mockito.Mockito.verify
import org.mockito.Mockito.`when`
import org.mockito.MockitoAnnotations
+import org.mockito.kotlin.any
@SmallTest
@RunWith(AndroidJUnit4::class)
class UserSwitchDialogControllerTest : SysuiTestCase() {
- @Mock
- private lateinit var dialogFactory: SystemUIDialog.Factory
- @Mock
- private lateinit var dialog: SystemUIDialog
- @Mock
- private lateinit var falsingManager: FalsingManager
- @Mock
- private lateinit var activityStarter: ActivityStarter
- @Mock
- private lateinit var userDetailViewAdapter: UserDetailView.Adapter
- @Mock
- private lateinit var launchExpandable: Expandable
- @Mock
- private lateinit var neutralButton: Button
- @Mock
- private lateinit var mDialogTransitionAnimator: DialogTransitionAnimator
- @Mock
- private lateinit var uiEventLogger: UiEventLogger
- @Captor
- private lateinit var clickCaptor: ArgumentCaptor<DialogInterface.OnClickListener>
+ @Mock private lateinit var dialogFactory: SystemUIDialog.Factory
+ @Mock private lateinit var dialog: SystemUIDialog
+ @Mock private lateinit var falsingManager: FalsingManager
+ @Mock private lateinit var activityStarter: ActivityStarter
+ @Mock private lateinit var userDetailViewAdapter: UserDetailView.Adapter
+ @Mock private lateinit var launchExpandable: Expandable
+ @Mock private lateinit var neutralButton: Button
+ @Mock private lateinit var mDialogTransitionAnimator: DialogTransitionAnimator
+ @Mock private lateinit var uiEventLogger: UiEventLogger
+ @Captor private lateinit var clickCaptor: ArgumentCaptor<DialogInterface.OnClickListener>
private lateinit var controller: UserSwitchDialogController
@@ -84,16 +74,17 @@ class UserSwitchDialogControllerTest : SysuiTestCase() {
MockitoAnnotations.initMocks(this)
whenever(dialog.context).thenReturn(mContext)
- whenever(dialogFactory.create()).thenReturn(dialog)
-
- controller = UserSwitchDialogController(
- { userDetailViewAdapter },
- activityStarter,
- falsingManager,
- mDialogTransitionAnimator,
- uiEventLogger,
- dialogFactory
- )
+ whenever(dialogFactory.create(eq(mContext))).thenReturn(dialog)
+
+ controller =
+ UserSwitchDialogController(
+ { userDetailViewAdapter },
+ activityStarter,
+ falsingManager,
+ mDialogTransitionAnimator,
+ uiEventLogger,
+ dialogFactory,
+ )
}
@Test
@@ -150,7 +141,7 @@ class UserSwitchDialogControllerTest : SysuiTestCase() {
.postStartActivityDismissingKeyguard(
argThat(IntentMatcher(Settings.ACTION_USER_SETTINGS)),
eq(0),
- eq(null)
+ eq(null),
)
verify(uiEventLogger).log(QSUserSwitcherEvent.QS_USER_MORE_SETTINGS)
}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/FgsManagerController.kt b/packages/SystemUI/src/com/android/systemui/qs/FgsManagerController.kt
index 5c9baa000d0b..91a3120ec770 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/FgsManagerController.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/FgsManagerController.kt
@@ -141,6 +141,7 @@ interface FgsManagerController {
class FgsManagerControllerImpl
@Inject
constructor(
+ @ShadeDisplayAware private val context: Context,
@ShadeDisplayAware private val resources: Resources,
@Main private val mainExecutor: Executor,
@Background private val backgroundExecutor: Executor,
@@ -387,7 +388,7 @@ constructor(
override fun showDialog(expandable: Expandable?) {
synchronized(lock) {
if (dialog == null) {
- val dialog = systemUIDialogFactory.create()
+ val dialog = systemUIDialogFactory.create(context)
dialog.setTitle(R.string.fgs_manager_dialog_title)
dialog.setMessage(R.string.fgs_manager_dialog_message)
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/DataSaverTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/DataSaverTile.java
index deeef550b33f..42a0cb1004f4 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/DataSaverTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/DataSaverTile.java
@@ -102,7 +102,7 @@ public class DataSaverTile extends QSTileImpl<BooleanState> implements
// Show a dialog to confirm first. Dialogs shown by the DialogTransitionAnimator must be
// created and shown on the main thread, so we post it to the UI handler.
mUiHandler.post(() -> {
- SystemUIDialog dialog = mSystemUIDialogFactory.create();
+ SystemUIDialog dialog = mSystemUIDialogFactory.create(mContext);
dialog.setTitle(com.android.internal.R.string.data_saver_enable_title);
dialog.setMessage(com.android.internal.R.string.data_saver_description);
dialog.setPositiveButton(com.android.internal.R.string.data_saver_enable_button,
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogDelegate.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogDelegate.java
index 378d553065e0..70c2a2a0d55a 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogDelegate.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogDelegate.java
@@ -104,6 +104,7 @@ public class InternetDialogDelegate implements
private final Handler mHandler;
private final Executor mBackgroundExecutor;
private final DialogTransitionAnimator mDialogTransitionAnimator;
+ private final Context mContext;
private final boolean mAboveStatusBar;
private final SystemUIDialog.Factory mSystemUIDialogFactory;
@@ -204,6 +205,7 @@ public class InternetDialogDelegate implements
@Background Executor executor,
KeyguardStateController keyguardStateController,
SystemUIDialog.Factory systemUIDialogFactory) {
+ mContext = context;
mAboveStatusBar = aboveStatusBar;
mSystemUIDialogFactory = systemUIDialogFactory;
if (DEBUG) {
@@ -228,7 +230,7 @@ public class InternetDialogDelegate implements
@Override
public SystemUIDialog createDialog() {
- SystemUIDialog dialog = mSystemUIDialogFactory.create(this);
+ SystemUIDialog dialog = mSystemUIDialogFactory.create(this, mContext);
if (!mAboveStatusBar) {
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY);
}
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 671943c5baff..d0f258052f04 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
@@ -20,18 +20,19 @@ import android.content.Context
import android.content.DialogInterface
import android.content.SharedPreferences
import android.os.Bundle
+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.statusbar.phone.SystemUIDialog
import com.android.systemui.statusbar.policy.DataSaverController
import kotlin.coroutines.CoroutineContext
import kotlinx.coroutines.CoroutineScope
-import com.android.app.tracing.coroutines.launchTraced as launch
class DataSaverDialogDelegate(
private val sysuiDialogFactory: SystemUIDialog.Factory,
- private val context: Context,
+ @ShadeDisplayAware private val context: Context,
private val backgroundContext: CoroutineContext,
private val dataSaverController: DataSaverController,
private val sharedPreferences: SharedPreferences,
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 95e7f56360c2..8c54ab40c680 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/user/UserSwitchDialogController.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/user/UserSwitchDialogController.kt
@@ -25,7 +25,6 @@ import android.provider.Settings
import android.view.LayoutInflater
import com.android.internal.jank.InteractionJankMonitor
import com.android.internal.logging.UiEventLogger
-import com.android.systemui.res.R
import com.android.systemui.animation.DialogCuj
import com.android.systemui.animation.DialogTransitionAnimator
import com.android.systemui.animation.Expandable
@@ -34,22 +33,23 @@ import com.android.systemui.plugins.ActivityStarter
import com.android.systemui.plugins.FalsingManager
import com.android.systemui.qs.QSUserSwitcherEvent
import com.android.systemui.qs.tiles.UserDetailView
+import com.android.systemui.res.R
import com.android.systemui.statusbar.phone.SystemUIDialog
import com.android.systemui.user.ui.dialog.DialogShowerImpl
import javax.inject.Inject
import javax.inject.Provider
-/**
- * Controller for [UserDialog].
- */
+/** Controller for [UserDialog]. */
@SysUISingleton
-class UserSwitchDialogController @Inject constructor(
+class UserSwitchDialogController
+@Inject
+constructor(
private val userDetailViewAdapterProvider: Provider<UserDetailView.Adapter>,
private val activityStarter: ActivityStarter,
private val falsingManager: FalsingManager,
private val dialogTransitionAnimator: DialogTransitionAnimator,
private val uiEventLogger: UiEventLogger,
- private val dialogFactory: SystemUIDialog.Factory
+ private val dialogFactory: SystemUIDialog.Factory,
) {
companion object {
@@ -64,7 +64,7 @@ class UserSwitchDialogController @Inject constructor(
* [userDetailViewAdapterProvider] and show it as launched from [expandable].
*/
fun showDialog(context: Context, expandable: Expandable) {
- with(dialogFactory.create()) {
+ with(dialogFactory.create(context)) {
setShowForAllUsers(true)
setCanceledOnTouchOutside(true)
@@ -72,24 +72,31 @@ class UserSwitchDialogController @Inject constructor(
setPositiveButton(R.string.quick_settings_done) { _, _ ->
uiEventLogger.log(QSUserSwitcherEvent.QS_USER_DETAIL_CLOSE)
}
- setNeutralButton(R.string.quick_settings_more_user_settings, { _, _ ->
- if (!falsingManager.isFalseTap(FalsingManager.LOW_PENALTY)) {
- uiEventLogger.log(QSUserSwitcherEvent.QS_USER_MORE_SETTINGS)
- val controller = dialogTransitionAnimator.createActivityTransitionController(
- getButton(BUTTON_NEUTRAL)
- )
+ setNeutralButton(
+ R.string.quick_settings_more_user_settings,
+ { _, _ ->
+ if (!falsingManager.isFalseTap(FalsingManager.LOW_PENALTY)) {
+ uiEventLogger.log(QSUserSwitcherEvent.QS_USER_MORE_SETTINGS)
+ val controller =
+ dialogTransitionAnimator.createActivityTransitionController(
+ getButton(BUTTON_NEUTRAL)
+ )
- if (controller == null) {
- dismiss()
- }
+ if (controller == null) {
+ dismiss()
+ }
- activityStarter.postStartActivityDismissingKeyguard(
- USER_SETTINGS_INTENT, 0, controller
- )
- }
- }, false /* dismissOnClick */)
- val gridFrame = LayoutInflater.from(this.context)
- .inflate(R.layout.qs_user_dialog_content, null)
+ activityStarter.postStartActivityDismissingKeyguard(
+ USER_SETTINGS_INTENT,
+ 0,
+ controller,
+ )
+ }
+ },
+ false, /* dismissOnClick */
+ )
+ val gridFrame =
+ LayoutInflater.from(this.context).inflate(R.layout.qs_user_dialog_content, null)
setView(gridFrame)
val adapter = userDetailViewAdapterProvider.get()
@@ -101,10 +108,7 @@ class UserSwitchDialogController @Inject constructor(
DialogCuj(InteractionJankMonitor.CUJ_SHADE_DIALOG_OPEN, INTERACTION_JANK_TAG)
)
if (controller != null) {
- dialogTransitionAnimator.show(
- this,
- controller,
- )
+ dialogTransitionAnimator.show(this, controller)
} else {
show()
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogDelegateTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogDelegateTest.java
index 7b24233d8603..300c9b843d1c 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogDelegateTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogDelegateTest.java
@@ -6,6 +6,7 @@ import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.clearInvocations;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
@@ -23,8 +24,8 @@ import android.widget.LinearLayout;
import android.widget.Switch;
import android.widget.TextView;
-import androidx.test.annotation.UiThreadTest;
import androidx.recyclerview.widget.RecyclerView;
+import androidx.test.annotation.UiThreadTest;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest;
@@ -40,8 +41,6 @@ import com.android.systemui.util.concurrency.FakeExecutor;
import com.android.systemui.util.time.FakeSystemClock;
import com.android.wifitrackerlib.WifiEntry;
-import kotlinx.coroutines.CoroutineScope;
-
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -52,6 +51,8 @@ import org.mockito.MockitoSession;
import java.util.List;
+import kotlinx.coroutines.CoroutineScope;
+
@SmallTest
@RunWith(AndroidJUnit4.class)
@TestableLooper.RunWithLooper(setAsMainLooper = true)
@@ -127,7 +128,7 @@ public class InternetDialogDelegateTest extends SysuiTestCase {
.spyStatic(WifiEnterpriseRestrictionUtils.class)
.startMocking();
when(WifiEnterpriseRestrictionUtils.isChangeWifiStateAllowed(mContext)).thenReturn(true);
- when(mSystemUIDialogFactory.create(any(SystemUIDialog.Delegate.class)))
+ when(mSystemUIDialogFactory.create(any(SystemUIDialog.Delegate.class), eq(mContext)))
.thenReturn(mSystemUIDialog);
when(mSystemUIDialog.getContext()).thenReturn(mContext);
when(mSystemUIDialog.getWindow()).thenReturn(mWindow);