From 105aaf4dd5a381d4c5098fc1d7ace29a3c240c9e Mon Sep 17 00:00:00 2001 From: Doris Liu Date: Mon, 23 Sep 2013 20:43:20 -0700 Subject: Fix SRI UX issues and improve UI efficiency Bug: 10674078 Change-Id: I0bb820b5866e3acb8534592a4eec246df24fd441 --- res/layout-land/pano_module_capture.xml | 96 ------------------- res/layout-land/pano_module_review.xml | 48 ---------- res/layout-land/pano_review_control.xml | 34 +++++++ res/layout-port/pano_module_capture.xml | 96 ------------------- res/layout-port/pano_module_review.xml | 60 ------------ res/layout-port/pano_review_control.xml | 33 +++++++ res/layout/pano_module_capture.xml | 119 ++++++++++++++++++++++++ res/layout/pano_module_review.xml | 50 ++++++++++ res/values-land/dimensions.xml | 1 + res/values-port/dimensions.xml | 18 ++++ res/values/styles.xml | 3 - src/com/android/camera/WideAnglePanoramaUI.java | 73 +++++++++------ 12 files changed, 300 insertions(+), 331 deletions(-) delete mode 100644 res/layout-land/pano_module_capture.xml delete mode 100644 res/layout-land/pano_module_review.xml create mode 100644 res/layout-land/pano_review_control.xml delete mode 100644 res/layout-port/pano_module_capture.xml delete mode 100644 res/layout-port/pano_module_review.xml create mode 100644 res/layout-port/pano_review_control.xml create mode 100644 res/layout/pano_module_capture.xml create mode 100644 res/layout/pano_module_review.xml create mode 100644 res/values-port/dimensions.xml diff --git a/res/layout-land/pano_module_capture.xml b/res/layout-land/pano_module_capture.xml deleted file mode 100644 index cb7602629..000000000 --- a/res/layout-land/pano_module_capture.xml +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/layout-land/pano_module_review.xml b/res/layout-land/pano_module_review.xml deleted file mode 100644 index 002d47aff..000000000 --- a/res/layout-land/pano_module_review.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/res/layout-land/pano_review_control.xml b/res/layout-land/pano_review_control.xml new file mode 100644 index 000000000..93c1020a8 --- /dev/null +++ b/res/layout-land/pano_review_control.xml @@ -0,0 +1,34 @@ + + + + + + + + \ No newline at end of file diff --git a/res/layout-port/pano_module_capture.xml b/res/layout-port/pano_module_capture.xml deleted file mode 100644 index 57c00cded..000000000 --- a/res/layout-port/pano_module_capture.xml +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/layout-port/pano_module_review.xml b/res/layout-port/pano_module_review.xml deleted file mode 100644 index 3c5eb2cfc..000000000 --- a/res/layout-port/pano_module_review.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/res/layout-port/pano_review_control.xml b/res/layout-port/pano_review_control.xml new file mode 100644 index 000000000..852b486ad --- /dev/null +++ b/res/layout-port/pano_review_control.xml @@ -0,0 +1,33 @@ + + + + + + + + \ No newline at end of file diff --git a/res/layout/pano_module_capture.xml b/res/layout/pano_module_capture.xml new file mode 100644 index 000000000..c6c131741 --- /dev/null +++ b/res/layout/pano_module_capture.xml @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/res/layout/pano_module_review.xml b/res/layout/pano_module_review.xml new file mode 100644 index 000000000..3f80e8af0 --- /dev/null +++ b/res/layout/pano_module_review.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + diff --git a/res/values-land/dimensions.xml b/res/values-land/dimensions.xml index 3eae85647..41eea19ed 100644 --- a/res/values-land/dimensions.xml +++ b/res/values-land/dimensions.xml @@ -17,4 +17,5 @@ 39dp 0dip + 3 diff --git a/res/values-port/dimensions.xml b/res/values-port/dimensions.xml new file mode 100644 index 000000000..6f3fe7636 --- /dev/null +++ b/res/values-port/dimensions.xml @@ -0,0 +1,18 @@ + + + + 2 + diff --git a/res/values/styles.xml b/res/values/styles.xml index a09bce73f..0d6241588 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml @@ -275,8 +275,5 @@ diff --git a/src/com/android/camera/WideAnglePanoramaUI.java b/src/com/android/camera/WideAnglePanoramaUI.java index 7c846468e..407160933 100644 --- a/src/com/android/camera/WideAnglePanoramaUI.java +++ b/src/com/android/camera/WideAnglePanoramaUI.java @@ -37,6 +37,7 @@ import android.view.View; import android.view.ViewGroup; import android.widget.FrameLayout; import android.widget.ImageView; +import android.widget.LinearLayout; import android.widget.TextView; import com.android.camera.ui.CameraControls; @@ -71,6 +72,8 @@ public class WideAnglePanoramaUI implements private PanoProgressBar mCaptureProgressBar; private PanoProgressBar mSavingProgressBar; private TextView mTooFastPrompt; + private View mPreviewLayout; + private ViewGroup mReviewControl; private TextureView mTextureView; private ShutterButton mShutterButton; private CameraControls mCameraControls; @@ -265,14 +268,11 @@ public class WideAnglePanoramaUI implements if (threadRunning) lowResReview = mReview.getDrawable(); // Change layout in response to configuration change - /* TODO (shkong):mCaptureLayout.setOrientation( - newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE - ? LinearLayout.HORIZONTAL : LinearLayout.VERTICAL);*/ LayoutInflater inflater = (LayoutInflater) mActivity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); - mPanoLayout.removeView(mReviewLayout); - inflater.inflate(R.layout.pano_module_review, mPanoLayout); + mReviewControl.removeAllViews(); + inflater.inflate(R.layout.pano_review_control, mReviewControl, true); mPanoLayout.bringChildToFront(mCameraControls); setViews(mActivity.getResources()); @@ -324,25 +324,21 @@ public class WideAnglePanoramaUI implements } private void createContentView() { - LayoutInflater inflator = (LayoutInflater) mActivity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + LayoutInflater inflator = (LayoutInflater) mActivity + .getSystemService(Context.LAYOUT_INFLATER_SERVICE); inflator.inflate(R.layout.panorama_module, mRootView, true); - mPanoLayout = (ViewGroup) mRootView.findViewById(R.id.pano_layout); + Resources appRes = mActivity.getResources(); mIndicatorColor = appRes.getColor(R.color.pano_progress_indication); mReviewBackground = appRes.getColor(R.color.review_background); mIndicatorColorFast = appRes.getColor(R.color.pano_progress_indication_fast); - mDialogHelper = new DialogHelper(); - setViews(appRes); - } - private void setViews(Resources appRes) { + mPanoLayout = (ViewGroup) mRootView.findViewById(R.id.pano_layout); + mPreviewLayout = mRootView.findViewById(R.id.pano_preview_layout); + mReviewControl = (ViewGroup) mRootView.findViewById(R.id.pano_review_control); + mReviewLayout = mRootView.findViewById(R.id.pano_review_layout); + mReview = (ImageView) mRootView.findViewById(R.id.pano_reviewarea); mCaptureLayout = (FrameLayout) mRootView.findViewById(R.id.panorama_capture_layout); - // TODO (shkong): set display change listener properly. - ((CameraRootView) mRootView).setDisplayChangeListener(null); - mTextureView = (TextureView) mRootView.findViewById(R.id.pano_preview_textureview); - mTextureView.setSurfaceTextureListener(this); - mTextureView.addOnLayoutChangeListener(this); - mCameraControls = (CameraControls) mRootView.findViewById(R.id.camera_controls); mCaptureProgressBar = (PanoProgressBar) mRootView.findViewById(R.id.pano_pan_progress_bar); mCaptureProgressBar.setBackgroundColor(appRes.getColor(R.color.pano_progress_empty)); mCaptureProgressBar.setDoneColor(appRes.getColor(R.color.pano_progress_done)); @@ -356,6 +352,37 @@ public class WideAnglePanoramaUI implements mLeftIndicator.setEnabled(false); mRightIndicator.setEnabled(false); mTooFastPrompt = (TextView) mRootView.findViewById(R.id.pano_capture_too_fast_textview); + mCaptureIndicator = mRootView.findViewById(R.id.pano_capture_indicator); + + mShutterButton = (ShutterButton) mRootView.findViewById(R.id.shutter_button); + mShutterButton.setImageResource(R.drawable.btn_new_shutter); + mShutterButton.setOnShutterButtonListener(this); + // Hide menu and indicators. + mRootView.findViewById(R.id.menu).setVisibility(View.GONE); + mRootView.findViewById(R.id.on_screen_indicators).setVisibility(View.GONE); + mReview.setBackgroundColor(mReviewBackground); + + // TODO: set display change listener properly. + ((CameraRootView) mRootView).setDisplayChangeListener(null); + mTextureView = (TextureView) mRootView.findViewById(R.id.pano_preview_textureview); + mTextureView.setSurfaceTextureListener(this); + mTextureView.addOnLayoutChangeListener(this); + mCameraControls = (CameraControls) mRootView.findViewById(R.id.camera_controls); + + mDialogHelper = new DialogHelper(); + setViews(appRes); + } + + private void setViews(Resources appRes) { + int weight = appRes.getInteger(R.integer.SRI_pano_layout_weight); + + LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) mPreviewLayout.getLayoutParams(); + lp.weight = weight; + mPreviewLayout.setLayoutParams(lp); + + lp = (LinearLayout.LayoutParams) mReview.getLayoutParams(); + lp.weight = weight; + mPreviewLayout.setLayoutParams(lp); mSavingProgressBar = (PanoProgressBar) mRootView.findViewById(R.id.pano_saving_progress_bar); mSavingProgressBar.setIndicatorWidth(0); @@ -363,11 +390,6 @@ public class WideAnglePanoramaUI implements mSavingProgressBar.setBackgroundColor(appRes.getColor(R.color.pano_progress_empty)); mSavingProgressBar.setDoneColor(appRes.getColor(R.color.pano_progress_indication)); - mCaptureIndicator = mRootView.findViewById(R.id.pano_capture_indicator); - - mReviewLayout = mRootView.findViewById(R.id.pano_review_layout); - mReview = (ImageView) mRootView.findViewById(R.id.pano_reviewarea); - mReview.setBackgroundColor(mReviewBackground); View cancelButton = mRootView.findViewById(R.id.pano_review_cancel_button); cancelButton.setOnClickListener(new View.OnClickListener() { @Override @@ -376,12 +398,7 @@ public class WideAnglePanoramaUI implements } }); - mShutterButton = (ShutterButton) mRootView.findViewById(R.id.shutter_button); - mShutterButton.setImageResource(R.drawable.btn_new_shutter); - mShutterButton.setOnShutterButtonListener(this); - // Hide menu and indicators. - mRootView.findViewById(R.id.menu).setVisibility(View.GONE); - mRootView.findViewById(R.id.on_screen_indicators).setVisibility(View.GONE); + } private void showTooFastIndication() { -- cgit v1.2.3