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

Commit 855cc988 authored by Jamie Garside's avatar Jamie Garside Committed by Automerger Merge Worker
Browse files

Merge "Open bouncer on screen side of swipe in one-handed mode." into sc-dev am: ee55a845

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13996770

Change-Id: Idae02c6a4ef5b913e1f6c87950c6719511831f0e
parents 38cd5741 ee55a845
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -492,4 +492,11 @@ public class KeyguardHostViewController extends ViewController<KeyguardHostView>
            mKeyguardSecurityContainerController.updateResources();
        }
    }

    /** Update keyguard position based on a tapped X coordinate. */
    public void updateKeyguardPosition(float x) {
        if (mKeyguardSecurityContainerController != null) {
            mKeyguardSecurityContainerController.updateKeyguardPosition(x);
        }
    }
}
+14 −3
Original line number Diff line number Diff line
@@ -267,6 +267,13 @@ public class KeyguardSecurityContainer extends FrameLayout {
        updateSecurityViewLocation(false);
    }

    /** Update keyguard position based on a tapped X coordinate. */
    public void updateKeyguardPosition(float x) {
        if (mOneHandedMode) {
            moveBouncerForXCoordinate(x, /* animate= */false);
        }
    }

    /** Return whether the one-handed keyguard should be enabled. */
    private boolean canUseOneHandedBouncer() {
        // Is it enabled?
@@ -488,9 +495,13 @@ public class KeyguardSecurityContainer extends FrameLayout {
            return;
        }

        moveBouncerForXCoordinate(event.getX(), /* animate= */true);
    }

    private void moveBouncerForXCoordinate(float x, boolean animate) {
        // Did the tap hit the "other" side of the bouncer?
        if ((mIsSecurityViewLeftAligned && (event.getX() > getWidth() / 2f))
                || (!mIsSecurityViewLeftAligned && (event.getX() < getWidth() / 2f))) {
        if ((mIsSecurityViewLeftAligned && (x > getWidth() / 2f))
                || (!mIsSecurityViewLeftAligned && (x < getWidth() / 2f))) {
            mIsSecurityViewLeftAligned = !mIsSecurityViewLeftAligned;

            Settings.Global.putInt(
@@ -499,7 +510,7 @@ public class KeyguardSecurityContainer extends FrameLayout {
                    mIsSecurityViewLeftAligned ? Settings.Global.ONE_HANDED_KEYGUARD_SIDE_LEFT
                            : Settings.Global.ONE_HANDED_KEYGUARD_SIDE_RIGHT);

            updateSecurityViewLocation(true);
            updateSecurityViewLocation(animate);
        }
    }

+5 −0
Original line number Diff line number Diff line
@@ -515,6 +515,11 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
        }
    }

    /** Update keyguard position based on a tapped X coordinate. */
    public void updateKeyguardPosition(float x) {
        mView.updateKeyguardPosition(x);
    }

    static class Factory {

        private final KeyguardSecurityContainer mView;
+7 −0
Original line number Diff line number Diff line
@@ -555,6 +555,13 @@ public class KeyguardBouncer {
        pw.println("  mIsAnimatingAway: " + mIsAnimatingAway);
    }

    /** Update keyguard position based on a tapped X coordinate. */
    public void updateKeyguardPosition(float x) {
        if (mKeyguardViewController != null) {
            mKeyguardViewController.updateKeyguardPosition(x);
        }
    }

    public interface BouncerExpansionCallback {
        void onFullyShown();
        void onStartingToHide();
+6 −0
Original line number Diff line number Diff line
@@ -3494,6 +3494,12 @@ public class NotificationPanelViewController extends PanelViewController {
                    updateHorizontalPanelPosition(event.getX());
                    handled = true;
                }

                if (event.getActionMasked() == MotionEvent.ACTION_DOWN && isFullyExpanded()
                        && mStatusBarKeyguardViewManager.isShowing()) {
                    mStatusBarKeyguardViewManager.updateKeyguardPosition(event.getX());
                }

                handled |= super.onTouch(v, event);
                return !mDozing || mPulsing || handled || showingOrAnimatingAltAuth;
            }
Loading