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

Commit 8de9e443 authored by Jim Miller's avatar Jim Miller
Browse files

Fit and finish for navbar camera affordance

- fix potential event dispatch bug where camera events weren't always propagated
- fix DelegateViewHelper to always propagate events, even when disabled

Bug 10332383

Change-Id: Ie082d3074fc6497ee3633dcc0a51a6b08bcf0037
parent 5f86b90b
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -90,6 +90,7 @@ public class KeyguardWidgetPager extends PagedView implements PagedView.PageSwit
    // Background worker thread: used here for persistence, also made available to widget frames
    private final HandlerThread mBackgroundWorkerThread;
    private final Handler mBackgroundWorkerHandler;
    private boolean mCameraEventInProgress;

    public KeyguardWidgetPager(Context context, AttributeSet attrs) {
        this(context, attrs, 0);
@@ -941,14 +942,18 @@ public class KeyguardWidgetPager extends PagedView implements PagedView.PageSwit
        beginCameraEvent();
        int cameraPage = getPageCount() - 1;
        boolean endWarp = false;
        if (isCameraPage(cameraPage)) {
        if (isCameraPage(cameraPage) || mCameraEventInProgress) {
            switch (event.getAction()) {
                case MotionEvent.ACTION_DOWN:
                    // Once we start dispatching camera events, we must continue to do so
                    // to keep event dispatch happy.
                    mCameraEventInProgress = true;
                    userActivity();
                    startWarp(cameraPage);
                    break;
                case MotionEvent.ACTION_UP:
                case MotionEvent.ACTION_CANCEL:
                    mCameraEventInProgress = false;
                    endWarp = true;
                    break;
            }
+2 −3
Original line number Diff line number Diff line
@@ -50,8 +50,7 @@ public class DelegateViewHelper {
    }

    public boolean onInterceptTouchEvent(MotionEvent event) {
        if (mSourceView == null || mDelegateView == null || mDisabled
                || mBar.shouldDisableNavbarGestures()) {
        if (mSourceView == null || mDelegateView == null || mBar.shouldDisableNavbarGestures()) {
            return false;
        }

@@ -73,7 +72,7 @@ public class DelegateViewHelper {
            return false;
        }

        if (!mPanelShowing && action == MotionEvent.ACTION_MOVE) {
        if (!mDisabled && !mPanelShowing && action == MotionEvent.ACTION_MOVE) {
            final int historySize = event.getHistorySize();
            for (int k = 0; k < historySize + 1; k++) {
                float x = k < historySize ? event.getHistoricalX(k) : event.getX();