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

Commit 91bc1686 authored by Matt Pietal's avatar Matt Pietal
Browse files

Bouncer - Update to use FalsingManager

Instead of FalsingCollector, where appropriate

Bug: 206826027
Test: atest KeyguardSecurityContainerControllerTest KeyguardSecurityContainerTest
Change-Id: I33cdbc7134b24ff3d20a0440f4d1d5447dd7bddd
parent 5bb7a510
Loading
Loading
Loading
Loading
+33 −35
Original line number Diff line number Diff line
@@ -19,6 +19,8 @@ import static android.view.WindowInsets.Type.ime;
import static android.view.WindowInsets.Type.systemBars;
import static android.view.WindowInsetsAnimation.Callback.DISPATCH_MODE_STOP;

import static com.android.systemui.plugins.FalsingManager.LOW_PENALTY;

import static java.lang.Integer.max;

import android.animation.Animator;
@@ -71,7 +73,7 @@ import com.android.keyguard.KeyguardSecurityModel.SecurityMode;
import com.android.systemui.Gefingerpoken;
import com.android.systemui.R;
import com.android.systemui.animation.Interpolators;
import com.android.systemui.classifier.FalsingCollector;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.shared.system.SysUiStatsLog;
import com.android.systemui.statusbar.policy.UserSwitcherController;
import com.android.systemui.statusbar.policy.UserSwitcherController.BaseUserAdapter;
@@ -124,7 +126,7 @@ public class KeyguardSecurityContainer extends FrameLayout {
    @VisibleForTesting
    KeyguardSecurityViewFlipper mSecurityViewFlipper;
    private GlobalSettings mGlobalSettings;
    private FalsingCollector mFalsingCollector;
    private FalsingManager mFalsingManager;
    private UserSwitcherController mUserSwitcherController;
    private AlertDialog mAlertDialog;
    private boolean mSwipeUpToRetry;
@@ -300,7 +302,7 @@ public class KeyguardSecurityContainer extends FrameLayout {
        setupViewMode();
    }

    void initMode(@Mode int mode, GlobalSettings globalSettings, FalsingCollector falsingCollector,
    void initMode(@Mode int mode, GlobalSettings globalSettings, FalsingManager falsingManager,
            UserSwitcherController userSwitcherController) {
        if (mCurrentMode == mode) return;
        Log.i(TAG, "Switching mode from " + modeToString(mCurrentMode) + " to "
@@ -318,7 +320,7 @@ public class KeyguardSecurityContainer extends FrameLayout {
                mViewMode = new DefaultViewMode();
        }
        mGlobalSettings = globalSettings;
        mFalsingCollector = falsingCollector;
        mFalsingManager = falsingManager;
        mUserSwitcherController = userSwitcherController;
        setupViewMode();
    }
@@ -338,11 +340,11 @@ public class KeyguardSecurityContainer extends FrameLayout {

    private void setupViewMode() {
        if (mSecurityViewFlipper == null || mGlobalSettings == null
                || mFalsingCollector == null || mUserSwitcherController == null) {
                || mFalsingManager == null || mUserSwitcherController == null) {
            return;
        }

        mViewMode.init(this, mGlobalSettings, mSecurityViewFlipper, mFalsingCollector,
        mViewMode.init(this, mGlobalSettings, mSecurityViewFlipper, mFalsingManager,
                mUserSwitcherController);
    }

@@ -695,7 +697,7 @@ public class KeyguardSecurityContainer extends FrameLayout {

        default void init(@NonNull ViewGroup v, @NonNull GlobalSettings globalSettings,
                @NonNull KeyguardSecurityViewFlipper viewFlipper,
                @NonNull FalsingCollector falsingCollector,
                @NonNull FalsingManager falsingManager,
                @NonNull UserSwitcherController userSwitcherController) {};

        /** Reinitialize the location */
@@ -732,7 +734,7 @@ public class KeyguardSecurityContainer extends FrameLayout {
        @Override
        public void init(@NonNull ViewGroup v, @NonNull GlobalSettings globalSettings,
                @NonNull KeyguardSecurityViewFlipper viewFlipper,
                @NonNull FalsingCollector falsingCollector,
                @NonNull FalsingManager falsingManager,
                @NonNull UserSwitcherController userSwitcherController) {
            mView = v;
            mViewFlipper = viewFlipper;
@@ -760,18 +762,18 @@ public class KeyguardSecurityContainer extends FrameLayout {
        private KeyguardSecurityViewFlipper mViewFlipper;
        private ImageView mUserIconView;
        private TextView mUserSwitcher;
        private FalsingCollector mFalsingCollector;
        private FalsingManager mFalsingManager;
        private UserSwitcherController mUserSwitcherController;
        private KeyguardUserSwitcherPopupMenu mPopup;

        @Override
        public void init(@NonNull ViewGroup v, @NonNull GlobalSettings globalSettings,
                @NonNull KeyguardSecurityViewFlipper viewFlipper,
                @NonNull FalsingCollector falsingCollector,
                @NonNull FalsingManager falsingManager,
                @NonNull UserSwitcherController userSwitcherController) {
            mView = v;
            mViewFlipper = viewFlipper;
            mFalsingCollector = falsingCollector;
            mFalsingManager = falsingManager;
            mUserSwitcherController = userSwitcherController;

            if (mUserSwitcherViewGroup == null) {
@@ -865,17 +867,15 @@ public class KeyguardSecurityContainer extends FrameLayout {
            }

            anchor.setClickable(true);
            anchor.setOnTouchListener((v, ev) -> {
                if (ev.getActionMasked() == MotionEvent.ACTION_DOWN) {
                    mFalsingCollector.avoidGesture();
                    mPopup = new KeyguardUserSwitcherPopupMenu(v.getContext(),
                            mFalsingCollector);
            anchor.setOnClickListener((v) -> {
                if (mFalsingManager.isFalseTap(LOW_PENALTY)) return;

                mPopup = new KeyguardUserSwitcherPopupMenu(v.getContext(), mFalsingManager);
                mPopup.setAnchorView(anchor);
                mPopup.setAdapter(adapter);
                mPopup.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                            public void onItemClick(AdapterView parent, View view, int pos,
                                    long id) {
                                mFalsingCollector.avoidGesture();
                        public void onItemClick(AdapterView parent, View view, int pos, long id) {
                            if (mFalsingManager.isFalseTap(LOW_PENALTY)) return;

                            // - 1 to account for the header view
                            UserRecord user = adapter.getItem(pos - 1);
@@ -887,8 +887,6 @@ public class KeyguardSecurityContainer extends FrameLayout {
                        }
                    });
                mPopup.show();
                }
                return true;
            });
        }

@@ -935,7 +933,7 @@ public class KeyguardSecurityContainer extends FrameLayout {
        @Override
        public void init(@NonNull ViewGroup v, @NonNull GlobalSettings globalSettings,
                @NonNull KeyguardSecurityViewFlipper viewFlipper,
                @NonNull FalsingCollector falsingCollector,
                @NonNull FalsingManager falsingManager,
                @NonNull UserSwitcherController userSwitcherController) {
            mView = v;
            mViewFlipper = viewFlipper;
+10 −3
Original line number Diff line number Diff line
@@ -51,6 +51,7 @@ import com.android.settingslib.utils.ThreadUtils;
import com.android.systemui.Gefingerpoken;
import com.android.systemui.R;
import com.android.systemui.classifier.FalsingCollector;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.shared.system.SysUiStatsLog;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.KeyguardStateController;
@@ -79,6 +80,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
    private final SecurityCallback mSecurityCallback;
    private final ConfigurationController mConfigurationController;
    private final FalsingCollector mFalsingCollector;
    private final FalsingManager mFalsingManager;
    private final UserSwitcherController mUserSwitcherController;
    private final GlobalSettings mGlobalSettings;

@@ -234,6 +236,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
            KeyguardSecurityViewFlipperController securityViewFlipperController,
            ConfigurationController configurationController,
            FalsingCollector falsingCollector,
            FalsingManager falsingManager,
            UserSwitcherController userSwitcherController,
            GlobalSettings globalSettings) {
        super(view);
@@ -250,6 +253,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
        mConfigurationController = configurationController;
        mLastOrientation = getResources().getConfiguration().orientation;
        mFalsingCollector = falsingCollector;
        mFalsingManager = falsingManager;
        mUserSwitcherController = userSwitcherController;
        mGlobalSettings = globalSettings;
    }
@@ -519,7 +523,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
            mode = KeyguardSecurityContainer.MODE_ONE_HANDED;
        }

        mView.initMode(mode, mGlobalSettings, mFalsingCollector, mUserSwitcherController);
        mView.initMode(mode, mGlobalSettings, mFalsingManager, mUserSwitcherController);
    }

    public void reportFailedUnlockAttempt(int userId, int timeoutMs) {
@@ -609,6 +613,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
        private final KeyguardSecurityViewFlipperController mSecurityViewFlipperController;
        private final ConfigurationController mConfigurationController;
        private final FalsingCollector mFalsingCollector;
        private final FalsingManager mFalsingManager;
        private final GlobalSettings mGlobalSettings;
        private final UserSwitcherController mUserSwitcherController;

@@ -625,6 +630,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
                KeyguardSecurityViewFlipperController securityViewFlipperController,
                ConfigurationController configurationController,
                FalsingCollector falsingCollector,
                FalsingManager falsingManager,
                UserSwitcherController userSwitcherController,
                GlobalSettings globalSettings) {
            mView = view;
@@ -638,6 +644,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
            mSecurityViewFlipperController = securityViewFlipperController;
            mConfigurationController = configurationController;
            mFalsingCollector = falsingCollector;
            mFalsingManager = falsingManager;
            mGlobalSettings = globalSettings;
            mUserSwitcherController = userSwitcherController;
        }
@@ -648,8 +655,8 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
                    mAdminSecondaryLockScreenControllerFactory, mLockPatternUtils,
                    mKeyguardUpdateMonitor, mKeyguardSecurityModel, mMetricsLogger, mUiEventLogger,
                    mKeyguardStateController, securityCallback, mSecurityViewFlipperController,
                    mConfigurationController, mFalsingCollector, mUserSwitcherController,
                    mGlobalSettings);
                    mConfigurationController, mFalsingCollector, mFalsingManager,
                    mUserSwitcherController, mGlobalSettings);
        }

    }
+5 −5
Original line number Diff line number Diff line
@@ -26,14 +26,14 @@ import android.widget.ListView;
import android.widget.TextView;

import com.android.systemui.R;
import com.android.systemui.classifier.FalsingCollector;
import com.android.systemui.plugins.FalsingManager;

/**
 * Custom user-switcher for use on the bouncer.
 */
public class KeyguardUserSwitcherPopupMenu extends ListPopupWindow {
    private Context mContext;
    private FalsingCollector mFalsingCollector;
    private FalsingManager mFalsingManager;
    private int mLastHeight = -1;
    private View.OnLayoutChangeListener mLayoutListener = (v, l, t, r, b, ol, ot, or, ob) -> {
        int height = -v.getMeasuredHeight() + getAnchorView().getHeight();
@@ -45,10 +45,10 @@ public class KeyguardUserSwitcherPopupMenu extends ListPopupWindow {
    };

    public KeyguardUserSwitcherPopupMenu(@NonNull Context context,
            @NonNull FalsingCollector falsingCollector) {
            @NonNull FalsingManager falsingManager) {
        super(context);
        mContext = context;
        mFalsingCollector = falsingCollector;
        mFalsingManager = falsingManager;
        Resources res = mContext.getResources();
        setBackgroundDrawable(
                res.getDrawable(R.drawable.keyguard_user_switcher_popup_bg, context.getTheme()));
@@ -76,7 +76,7 @@ public class KeyguardUserSwitcherPopupMenu extends ListPopupWindow {

        listView.setOnTouchListener((v, ev) -> {
            if (ev.getActionMasked() == MotionEvent.ACTION_DOWN) {
                mFalsingCollector.avoidGesture();
                return mFalsingManager.isFalseTap(FalsingManager.LOW_PENALTY);
            }
            return false;
        });
+10 −7
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ import com.android.keyguard.KeyguardSecurityModel.SecurityMode;
import com.android.systemui.R;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.classifier.FalsingCollector;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.statusbar.policy.UserSwitcherController;
@@ -111,6 +112,8 @@ public class KeyguardSecurityContainerControllerTest extends SysuiTestCase {
    @Mock
    private FalsingCollector mFalsingCollector;
    @Mock
    private FalsingManager mFalsingManager;
    @Mock
    private GlobalSettings mGlobalSettings;
    @Mock
    private UserSwitcherController mUserSwitcherController;
@@ -147,8 +150,8 @@ public class KeyguardSecurityContainerControllerTest extends SysuiTestCase {
                mView, mAdminSecondaryLockScreenControllerFactory, mLockPatternUtils,
                mKeyguardUpdateMonitor, mKeyguardSecurityModel, mMetricsLogger, mUiEventLogger,
                mKeyguardStateController, mKeyguardSecurityViewFlipperController,
                mConfigurationController, mFalsingCollector, mUserSwitcherController,
                mGlobalSettings).create(mSecurityCallback);
                mConfigurationController, mFalsingCollector, mFalsingManager,
                mUserSwitcherController, mGlobalSettings).create(mSecurityCallback);
    }

    @Test
@@ -185,14 +188,14 @@ public class KeyguardSecurityContainerControllerTest extends SysuiTestCase {
    public void onResourcesUpdate_callsThroughOnRotationChange() {
        // Rotation is the same, shouldn't cause an update
        mKeyguardSecurityContainerController.updateResources();
        verify(mView, never()).initMode(MODE_DEFAULT, mGlobalSettings, mFalsingCollector,
        verify(mView, never()).initMode(MODE_DEFAULT, mGlobalSettings, mFalsingManager,
                mUserSwitcherController);

        // Update rotation. Should trigger update
        mConfiguration.orientation = Configuration.ORIENTATION_LANDSCAPE;

        mKeyguardSecurityContainerController.updateResources();
        verify(mView).initMode(MODE_DEFAULT, mGlobalSettings, mFalsingCollector,
        verify(mView).initMode(MODE_DEFAULT, mGlobalSettings, mFalsingManager,
                mUserSwitcherController);
    }

@@ -250,7 +253,7 @@ public class KeyguardSecurityContainerControllerTest extends SysuiTestCase {
                .thenReturn((KeyguardInputViewController) mKeyguardPasswordViewController);

        mKeyguardSecurityContainerController.showSecurityScreen(SecurityMode.Pattern);
        verify(mView).initMode(MODE_DEFAULT, mGlobalSettings, mFalsingCollector,
        verify(mView).initMode(MODE_DEFAULT, mGlobalSettings, mFalsingManager,
                mUserSwitcherController);
    }

@@ -262,7 +265,7 @@ public class KeyguardSecurityContainerControllerTest extends SysuiTestCase {
                .thenReturn((KeyguardInputViewController) mKeyguardPasswordViewController);

        mKeyguardSecurityContainerController.showSecurityScreen(SecurityMode.Pattern);
        verify(mView).initMode(MODE_ONE_HANDED, mGlobalSettings, mFalsingCollector,
        verify(mView).initMode(MODE_ONE_HANDED, mGlobalSettings, mFalsingManager,
                mUserSwitcherController);
    }

@@ -274,7 +277,7 @@ public class KeyguardSecurityContainerControllerTest extends SysuiTestCase {
                .thenReturn((KeyguardInputViewController) mKeyguardPasswordViewController);

        mKeyguardSecurityContainerController.showSecurityScreen(SecurityMode.Password);
        verify(mView).initMode(MODE_DEFAULT, mGlobalSettings, mFalsingCollector,
        verify(mView).initMode(MODE_DEFAULT, mGlobalSettings, mFalsingManager,
                mUserSwitcherController);
    }
}
+8 −8
Original line number Diff line number Diff line
@@ -47,7 +47,7 @@ import androidx.test.filters.SmallTest;

import com.android.systemui.R;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.classifier.FalsingCollector;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.statusbar.policy.UserSwitcherController;
import com.android.systemui.statusbar.policy.UserSwitcherController.UserRecord;
@@ -83,7 +83,7 @@ public class KeyguardSecurityContainerTest extends SysuiTestCase {
    @Mock
    private GlobalSettings mGlobalSettings;
    @Mock
    private FalsingCollector mFalsingCollector;
    private FalsingManager mFalsingManager;
    @Mock
    private UserSwitcherController mUserSwitcherController;
    @Mock
@@ -117,7 +117,7 @@ public class KeyguardSecurityContainerTest extends SysuiTestCase {

    @Test
    public void onMeasure_usesHalfWidthWithOneHandedModeEnabled() {
        mKeyguardSecurityContainer.initMode(MODE_ONE_HANDED, mGlobalSettings, mFalsingCollector,
        mKeyguardSecurityContainer.initMode(MODE_ONE_HANDED, mGlobalSettings, mFalsingManager,
                mUserSwitcherController);

        int halfWidthMeasureSpec =
@@ -129,7 +129,7 @@ public class KeyguardSecurityContainerTest extends SysuiTestCase {

    @Test
    public void onMeasure_usesFullWidthWithOneHandedModeDisabled() {
        mKeyguardSecurityContainer.initMode(MODE_DEFAULT, mGlobalSettings, mFalsingCollector,
        mKeyguardSecurityContainer.initMode(MODE_DEFAULT, mGlobalSettings, mFalsingManager,
                mUserSwitcherController);

        mKeyguardSecurityContainer.measure(FAKE_MEASURE_SPEC, FAKE_MEASURE_SPEC);
@@ -141,7 +141,7 @@ public class KeyguardSecurityContainerTest extends SysuiTestCase {
        int imeInsetAmount = 100;
        int systemBarInsetAmount = 10;

        mKeyguardSecurityContainer.initMode(MODE_DEFAULT, mGlobalSettings, mFalsingCollector,
        mKeyguardSecurityContainer.initMode(MODE_DEFAULT, mGlobalSettings, mFalsingManager,
                mUserSwitcherController);

        Insets imeInset = Insets.of(0, 0, 0, imeInsetAmount);
@@ -166,7 +166,7 @@ public class KeyguardSecurityContainerTest extends SysuiTestCase {
        int imeInsetAmount = 0;
        int systemBarInsetAmount = 10;

        mKeyguardSecurityContainer.initMode(MODE_DEFAULT, mGlobalSettings, mFalsingCollector,
        mKeyguardSecurityContainer.initMode(MODE_DEFAULT, mGlobalSettings, mFalsingManager,
                mUserSwitcherController);

        Insets imeInset = Insets.of(0, 0, 0, imeInsetAmount);
@@ -187,7 +187,7 @@ public class KeyguardSecurityContainerTest extends SysuiTestCase {

    private void setupForUpdateKeyguardPosition(boolean oneHandedMode) {
        int mode = oneHandedMode ? MODE_ONE_HANDED : MODE_DEFAULT;
        mKeyguardSecurityContainer.initMode(mode, mGlobalSettings, mFalsingCollector,
        mKeyguardSecurityContainer.initMode(mode, mGlobalSettings, mFalsingManager,
                mUserSwitcherController);

        mKeyguardSecurityContainer.measure(FAKE_MEASURE_SPEC, FAKE_MEASURE_SPEC);
@@ -298,7 +298,7 @@ public class KeyguardSecurityContainerTest extends SysuiTestCase {

    private void setupUserSwitcher() {
        mKeyguardSecurityContainer.initMode(KeyguardSecurityContainer.MODE_USER_SWITCHER,
                mGlobalSettings, mFalsingCollector, mUserSwitcherController);
                mGlobalSettings, mFalsingManager, mUserSwitcherController);
    }

    private ArrayList<UserRecord> buildUserRecords(int count) {