summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--AndroidManifest.xml2
-rw-r--r--src/com/android/camera/CameraActivity.java12
-rw-r--r--src/com/android/camera/PhotoMenu.java17
-rw-r--r--src/com/android/camera/VideoMenu.java17
-rw-r--r--src/com/android/camera/VideoModule.java4
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) {