Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 80d80c28 authored by Yasin Kilicdere's avatar Yasin Kilicdere
Browse files

Cleanup flag LOAD_NOTIFICATIONS_BEFORE_THE_USER_SWITCH_IS_COMPLETE.

Enable notifications panel to be updated before the user switch is
complete.

Bug: 278873737
Test: manual
Change-Id: I970a4ae0271d48d08cb40e6a9ed488d22227abc6
parent 06521b66
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -80,12 +80,6 @@ object Flags {
    @JvmField
    val NOTIFICATION_INLINE_REPLY_ANIMATION = releasedFlag("notification_inline_reply_animation")

    /** Makes sure notification panel is updated before the user switch is complete. */
    // TODO(b/278873737): Tracking Bug
    @JvmField
    val LOAD_NOTIFICATIONS_BEFORE_THE_USER_SWITCH_IS_COMPLETE =
        releasedFlag("load_notifications_before_the_user_switch_is_complete")

    // TODO(b/277338665): Tracking Bug
    @JvmField
    val NOTIFICATION_SHELF_REFACTOR =
+1 −21
Original line number Diff line number Diff line
@@ -49,8 +49,6 @@ import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.flags.Flags;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener;
import com.android.systemui.recents.OverviewProxyService;
@@ -103,7 +101,6 @@ public class NotificationLockscreenUserManagerImpl implements
    private final BroadcastDispatcher mBroadcastDispatcher;
    private final NotificationClickNotifier mClickNotifier;
    private final Lazy<OverviewProxyService> mOverviewProxyServiceLazy;
    private final FeatureFlags mFeatureFlags;
    private boolean mShowLockscreenNotifications;
    private boolean mAllowLockscreenRemoteInput;
    private LockPatternUtils mLockPatternUtils;
@@ -180,23 +177,8 @@ public class NotificationLockscreenUserManagerImpl implements

    protected final UserTracker.Callback mUserChangedCallback =
            new UserTracker.Callback() {
                @Override
                public void onUserChanged(int newUser, @NonNull Context userContext) {
                    if (!mFeatureFlags.isEnabled(
                            Flags.LOAD_NOTIFICATIONS_BEFORE_THE_USER_SWITCH_IS_COMPLETE)) {
                        handleUserChange(newUser);
                    }
                }

                @Override
                public void onUserChanging(int newUser, @NonNull Context userContext) {
                    if (mFeatureFlags.isEnabled(
                            Flags.LOAD_NOTIFICATIONS_BEFORE_THE_USER_SWITCH_IS_COMPLETE)) {
                        handleUserChange(newUser);
                    }
                }

                private void handleUserChange(int newUser) {
                    mCurrentUserId = newUser;
                    updateCurrentProfilesCache();

@@ -239,8 +221,7 @@ public class NotificationLockscreenUserManagerImpl implements
            KeyguardStateController keyguardStateController,
            SecureSettings secureSettings,
            DumpManager dumpManager,
            LockPatternUtils lockPatternUtils,
            FeatureFlags featureFlags) {
            LockPatternUtils lockPatternUtils) {
        mContext = context;
        mMainHandler = mainHandler;
        mDevicePolicyManager = devicePolicyManager;
@@ -258,7 +239,6 @@ public class NotificationLockscreenUserManagerImpl implements
        mDeviceProvisionedController = deviceProvisionedController;
        mSecureSettings = secureSettings;
        mKeyguardStateController = keyguardStateController;
        mFeatureFlags = featureFlags;

        dumpManager.registerDumpable(this);
    }
+1 −14
Original line number Diff line number Diff line
@@ -49,8 +49,6 @@ import com.android.systemui.Dependency;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.flags.FakeFeatureFlags;
import com.android.systemui.flags.Flags;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.recents.OverviewProxyService;
import com.android.systemui.settings.UserTracker;
@@ -112,7 +110,6 @@ public class NotificationLockscreenUserManagerTest extends SysuiTestCase {
    private NotificationEntry mCurrentUserNotif;
    private NotificationEntry mSecondaryUserNotif;
    private NotificationEntry mWorkProfileNotif;
    private final FakeFeatureFlags mFakeFeatureFlags = new FakeFeatureFlags();

    @Before
    public void setUp() {
@@ -295,20 +292,11 @@ public class NotificationLockscreenUserManagerTest extends SysuiTestCase {

    @Test
    public void testUserSwitchedCallsOnUserSwitching() {
        mFakeFeatureFlags.set(Flags.LOAD_NOTIFICATIONS_BEFORE_THE_USER_SWITCH_IS_COMPLETE, true);
        mLockscreenUserManager.getUserTrackerCallbackForTest().onUserChanging(mSecondaryUser.id,
                mContext);
        verify(mPresenter, times(1)).onUserSwitched(mSecondaryUser.id);
    }

    @Test
    public void testUserSwitchedCallsOnUserSwitched() {
        mFakeFeatureFlags.set(Flags.LOAD_NOTIFICATIONS_BEFORE_THE_USER_SWITCH_IS_COMPLETE, false);
        mLockscreenUserManager.getUserTrackerCallbackForTest().onUserChanged(mSecondaryUser.id,
                mContext);
        verify(mPresenter, times(1)).onUserSwitched(mSecondaryUser.id);
    }

    @Test
    public void testIsLockscreenPublicMode() {
        assertFalse(mLockscreenUserManager.isLockscreenPublicMode(mCurrentUser.id));
@@ -368,8 +356,7 @@ public class NotificationLockscreenUserManagerTest extends SysuiTestCase {
                    mKeyguardStateController,
                    mSettings,
                    mock(DumpManager.class),
                    mock(LockPatternUtils.class),
                    mFakeFeatureFlags);
                    mock(LockPatternUtils.class));
        }

        public BroadcastReceiver getBaseBroadcastReceiverForTest() {