diff options
-rw-r--r-- | src/com/android/camera/BestpictureActivity.java | 25 | ||||
-rwxr-xr-x | src/com/android/camera/imageprocessor/filter/BestpictureFilter.java | 6 |
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); } |