diff options
| author | 2013-11-13 22:23:34 +0000 | |
|---|---|---|
| committer | 2013-11-13 22:23:34 +0000 | |
| commit | 3714473f1a077cae6eca3079da67a7dd09dcff65 (patch) | |
| tree | 5be87a7ba54dc17a670be0ee0664bf3336aedabf | |
| parent | 9c8d56a692198a3fc1629a0407ea6027f04e9a91 (diff) | |
| parent | c816b8eedb4197cd68077f58988581ef6fae6dd1 (diff) | |
Merge "Enable fast camera transition when launched from navbar" into klp-dev
3 files changed, 14 insertions, 2 deletions
diff --git a/packages/Keyguard/src/com/android/keyguard/CameraWidgetFrame.java b/packages/Keyguard/src/com/android/keyguard/CameraWidgetFrame.java index 6a69e270a73f..74e6f33668b0 100644 --- a/packages/Keyguard/src/com/android/keyguard/CameraWidgetFrame.java +++ b/packages/Keyguard/src/com/android/keyguard/CameraWidgetFrame.java @@ -67,6 +67,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 @@ -417,7 +418,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() { @@ -512,4 +514,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; + } } diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardViewStateManager.java b/packages/Keyguard/src/com/android/keyguard/KeyguardViewStateManager.java index f0413d68d0fe..169899f372c6 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardViewStateManager.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardViewStateManager.java @@ -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(); diff --git a/packages/Keyguard/src/com/android/keyguard/PagedView.java b/packages/Keyguard/src/com/android/keyguard/PagedView.java index 3108f6842dca..53c17a5e7adc 100644 --- a/packages/Keyguard/src/com/android/keyguard/PagedView.java +++ b/packages/Keyguard/src/com/android/keyguard/PagedView.java @@ -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)) { |