summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorpezhan <pezhan@codeaurora.org>2017-01-11 10:19:26 +0800
committerpezhan <pezhan@codeaurora.org>2017-01-11 10:19:26 +0800
commit64b18764c76e8211d3aac87b0836a791f445a0f7 (patch)
tree781b116c21d38361ef702628f4ca755ecabda9a4 /src
parent15f6d966c807c371a12f68bf9f5f4e7447a9ba8e (diff)
downloadandroid_packages_apps_Snap-64b18764c76e8211d3aac87b0836a791f445a0f7.tar.gz
android_packages_apps_Snap-64b18764c76e8211d3aac87b0836a791f445a0f7.tar.bz2
android_packages_apps_Snap-64b18764c76e8211d3aac87b0836a791f445a0f7.zip
SnapdragonCamera: Fix Can't choose BestPicture when the screen were locked
When enter the bestpictureActivity, the keyguard will cover this activity. Add flags if it's SecureCamera, when enter bestpictureActivity, the keyguard will dismiss. BestpictureActivity will display normally. Change-Id: I9e9e2bfd3c03a66d131048c0ebaa2e54c14787d8 CRs-Fixed: 1108275
Diffstat (limited to 'src')
-rw-r--r--src/com/android/camera/BestpictureActivity.java25
-rwxr-xr-xsrc/com/android/camera/imageprocessor/filter/BestpictureFilter.java6
2 files changed, 29 insertions, 2 deletions
diff --git a/src/com/android/camera/BestpictureActivity.java b/src/com/android/camera/BestpictureActivity.java
index 1fec1d82c..6947e634e 100644
--- a/src/com/android/camera/BestpictureActivity.java
+++ b/src/com/android/camera/BestpictureActivity.java
@@ -44,6 +44,8 @@ import android.util.Log;
import android.view.Display;
import android.view.Menu;
import android.view.View;
+import android.view.Window;
+import android.view.WindowManager;
import android.support.v4.app.FragmentActivity;
import android.widget.Toast;
@@ -66,7 +68,12 @@ public class BestpictureActivity extends FragmentActivity{
public static final String[] NAMES = {
"00", "01", "02", "03", "04", "05", "06", "07", "08", "09"
};
-
+ private static final String INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE =
+ "android.media.action.STILL_IMAGE_CAMERA_SECURE";
+ public static final String ACTION_IMAGE_CAPTURE_SECURE =
+ "android.media.action.IMAGE_CAPTURE_SECURE";
+ public static final String SECURE_CAMERA_EXTRA = "secure_camera";
+ private boolean mSecureCamera;
public static final int NUM_IMAGES = 10;
private ViewPager mImagePager;
@@ -142,6 +149,22 @@ public class BestpictureActivity extends FragmentActivity{
public void onCreate(Bundle state) {
super.onCreate(state);
mActivity = this;
+ Intent intent = getIntent();
+ String action = intent.getAction();
+ if (INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE.equals(action)
+ || ACTION_IMAGE_CAPTURE_SECURE.equals(action)) {
+ mSecureCamera = true;
+ } else {
+ mSecureCamera = intent.getBooleanExtra(SECURE_CAMERA_EXTRA, false);
+ }
+
+ if (mSecureCamera) {
+ // Change the window flags so that secure camera can show when locked
+ Window win = getWindow();
+ WindowManager.LayoutParams params = win.getAttributes();
+ params.flags |= WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED;
+ win.setAttributes(params);
+ }
mFilesPath = getFilesDir()+"/Bestpicture";
setContentView(R.layout.bestpicture_editor);
Display display = getWindowManager().getDefaultDisplay();
diff --git a/src/com/android/camera/imageprocessor/filter/BestpictureFilter.java b/src/com/android/camera/imageprocessor/filter/BestpictureFilter.java
index bf1852450..e2c784f97 100755
--- a/src/com/android/camera/imageprocessor/filter/BestpictureFilter.java
+++ b/src/com/android/camera/imageprocessor/filter/BestpictureFilter.java
@@ -74,7 +74,8 @@ public class BestpictureFilter implements ImageFilter {
final String[] NAMES = {"00.jpg", "01.jpg", "02.jpg", "03.jpg",
"04.jpg", "05.jpg", "06.jpg", "07.jpg", "08.jpg"
,"09.jpg"};
-
+ private static final String INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE =
+ "android.media.action.STILL_IMAGE_CAMERA_SECURE";
private final static int TIME_DELAY = 50;
private int mSavedCount = 0;
private PhotoModule.NamedImages mNamedImages;
@@ -214,6 +215,9 @@ public class BestpictureFilter implements ImageFilter {
Log("Start best picture activity");
Intent intent = new Intent();
intent.setData(uri);
+ if (mActivity.isSecureCamera()) {
+ intent.setAction(INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE);
+ }
intent.setClass(mActivity, BestpictureActivity.class);
mActivity.startActivityForResult(intent, BestpictureActivity.BESTPICTURE_ACTIVITY_CODE);
}