summaryrefslogtreecommitdiffstats
path: root/packages/Keyguard
diff options
context:
space:
mode:
authorJim Miller <jaggies@google.com>2013-11-12 19:52:12 -0800
committerJim Miller <jaggies@google.com>2013-11-12 19:52:12 -0800
commitc816b8eedb4197cd68077f58988581ef6fae6dd1 (patch)
tree26c081de58fa9d759ca1b017a6403aad7d1288ff /packages/Keyguard
parentc641de017ae0b15bbc13f43fd14fca6b1523ec02 (diff)
downloadframeworks_base-c816b8eedb4197cd68077f58988581ef6fae6dd1.zip
frameworks_base-c816b8eedb4197cd68077f58988581ef6fae6dd1.tar.gz
frameworks_base-c816b8eedb4197cd68077f58988581ef6fae6dd1.tar.bz2
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
Diffstat (limited to 'packages/Keyguard')
-rw-r--r--packages/Keyguard/src/com/android/keyguard/CameraWidgetFrame.java8
-rw-r--r--packages/Keyguard/src/com/android/keyguard/KeyguardViewStateManager.java4
-rw-r--r--packages/Keyguard/src/com/android/keyguard/PagedView.java4
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 3dc4d5c..e2171ba 100644
--- a/packages/Keyguard/src/com/android/keyguard/CameraWidgetFrame.java
+++ b/packages/Keyguard/src/com/android/keyguard/CameraWidgetFrame.java
@@ -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;
+ }
}
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardViewStateManager.java b/packages/Keyguard/src/com/android/keyguard/KeyguardViewStateManager.java
index f0413d6..169899f 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 b9404d4..5493aaa 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)) {