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

Commit c816b8ee authored by Jim Miller's avatar Jim Miller
Browse files

Enable fast camera transition when launched from navbar

This reduces the camera transition timeout to 0 if launched
from the navigation bar.  The transition cannot be aborted once
launched.

Change-Id: I7c376fbb90fd51cd301ef49fbd3411370bc2e4b5
parent c641de01
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -68,6 +68,7 @@ public class CameraWidgetFrame extends KeyguardWidgetFrame implements View.OnCli
    private FixedSizeFrameLayout mPreview;
    private View mFullscreenPreview;
    private View mFakeNavBar;
    private boolean mUseFastTransition;

    private final Runnable mTransitionToCameraRunnable = new Runnable() {
        @Override
@@ -418,7 +419,8 @@ public class CameraWidgetFrame extends KeyguardWidgetFrame implements View.OnCli
    private void rescheduleTransitionToCamera() {
        if (DEBUG) Log.d(TAG, "rescheduleTransitionToCamera at " + SystemClock.uptimeMillis());
        mHandler.removeCallbacks(mTransitionToCameraRunnable);
        mHandler.postDelayed(mTransitionToCameraRunnable, WIDGET_WAIT_DURATION);
        final long duration = mUseFastTransition ? 0 : WIDGET_WAIT_DURATION;
        mHandler.postDelayed(mTransitionToCameraRunnable, duration);
    }

    private void cancelTransitionToCamera() {
@@ -513,4 +515,8 @@ public class CameraWidgetFrame extends KeyguardWidgetFrame implements View.OnCli
        if (DEBUG) Log.d(TAG, "setInsets: " + insets);
        mInsets.set(insets);
    }

    public void setUseFastTransition(boolean useFastTransition) {
        mUseFastTransition = useFastTransition;
    }
}
+4 −0
Original line number Diff line number Diff line
@@ -154,6 +154,10 @@ public class KeyguardViewStateManager implements
    public void onPageSwitching(View newPage, int newPageIndex) {
        if (mKeyguardWidgetPager != null && mChallengeLayout instanceof SlidingChallengeLayout) {
            boolean isCameraPage = newPage instanceof CameraWidgetFrame;
            if (isCameraPage) {
                CameraWidgetFrame camera = (CameraWidgetFrame) newPage;
                camera.setUseFastTransition(mKeyguardWidgetPager.isWarping());
            }
            SlidingChallengeLayout scl = (SlidingChallengeLayout) mChallengeLayout;
            scl.setChallengeInteractive(!isCameraPage);
            final int currentFlags = mKeyguardWidgetPager.getSystemUiVisibility();
+3 −1
Original line number Diff line number Diff line
@@ -1938,10 +1938,12 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc

        if (isWarping()) {
            dispatchOnPageEndWarp();
            notifyPageSwitching(whichPage);
            resetPageWarp();
        } else {
            notifyPageSwitching(whichPage);
        }

        notifyPageSwitching(whichPage);
        View focusedChild = getFocusedChild();
        if (focusedChild != null && whichPage != mCurrentPage &&
                focusedChild == getPageAt(mCurrentPage)) {