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

Commit 26914a3f authored by Andreas Miko's avatar Andreas Miko
Browse files

Add feature flag REFACTOR_GETCURRENTUSER

Because in previous refactors some references from UserTracker have been
refactored to use SelectedUserInteractor as well, they need to bypass
the newly added flag until it is removed (and all references consume
the same source of truth).

Test: None
Bug: b/303808405
Bug: b/297839820
Flag: b/305984787
Change-Id: I8ec2e8af18b652c32daf9cd9eafeae9a94ec6dce
parent 3f8232f0
Loading
Loading
Loading
Loading
+23 −7
Original line number Diff line number Diff line
@@ -535,6 +535,22 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
    @VisibleForTesting
    SparseArray<BiometricAuthenticated> mUserFaceAuthenticated = new SparseArray<>();

    private static int sCurrentUser;

    @Deprecated
    public synchronized static void setCurrentUser(int currentUser) {
        sCurrentUser = currentUser;
    }

    /**
     * @deprecated This can potentially return unexpected values in a multi user scenario
     * as this state is managed by another component. Consider using {@link SelectedUserInteractor}.
     */
    @Deprecated
    public synchronized static int getCurrentUser() {
        return sCurrentUser;
    }

    @Override
    public void onTrustChanged(boolean enabled, boolean newlyUnlocked, int userId, int flags,
            List<String> trustGrantedMessages) {
@@ -1023,7 +1039,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
            mHandler.removeCallbacks(mFpCancelNotReceived);
        }
        try {
            final int userId = mSelectedUserInteractor.getSelectedUserId();
            final int userId = mSelectedUserInteractor.getSelectedUserId(true);
            if (userId != authUserId) {
                mLogger.logFingerprintAuthForWrongUser(authUserId);
                return;
@@ -1294,7 +1310,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
                mLogger.d("Aborted successful auth because device is going to sleep.");
                return;
            }
            final int userId = mSelectedUserInteractor.getSelectedUserId();
            final int userId = mSelectedUserInteractor.getSelectedUserId(true);
            if (userId != authUserId) {
                mLogger.logFaceAuthForWrongUser(authUserId);
                return;
@@ -2635,7 +2651,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab

        mTaskStackChangeListeners.registerTaskStackListener(mTaskStackListener);
        mIsSystemUser = mUserManager.isSystemUser();
        int user = mSelectedUserInteractor.getSelectedUserId();
        int user = mSelectedUserInteractor.getSelectedUserId(true);
        mUserIsUnlocked.put(user, mUserManager.isUserUnlocked(user));
        mLogoutEnabled = mDevicePolicyManager.isLogoutEnabled();
        updateSecondaryLockscreenRequirement(user);
@@ -4456,7 +4472,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
            pw.println("    " + subId + "=" + mServiceStates.get(subId));
        }
        if (isFingerprintSupported()) {
            final int userId = mSelectedUserInteractor.getSelectedUserId();
            final int userId = mSelectedUserInteractor.getSelectedUserId(true);
            final int strongAuthFlags = mStrongAuthTracker.getStrongAuthForUser(userId);
            BiometricAuthenticated fingerprint = mUserFingerprintAuthenticated.get(userId);
            pw.println("  Fingerprint state (user=" + userId + ")");
@@ -4499,7 +4515,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
                    mFingerprintListenBuffer.toList()
            ).printTableData(pw);
        } else if (mFpm != null && mFingerprintSensorProperties.isEmpty()) {
            final int userId = mSelectedUserInteractor.getSelectedUserId();
            final int userId = mSelectedUserInteractor.getSelectedUserId(true);
            pw.println("  Fingerprint state (user=" + userId + ")");
            pw.println("    mFingerprintSensorProperties.isEmpty="
                    + mFingerprintSensorProperties.isEmpty());
@@ -4513,7 +4529,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
            ).printTableData(pw);
        }
        if (isFaceSupported()) {
            final int userId = mSelectedUserInteractor.getSelectedUserId();
            final int userId = mSelectedUserInteractor.getSelectedUserId(true);
            final int strongAuthFlags = mStrongAuthTracker.getStrongAuthForUser(userId);
            BiometricAuthenticated face = mUserFaceAuthenticated.get(userId);
            pw.println("  Face authentication state (user=" + userId + ")");
@@ -4543,7 +4559,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
                    mFaceListenBuffer.toList()
            ).printTableData(pw);
        } else if (mFaceManager != null && mFaceSensorProperties.isEmpty()) {
            final int userId = mSelectedUserInteractor.getSelectedUserId();
            final int userId = mSelectedUserInteractor.getSelectedUserId(true);
            pw.println("  Face state (user=" + userId + ")");
            pw.println("    mFaceSensorProperties.isEmpty="
                    + mFaceSensorProperties.isEmpty());
+1 −1
Original line number Diff line number Diff line
@@ -115,7 +115,7 @@ class CameraGestureHelper @Inject constructor(
                        Intent.FLAG_ACTIVITY_NEW_TASK,
                        null,
                        activityOptions.toBundle(),
                        selectedUserInteractor.getSelectedUserId(),
                        selectedUserInteractor.getSelectedUserId(true),
                    )
                } catch (e: RemoteException) {
                    Log.w(
+6 −5
Original line number Diff line number Diff line
@@ -254,7 +254,8 @@ public class DozeSensors {
                        new SensorManagerPlugin.Sensor(TYPE_WAKE_DISPLAY),
                        Settings.Secure.DOZE_WAKE_DISPLAY_GESTURE,
                        mConfig.wakeScreenGestureAvailable()
                          && mConfig.alwaysOnEnabled(mSelectedUserInteractor.getSelectedUserId()),
                          && mConfig.alwaysOnEnabled(
                                  mSelectedUserInteractor.getSelectedUserId(true)),
                        DozeLog.REASON_SENSOR_WAKE_UP_PRESENCE,
                        false /* reports touch coordinates */,
                        false /* touchscreen */
@@ -295,7 +296,7 @@ public class DozeSensors {

    private boolean udfpsLongPressConfigured() {
        return mUdfpsEnrolled
                && (mConfig.alwaysOnEnabled(mSelectedUserInteractor.getSelectedUserId())
                && (mConfig.alwaysOnEnabled(mSelectedUserInteractor.getSelectedUserId(true))
                || mScreenOffUdfpsEnabled);
    }

@@ -471,7 +472,7 @@ public class DozeSensors {
    private final ContentObserver mSettingsObserver = new ContentObserver(mHandler) {
        @Override
        public void onChange(boolean selfChange, Collection<Uri> uris, int flags, int userId) {
            if (userId != mSelectedUserInteractor.getSelectedUserId()) {
            if (userId != mSelectedUserInteractor.getSelectedUserId(true)) {
                return;
            }
            for (TriggerSensor s : mTriggerSensors) {
@@ -697,13 +698,13 @@ public class DozeSensors {
        }

        protected boolean enabledBySetting() {
            if (!mConfig.enabled(mSelectedUserInteractor.getSelectedUserId())) {
            if (!mConfig.enabled(mSelectedUserInteractor.getSelectedUserId(true))) {
                return false;
            } else if (TextUtils.isEmpty(mSetting)) {
                return true;
            }
            return mSecureSettings.getIntForUser(mSetting, mSettingDefault ? 1 : 0,
                    mSelectedUserInteractor.getSelectedUserId()) != 0;
                    mSelectedUserInteractor.getSelectedUserId(true)) != 0;
        }

        @Override
+1 −1
Original line number Diff line number Diff line
@@ -250,7 +250,7 @@ public class DozeTriggers implements DozeMachine.Part {
            return;
        }
        mNotificationPulseTime = SystemClock.elapsedRealtime();
        if (!mConfig.pulseOnNotificationEnabled(mSelectedUserInteractor.getSelectedUserId())) {
        if (!mConfig.pulseOnNotificationEnabled(mSelectedUserInteractor.getSelectedUserId(true))) {
            runIfNotNull(onPulseSuppressedListener);
            mDozeLog.tracePulseDropped("pulseOnNotificationsDisabled");
            return;
+4 −0
Original line number Diff line number Diff line
@@ -180,6 +180,10 @@ object Flags {
    @JvmField
    val NEW_AOD_TRANSITION = unreleasedFlag("new_aod_transition", teamfood = true)

    // TODO(b/305984787):
    @JvmField
    val REFACTOR_GETCURRENTUSER = unreleasedFlag("refactor_getcurrentuser", teamfood = false)

    /** Flag to control the migration of face auth to modern architecture. */
    // TODO(b/262838215): Tracking bug
    @JvmField val FACE_AUTH_REFACTOR = releasedFlag("face_auth_refactor")
Loading