diff options
-rw-r--r-- | AndroidManifest.xml | 2 | ||||
-rw-r--r-- | src/com/android/camera/CameraActivity.java | 12 | ||||
-rw-r--r-- | src/com/android/camera/PhotoMenu.java | 17 | ||||
-rw-r--r-- | src/com/android/camera/VideoMenu.java | 17 | ||||
-rw-r--r-- | src/com/android/camera/VideoModule.java | 4 |
5 files changed, 31 insertions, 21 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index bf13fac83..c827e6013 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -97,7 +97,7 @@ android:name="com.android.camera.CameraGestureActivity" android:icon="@mipmap/ic_launcher_camera" android:label="@string/camera_gesture_title" - android:targetActivity="com.android.camera.CameraActivity"> + android:targetActivity="com.android.camera.SecureCameraActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> diff --git a/src/com/android/camera/CameraActivity.java b/src/com/android/camera/CameraActivity.java index 8fd8f9daa..d460867a6 100644 --- a/src/com/android/camera/CameraActivity.java +++ b/src/com/android/camera/CameraActivity.java @@ -122,6 +122,9 @@ public class CameraActivity extends Activity // panorama. If the extra is not set, it is in the normal camera mode. public static final String SECURE_CAMERA_EXTRA = "secure_camera"; + // This string is used for judge start activity from screenoff or not + public static final String GESTURE_CAMERA_NAME = "com.android.camera.CameraGestureActivity"; + /** * Request code from an activity we started that indicated that we do not * want to reset the view to the preview in onResume. @@ -1158,9 +1161,6 @@ public class CameraActivity extends Activity getWindow().requestFeature(Window.FEATURE_ACTION_BAR); setContentView(R.layout.camera_filmstrip); - int flags = WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED - | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON; - getWindow().addFlags(flags); mActionBar = getActionBar(); mActionBar.addOnMenuVisibilityListener(this); @@ -1174,7 +1174,8 @@ public class CameraActivity extends Activity Intent intent = getIntent(); String action = intent.getAction(); if (INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE.equals(action) - || ACTION_IMAGE_CAPTURE_SECURE.equals(action)) { + || ACTION_IMAGE_CAPTURE_SECURE.equals(action) + || intent.getComponent().getClassName().equals(GESTURE_CAMERA_NAME)) { mSecureCamera = true; } else { mSecureCamera = intent.getBooleanExtra(SECURE_CAMERA_EXTRA, false); @@ -1185,6 +1186,9 @@ public class CameraActivity extends Activity Window win = getWindow(); WindowManager.LayoutParams params = win.getAttributes(); params.flags |= WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED; + if (intent.getComponent().getClassName().equals(GESTURE_CAMERA_NAME)) { + params.flags |= WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON; + } win.setAttributes(params); // Filter for screen off so that we can finish secure camera activity diff --git a/src/com/android/camera/PhotoMenu.java b/src/com/android/camera/PhotoMenu.java index 1568c32c0..1aea279a3 100644 --- a/src/com/android/camera/PhotoMenu.java +++ b/src/com/android/camera/PhotoMenu.java @@ -69,7 +69,8 @@ public class PhotoMenu extends MenuController private static final int POPUP_NONE = 0; private static final int POPUP_FIRST_LEVEL = 1; private static final int POPUP_SECOND_LEVEL = 2; - private static final int POPUP_IN_ANIMATION = 3; + private static final int POPUP_IN_ANIMATION_SLIDE = 3; + private static final int POPUP_IN_ANIMATION_FADE = 4; private static final int PREVIEW_MENU_NONE = 0; private static final int PREVIEW_MENU_IN_ANIMATION = 1; private static final int PREVIEW_MENU_ON = 2; @@ -225,9 +226,9 @@ public class PhotoMenu extends MenuController } private void animateFadeOut(final ListView v, final int level) { - if (v == null || mPopupStatus == POPUP_IN_ANIMATION) + if (v == null || mPopupStatus == POPUP_IN_ANIMATION_FADE) return; - mPopupStatus = POPUP_IN_ANIMATION; + mPopupStatus = POPUP_IN_ANIMATION_FADE; ViewPropertyAnimator vp = v.animate(); vp.alpha(0f).setDuration(ANIMATION_DURATION); @@ -274,9 +275,9 @@ public class PhotoMenu extends MenuController } private void animateSlideOut(final ListView v, final int level) { - if (v == null || mPopupStatus == POPUP_IN_ANIMATION) + if (v == null || mPopupStatus == POPUP_IN_ANIMATION_SLIDE) return; - mPopupStatus = POPUP_IN_ANIMATION; + mPopupStatus = POPUP_IN_ANIMATION_SLIDE; ViewPropertyAnimator vp = v.animate(); vp.translationX(v.getX() - v.getWidth()).setDuration(ANIMATION_DURATION); @@ -413,7 +414,9 @@ public class PhotoMenu extends MenuController } public boolean isOverMenu(MotionEvent ev) { - if (mPopupStatus == POPUP_NONE || mPopupStatus == POPUP_IN_ANIMATION) + if (mPopupStatus == POPUP_NONE + || mPopupStatus == POPUP_IN_ANIMATION_SLIDE + || mPopupStatus == POPUP_IN_ANIMATION_FADE) return false; if (mUI.getMenuLayout() == null) return false; @@ -439,7 +442,7 @@ public class PhotoMenu extends MenuController } public boolean isMenuBeingAnimated() { - return mPopupStatus == POPUP_IN_ANIMATION; + return mPopupStatus == POPUP_IN_ANIMATION_SLIDE || mPopupStatus == POPUP_IN_ANIMATION_FADE; } public boolean isPreviewMenuBeingShown() { diff --git a/src/com/android/camera/VideoMenu.java b/src/com/android/camera/VideoMenu.java index 3f9cde7f0..1f9c6d1a0 100644 --- a/src/com/android/camera/VideoMenu.java +++ b/src/com/android/camera/VideoMenu.java @@ -66,7 +66,8 @@ public class VideoMenu extends MenuController private static final int POPUP_NONE = 0; private static final int POPUP_FIRST_LEVEL = 1; private static final int POPUP_SECOND_LEVEL = 2; - private static final int POPUP_IN_ANIMATION = 3; + private static final int POPUP_IN_ANIMATION_SLIDE = 3; + private static final int POPUP_IN_ANIMATION_FADE = 4; private static final int PREVIEW_MENU_NONE = 0; private static final int PREVIEW_MENU_IN_ANIMATION = 1; private static final int PREVIEW_MENU_ON = 2; @@ -164,9 +165,9 @@ public class VideoMenu extends MenuController } private void animateFadeOut(final ListView v, final int level) { - if (v == null || mPopupStatus == POPUP_IN_ANIMATION) + if (v == null || mPopupStatus == POPUP_IN_ANIMATION_FADE) return; - mPopupStatus = POPUP_IN_ANIMATION; + mPopupStatus = POPUP_IN_ANIMATION_FADE; ViewPropertyAnimator vp = v.animate(); vp.alpha(0f).setDuration(ANIMATION_DURATION); @@ -213,9 +214,9 @@ public class VideoMenu extends MenuController } private void animateSlideOut(final ListView v, final int level) { - if (v == null || mPopupStatus == POPUP_IN_ANIMATION) + if (v == null || mPopupStatus == POPUP_IN_ANIMATION_SLIDE) return; - mPopupStatus = POPUP_IN_ANIMATION; + mPopupStatus = POPUP_IN_ANIMATION_SLIDE; ViewPropertyAnimator vp = v.animate(); vp.translationX(v.getX() - v.getWidth()).setDuration(ANIMATION_DURATION); @@ -340,7 +341,9 @@ public class VideoMenu extends MenuController } public boolean isOverMenu(MotionEvent ev) { - if (mPopupStatus == POPUP_NONE || mPopupStatus == POPUP_IN_ANIMATION) + if (mPopupStatus == POPUP_NONE + || mPopupStatus == POPUP_IN_ANIMATION_SLIDE + || mPopupStatus == POPUP_IN_ANIMATION_FADE) return false; if (mUI.getMenuLayout() == null) return false; @@ -366,7 +369,7 @@ public class VideoMenu extends MenuController } public boolean isMenuBeingAnimated() { - return mPopupStatus == POPUP_IN_ANIMATION; + return mPopupStatus == POPUP_IN_ANIMATION_SLIDE || mPopupStatus == POPUP_IN_ANIMATION_FADE; } public boolean isPreviewMenuBeingShown() { diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java index 1bd395188..f5849d18b 100644 --- a/src/com/android/camera/VideoModule.java +++ b/src/com/android/camera/VideoModule.java @@ -646,6 +646,7 @@ public class VideoModule implements CameraModule, mUI.animateCapture(); } } + mUI.showUIafterRecording(); } public void onVideoSaved() { @@ -687,10 +688,8 @@ public class VideoModule implements CameraModule, if (stop) { onStopVideoRecording(); - mUI.showUIafterRecording(); } else { startVideoRecording(); - mUI.hideUIwhileRecording(); } mUI.enableShutter(false); @@ -1597,6 +1596,7 @@ public class VideoModule implements CameraModule, mStartRecPending = true; mUI.cancelAnimations(); mUI.setSwipingEnabled(false); + mUI.hideUIwhileRecording(); mActivity.updateStorageSpaceAndHint(); if (mActivity.getStorageSpaceBytes() <= Storage.LOW_STORAGE_THRESHOLD_BYTES) { |