Remove global UI elements based on supported camera parameters.
Bug: 12192238
Change-Id: I6373adeaa9c95385a2a4ca8d81cf7656550911f2
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java
index 6bfc07e..147ac65 100644
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -50,6 +50,7 @@
import com.android.camera.PhotoModule.NamedImages.NamedEntity;
import com.android.camera.app.AppController;
+import com.android.camera.app.CameraAppUI;
import com.android.camera.app.CameraManager.CameraAFCallback;
import com.android.camera.app.CameraManager.CameraAFMoveCallback;
import com.android.camera.app.CameraManager.CameraPictureCallback;
@@ -62,6 +63,8 @@
import com.android.camera.exif.ExifInterface;
import com.android.camera.exif.ExifTag;
import com.android.camera.exif.Rational;
+import com.android.camera.hardware.HardwareSpec;
+import com.android.camera.hardware.HardwareSpecImpl;
import com.android.camera.module.ModuleController;
import com.android.camera.settings.SettingsManager;
import com.android.camera.ui.RotateTextToast;
@@ -340,7 +343,6 @@
mActivity.getCameraProvider().requestCamera(mCameraId);
- initializeControlByIntent();
mQuickCapture = mActivity.getIntent().getBooleanExtra(EXTRA_QUICK_CAPTURE, false);
mLocationManager = mActivity.getLocationManager();
mSensorManager = (SensorManager) (mActivity.getSystemService(Context.SENSOR_SERVICE));
@@ -353,8 +355,8 @@
}
private void initializeControlByIntent() {
- mUI.initializeControlByIntent();
if (mIsImageCaptureIntent) {
+ mActivity.getCameraAppUI().transitionToIntentLayout();
setupCaptureParams();
}
}
@@ -407,6 +409,7 @@
private void onCameraOpened() {
openCameraCommon();
+ initializeControlByIntent();
}
private void switchCamera() {
@@ -479,15 +482,67 @@
}
};
+ private final View.OnClickListener mCancelCallback = new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ onCaptureCancelled();
+ }
+ };
+
+ private final View.OnClickListener mDoneCallback = new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ onCaptureDone();
+ }
+ };
+
+ private final View.OnClickListener mRetakeCallback = new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ mActivity.getCameraAppUI().transitionToIntentLayout();
+ onCaptureRetake();
+ }
+ };
+
@Override
- public void customizeButtons(ButtonManager buttonManager) {
- mUI.customizeButtons(buttonManager, mCameraCallback, mHdrPlusCallback,
- mRefocusCallback);
+ public HardwareSpec getHardwareSpec() {
+ return new HardwareSpecImpl(mParameters);
+ }
+
+ @Override
+ public CameraAppUI.BottomBarUISpec getBottomBarSpec() {
+ CameraAppUI.BottomBarUISpec bottomBarSpec = new CameraAppUI.BottomBarUISpec();
+
+ bottomBarSpec.enableCamera = true;
+ bottomBarSpec.cameraCallback = mCameraCallback;
+ bottomBarSpec.enableFlash = true;
+
+ if (mActivity.getCurrentModuleIndex() ==
+ mActivity.getResources().getInteger(R.integer.camera_mode_photo)) {
+ bottomBarSpec.hideHdr= true;
+ bottomBarSpec.hideRefocus = true;
+ } else {
+ bottomBarSpec.enableHdr = true;
+ bottomBarSpec.hdrCallback = mHdrPlusCallback;
+ bottomBarSpec.enableRefocus = true;
+ bottomBarSpec.refocusCallback = mRefocusCallback;
+ }
+
+ if (isImageCaptureIntent()) {
+ bottomBarSpec.showCancel = true;
+ bottomBarSpec.cancelCallback = mCancelCallback;
+ bottomBarSpec.showDone = true;
+ bottomBarSpec.doneCallback = mDoneCallback;
+ bottomBarSpec.showRetake = true;
+ bottomBarSpec.retakeCallback = mRetakeCallback;
+ }
+
+ return bottomBarSpec;
}
// either open a new camera or switch cameras
private void openCameraCommon() {
- mUI.onCameraOpened(mParameters, mCameraCallback, mHdrPlusCallback, mRefocusCallback);
+ mUI.onCameraOpened(mParameters);
if (mIsImageCaptureIntent) {
// Set hdr plus to default: off.
SettingsManager settingsManager = mActivity.getSettingsManager();