diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml
index 1d30273762e73..e30999474dc82 100644
--- a/packages/SystemUI/res/values/config.xml
+++ b/packages/SystemUI/res/values/config.xml
@@ -310,11 +310,6 @@
false
-
- false
-
com.android.systemui.SystemUIFactory
diff --git a/packages/SystemUI/res/values/flags.xml b/packages/SystemUI/res/values/flags.xml
index c2b87a55f3667..a9cc6ac47f69e 100644
--- a/packages/SystemUI/res/values/flags.xml
+++ b/packages/SystemUI/res/values/flags.xml
@@ -34,9 +34,14 @@
true
+ the swipe. -->
true
+
+ false
+
false
diff --git a/packages/SystemUI/src/com/android/systemui/flags/FeatureFlags.java b/packages/SystemUI/src/com/android/systemui/flags/FeatureFlags.java
index e51f90f9c73b9..1a6d6ae1c286d 100644
--- a/packages/SystemUI/src/com/android/systemui/flags/FeatureFlags.java
+++ b/packages/SystemUI/src/com/android/systemui/flags/FeatureFlags.java
@@ -173,6 +173,10 @@ public class FeatureFlags {
return mFlagReader.isEnabled(R.bool.flag_new_unlock_swipe_animation);
}
+ public boolean isKeyguardQsUserDetailsShortcutEnabled() {
+ return mFlagReader.isEnabled(R.bool.flag_lockscreen_qs_user_detail_shortcut);
+ }
+
public boolean isSmartSpaceSharedElementTransitionEnabled() {
return mFlagReader.isEnabled(R.bool.flag_smartspace_shared_element_transition);
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
index f0a35d4cc6bc6..d241d4b0225e8 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
@@ -117,6 +117,7 @@ import com.android.systemui.controls.dagger.ControlsComponent;
import com.android.systemui.dagger.qualifiers.DisplayId;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.doze.DozeLog;
+import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.fragments.FragmentHostManager.FragmentListener;
import com.android.systemui.fragments.FragmentService;
import com.android.systemui.idle.IdleHostView;
@@ -273,6 +274,7 @@ public class NotificationPanelViewController extends PanelViewController {
private static final Rect EMPTY_RECT = new Rect();
private final LayoutInflater mLayoutInflater;
+ private final FeatureFlags mFeatureFlags;
private final PowerManager mPowerManager;
private final AccessibilityManager mAccessibilityManager;
private final NotificationWakeUpCoordinator mWakeUpCoordinator;
@@ -700,6 +702,7 @@ public class NotificationPanelViewController extends PanelViewController {
@Main Resources resources,
@Main Handler handler,
LayoutInflater layoutInflater,
+ FeatureFlags featureFlags,
NotificationWakeUpCoordinator coordinator, PulseExpansionHandler pulseExpansionHandler,
DynamicPrivacyController dynamicPrivacyController,
KeyguardBypassController bypassController, FalsingManager falsingManager,
@@ -798,6 +801,7 @@ public class NotificationPanelViewController extends PanelViewController {
mView.setWillNotDraw(!DEBUG);
mSplitShadeHeaderController = splitShadeHeaderController;
mLayoutInflater = layoutInflater;
+ mFeatureFlags = featureFlags;
mFalsingManager = falsingManager;
mFalsingCollector = falsingCollector;
mPowerManager = powerManager;
@@ -4023,8 +4027,8 @@ public class NotificationPanelViewController extends PanelViewController {
mKeyguardUserSwitcherEnabled = mResources.getBoolean(
com.android.internal.R.bool.config_keyguardUserSwitcher);
mKeyguardQsUserSwitchEnabled =
- mKeyguardUserSwitcherEnabled && mResources.getBoolean(
- R.bool.config_keyguard_user_switch_opens_qs_details);
+ mKeyguardUserSwitcherEnabled
+ && mFeatureFlags.isKeyguardQsUserDetailsShortcutEnabled();
}
private void registerSettingsChangeListener() {
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewTest.java
index a5c952725f62f..a8b2990b9ad16 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewTest.java
@@ -96,6 +96,7 @@ import com.android.systemui.communal.CommunalStateController;
import com.android.systemui.communal.dagger.CommunalViewComponent;
import com.android.systemui.controls.dagger.ControlsComponent;
import com.android.systemui.doze.DozeLog;
+import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.fragments.FragmentHostManager;
import com.android.systemui.fragments.FragmentService;
import com.android.systemui.idle.IdleHostViewController;
@@ -200,6 +201,8 @@ public class NotificationPanelViewTest extends SysuiTestCase {
@Mock
private LayoutInflater mLayoutInflater;
@Mock
+ private FeatureFlags mFeatureFlags;
+ @Mock
private DynamicPrivacyController mDynamicPrivacyController;
@Mock
private ShadeController mShadeController;
@@ -465,6 +468,7 @@ public class NotificationPanelViewTest extends SysuiTestCase {
mResources,
new Handler(Looper.getMainLooper()),
mLayoutInflater,
+ mFeatureFlags,
coordinator, expansionHandler, mDynamicPrivacyController, mKeyguardBypassController,
mFalsingManager, new FalsingCollectorFake(),
mNotificationLockscreenUserManager, mNotificationEntryManager,