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

Commit 33fd117c authored by bvineeth's avatar bvineeth
Browse files

Move notifying userActivity to background thread in password textview

moving the the powermanager.userActivity call in password text view to
the background thread. this call signals to the system that the
useractivity has occured and in password text view this is called when
the text is appended/deleted/reset in the textview.

moving this call to onUserActivity listener impl in keyguardabskeyinputviewcontroller,
in which its called on background thread.

Test: checked perfetto binder transaction
Bug: 325203885
Flag: com.android.systemui.notify_password_text_view_user_activity_in_background

Change-Id: Id4533dca5452d03803a369a1026cae70e047c3c7
parent 8755f8ea
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -1372,6 +1372,16 @@ flag {
  }
}

flag {
    name: "notify_password_text_view_user_activity_in_background"
    namespace: "systemui"
    description: "Decide whether to notify the user activity in password text view, to power manager in the background thread."
    bug: "346882515"
    metadata {
        purpose: PURPOSE_BUGFIX
    }
}

flag {
    name: "face_message_defer_update"
    namespace: "systemui"
+2 −0
Original line number Diff line number Diff line
@@ -84,6 +84,7 @@ class KeyguardPasswordViewControllerTest : SysuiTestCase() {
    private lateinit var mKeyguardMessageAreaController:
        KeyguardMessageAreaController<BouncerKeyguardMessageArea>
    @Mock private lateinit var postureController: DevicePostureController
    @Mock private lateinit var mUserActivityNotifier: UserActivityNotifier
    @Captor private lateinit var keyListenerArgumentCaptor: ArgumentCaptor<View.OnKeyListener>

    private lateinit var keyguardPasswordViewController: KeyguardPasswordViewController
@@ -132,6 +133,7 @@ class KeyguardPasswordViewControllerTest : SysuiTestCase() {
                mSelectedUserInteractor,
                keyguardKeyboardInteractor,
                null,
                mUserActivityNotifier
            )
    }

+3 −1
Original line number Diff line number Diff line
@@ -87,6 +87,8 @@ public class KeyguardPinBasedInputViewControllerTest extends SysuiTestCase {
    private View mOkButton;
    @Mock
    private SelectedUserInteractor mSelectedUserInteractor;
    @Mock
    private UserActivityNotifier mUserActivityNotifier;
    private NumPadKey[] mButtons = new NumPadKey[]{};

    private KeyguardPinBasedInputViewController mKeyguardPinViewController;
@@ -117,7 +119,7 @@ public class KeyguardPinBasedInputViewControllerTest extends SysuiTestCase {
                mKeyguardUpdateMonitor, mSecurityMode, mLockPatternUtils, mKeyguardSecurityCallback,
                mKeyguardMessageAreaControllerFactory, mLatencyTracker, mLiftToactivateListener,
                mEmergencyButtonController, mFalsingCollector, featureFlags,
                mSelectedUserInteractor, keyguardKeyboardInteractor, null) {
                mSelectedUserInteractor, keyguardKeyboardInteractor, null, mUserActivityNotifier) {
            @Override
            public void onResume(int reason) {
                super.onResume(reason);
+2 −0
Original line number Diff line number Diff line
@@ -154,6 +154,7 @@ class KeyguardSecurityContainerControllerTest : SysuiTestCase() {
    @Mock private lateinit var deviceProvisionedController: DeviceProvisionedController
    @Mock private lateinit var postureController: DevicePostureController
    @Mock private lateinit var devicePolicyManager: DevicePolicyManager
    @Mock private lateinit var mUserActivityNotifier: UserActivityNotifier

    @Captor
    private lateinit var swipeListenerArgumentCaptor:
@@ -240,6 +241,7 @@ class KeyguardSecurityContainerControllerTest : SysuiTestCase() {
                mSelectedUserInteractor,
                keyguardKeyboardInteractor,
                null,
                mUserActivityNotifier
            )

        kosmos = testKosmos()
+8 −1
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import static com.android.internal.util.LatencyTracker.ACTION_CHECK_CREDENTIAL;
import static com.android.internal.util.LatencyTracker.ACTION_CHECK_CREDENTIAL_UNLOCKED;
import static com.android.keyguard.KeyguardAbsKeyInputView.MINIMUM_PASSWORD_LENGTH_BEFORE_REPORT;
import static com.android.systemui.Flags.msdlFeedback;
import static com.android.systemui.Flags.notifyPasswordTextViewUserActivityInBackground;

import android.annotation.Nullable;
import android.content.res.ColorStateList;
@@ -55,6 +56,7 @@ public abstract class KeyguardAbsKeyInputViewController<T extends KeyguardAbsKey
    private final LatencyTracker mLatencyTracker;
    private final FalsingCollector mFalsingCollector;
    private final EmergencyButtonController mEmergencyButtonController;
    private final UserActivityNotifier mUserActivityNotifier;
    private CountDownTimer mCountdownTimer;
    private boolean mDismissing;
    protected AsyncTask<?, ?, ?> mPendingLockCheck;
@@ -89,7 +91,8 @@ public abstract class KeyguardAbsKeyInputViewController<T extends KeyguardAbsKey
            LatencyTracker latencyTracker, FalsingCollector falsingCollector,
            EmergencyButtonController emergencyButtonController,
            FeatureFlags featureFlags, SelectedUserInteractor selectedUserInteractor,
            @Nullable MSDLPlayer msdlPlayer) {
            @Nullable MSDLPlayer msdlPlayer,
            UserActivityNotifier userActivityNotifier) {
        super(view, securityMode, keyguardSecurityCallback, emergencyButtonController,
                messageAreaControllerFactory, featureFlags, selectedUserInteractor);
        mKeyguardUpdateMonitor = keyguardUpdateMonitor;
@@ -98,6 +101,7 @@ public abstract class KeyguardAbsKeyInputViewController<T extends KeyguardAbsKey
        mFalsingCollector = falsingCollector;
        mEmergencyButtonController = emergencyButtonController;
        mMSDLPlayer = msdlPlayer;
        mUserActivityNotifier = userActivityNotifier;
    }

    abstract void resetState();
@@ -303,6 +307,9 @@ public abstract class KeyguardAbsKeyInputViewController<T extends KeyguardAbsKey
        getKeyguardSecurityCallback().userActivity();
        getKeyguardSecurityCallback().onUserInput();
        mMessageAreaController.setMessage("");
        if (notifyPasswordTextViewUserActivityInBackground()) {
            mUserActivityNotifier.notifyUserActivity();
        }
    }

    @Override
Loading