diff options
Diffstat (limited to 'src')
-rwxr-xr-x | src/com/android/camera/CameraActivity.java | 27 | ||||
-rw-r--r-- | src/com/android/camera/RefocusActivity.java | 25 | ||||
-rw-r--r-- | src/com/android/camera/util/CameraUtil.java | 6 |
3 files changed, 52 insertions, 6 deletions
diff --git a/src/com/android/camera/CameraActivity.java b/src/com/android/camera/CameraActivity.java index 2f324c79a..32d499a38 100755 --- a/src/com/android/camera/CameraActivity.java +++ b/src/com/android/camera/CameraActivity.java @@ -594,6 +594,9 @@ public class CameraActivity extends Activity intent.setClass(this, RefocusActivity.class); intent.setData(uri); intent.setFlags(RefocusActivity.MAP_ROTATED); + if (isSecureCamera()) { + intent.setAction(INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE); + } startActivityForResult(intent, REFOCUS_ACTIVITY_CODE); return; } @@ -742,7 +745,17 @@ public class CameraActivity extends Activity if (!isSecureCamera()) { mThumbnail.setVisibility(View.VISIBLE); } else { - mThumbnail.setVisibility(View.GONE); + //under SecureCamera and UbiFocus mode, if click shutter button, if it is + // Refocus,should display the thumbnail. + if (mCurrentModule instanceof CaptureModule) { + if (((CaptureModule) mCurrentModule).isRefocus()) { + mThumbnail.setVisibility(View.VISIBLE); + } else { + mThumbnail.setVisibility(View.GONE); + } + } else { + mThumbnail.setVisibility(View.GONE); + } } } } @@ -755,7 +768,17 @@ public class CameraActivity extends Activity if (!isSecureCamera()) { mThumbnail.setVisibility(View.VISIBLE); } else { - mThumbnail.setVisibility(View.GONE); + //under SecureCamera and UbiFocus mode, when back from RefocusActivity,if not save + // image and is Refocus ,still need to display the thumbnail. + if (mCurrentModule instanceof CaptureModule) { + if (((CaptureModule) mCurrentModule).isRefocus()) { + mThumbnail.setVisibility(View.VISIBLE); + } else { + mThumbnail.setVisibility(View.GONE); + } + } else { + mThumbnail.setVisibility(View.GONE); + } } } } diff --git a/src/com/android/camera/RefocusActivity.java b/src/com/android/camera/RefocusActivity.java index 058e7b0d2..a3d5c0862 100644 --- a/src/com/android/camera/RefocusActivity.java +++ b/src/com/android/camera/RefocusActivity.java @@ -56,11 +56,14 @@ import android.util.Log; import android.view.Display; import android.view.MotionEvent; import android.view.View; +import android.view.Window; +import android.view.WindowManager; import android.widget.ImageView; import android.widget.FrameLayout; import com.android.camera.exif.ExifInterface; +import com.android.camera.util.CameraUtil; import org.codeaurora.snapcam.R; public class RefocusActivity extends Activity { @@ -75,7 +78,7 @@ public class RefocusActivity extends Activity { private int mWidth; private int mHeight; private Indicator mIndicator; - + private boolean mSecureCamera; private View mAllInFocusView; private DepthMap mDepthMap; @@ -90,8 +93,25 @@ public class RefocusActivity extends Activity { @Override public void onCreate(Bundle state) { super.onCreate(state); + Intent intent = getIntent(); + mUri = intent.getData(); + String action = intent.getAction(); + if (CameraUtil.INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE.equals(action) + || CameraUtil.ACTION_IMAGE_CAPTURE_SECURE.equals(action)) { + mSecureCamera = true; + } else { + mSecureCamera = intent.getBooleanExtra(CameraUtil.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()+""; - if(getIntent().getFlags() == MAP_ROTATED) { + if(intent.getFlags() == MAP_ROTATED || mSecureCamera) { mMapRotated = true; mFilesPath = getFilesDir()+"/Ubifocus"; } @@ -102,7 +122,6 @@ public class RefocusActivity extends Activity { } }).start(); - mUri = getIntent().getData(); setContentView(R.layout.refocus_editor); mIndicator = (Indicator) findViewById(R.id.refocus_indicator); diff --git a/src/com/android/camera/util/CameraUtil.java b/src/com/android/camera/util/CameraUtil.java index bcecae7f8..f6591a6db 100644 --- a/src/com/android/camera/util/CameraUtil.java +++ b/src/com/android/camera/util/CameraUtil.java @@ -122,7 +122,11 @@ public class CameraUtil { // pressed the shutter button. public static final String ACTION_CAMERA_SHUTTER_CLICK = "com.android.camera.action.SHUTTER_CLICK"; - + public 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"; // Fields from android.hardware.Camera.Parameters public static final String FOCUS_MODE_CONTINUOUS_PICTURE = "continuous-picture"; public static final String RECORDING_HINT = "recording-hint"; |