diff options
-rw-r--r-- | res/layout/pano_module_capture.xml | 12 | ||||
-rw-r--r-- | res/layout/pano_module_review.xml | 1 | ||||
-rw-r--r-- | res/layout/pano_review_control.xml | 2 | ||||
-rw-r--r-- | res/layout/panorama_module.xml | 6 | ||||
-rw-r--r-- | src/com/android/camera/PanoProgressBar.java | 4 | ||||
-rw-r--r-- | src/com/android/camera/WideAnglePanoramaModule.java | 8 | ||||
-rw-r--r-- | src/com/android/camera/WideAnglePanoramaUI.java | 10 |
7 files changed, 28 insertions, 15 deletions
diff --git a/res/layout/pano_module_capture.xml b/res/layout/pano_module_capture.xml index b67315cd3..4e841878b 100644 --- a/res/layout/pano_module_capture.xml +++ b/res/layout/pano_module_capture.xml @@ -16,6 +16,7 @@ <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/panorama_capture_layout" + android:background="@android:color/black" android:layout_width="match_parent" android:layout_height="match_parent" > @@ -36,6 +37,13 @@ android:layout_height="match_parent" android:background="@drawable/ic_pan_border_fast" android:visibility="gone" /> + + <View + android:id="@+id/preview_cover" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:background="@android:color/black" /> + </FrameLayout> <LinearLayout @@ -73,9 +81,7 @@ style="@style/PanoViewHorizontalBar" android:layout_width="match_parent" android:layout_height="0dp" - android:layout_weight="1" - android:gravity="top" - android:paddingTop="20dp" > + android:layout_weight="1"> <LinearLayout android:layout_width="match_parent" diff --git a/res/layout/pano_module_review.xml b/res/layout/pano_module_review.xml index aecf6f8b2..0a5f164f1 100644 --- a/res/layout/pano_module_review.xml +++ b/res/layout/pano_module_review.xml @@ -18,6 +18,7 @@ android:id="@+id/pano_review_layout" android:orientation="vertical" android:visibility="invisible" + android:background="@android:color/black" android:layout_height="match_parent" android:layout_width="match_parent"> diff --git a/res/layout/pano_review_control.xml b/res/layout/pano_review_control.xml index eeb2ebee4..4b51bda3b 100644 --- a/res/layout/pano_review_control.xml +++ b/res/layout/pano_review_control.xml @@ -29,5 +29,5 @@ style="@style/ReviewControlIcon" android:contentDescription="@string/accessibility_review_cancel" android:layout_gravity="center_horizontal|bottom" - android:src="@drawable/ic_menu_cancel_holo_light" /> + android:src="@drawable/exit_panorama" /> </merge> diff --git a/res/layout/panorama_module.xml b/res/layout/panorama_module.xml index 5ae300272..d8748cc8b 100644 --- a/res/layout/panorama_module.xml +++ b/res/layout/panorama_module.xml @@ -19,12 +19,6 @@ android:layout_width="match_parent" android:layout_height="match_parent"> <include layout="@layout/pano_module_capture" /> - <View - android:id="@+id/preview_cover" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:background="@android:color/black" - android:visibility="gone" /> <com.android.camera.ui.RotateLayout android:id="@+id/waitingDialog" diff --git a/src/com/android/camera/PanoProgressBar.java b/src/com/android/camera/PanoProgressBar.java index d20878a84..45f08a53e 100644 --- a/src/com/android/camera/PanoProgressBar.java +++ b/src/com/android/camera/PanoProgressBar.java @@ -142,7 +142,9 @@ class PanoProgressBar extends ImageView { // When user move to the opposite direction more than 10 degrees, // change the direction and stop the capture progress in PanoramaModule. if (Math.abs(mOldProgress) - Math.abs(progress) > 10) { - mListener.onDirectionChange(mDirection/2 + 1); + if (mListener != null) { + mListener.onDirectionChange(mDirection / 2 + 1); + } return; } // mDirection might be modified by setRightIncreasing() above. Need to check again. diff --git a/src/com/android/camera/WideAnglePanoramaModule.java b/src/com/android/camera/WideAnglePanoramaModule.java index 1ae5ffb02..903469e10 100644 --- a/src/com/android/camera/WideAnglePanoramaModule.java +++ b/src/com/android/camera/WideAnglePanoramaModule.java @@ -692,7 +692,6 @@ public class WideAnglePanoramaModule } public void reportProgress() { - mUI.showUI(); mUI.resetSavingProgress(); Thread t = new Thread() { @Override @@ -1152,6 +1151,13 @@ public class WideAnglePanoramaModule mCameraTexture.setOnFrameAvailableListener(this); mCameraDevice.setPreviewTexture(mCameraTexture); } + mCameraDevice.setOneShotPreviewCallback(mMainHandler, + new CameraManager.CameraPreviewDataCallback() { + @Override + public void onPreviewFrame(byte[] data, CameraProxy camera) { + mUI.hidePreviewCover(); + } + }); mCameraDevice.startPreview(); mCameraState = PREVIEW_ACTIVE; } diff --git a/src/com/android/camera/WideAnglePanoramaUI.java b/src/com/android/camera/WideAnglePanoramaUI.java index f2c6e2bb7..99b08b9b5 100644 --- a/src/com/android/camera/WideAnglePanoramaUI.java +++ b/src/com/android/camera/WideAnglePanoramaUI.java @@ -99,7 +99,6 @@ public class WideAnglePanoramaUI implements // Color definitions. private int mIndicatorColor; private int mIndicatorColorFast; - private int mReviewBackground; private SurfaceTexture mSurfaceTexture; private View mPreviewCover; @@ -442,7 +441,6 @@ public class WideAnglePanoramaUI implements 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); mPreviewCover = mRootView.findViewById(R.id.preview_cover); @@ -471,7 +469,6 @@ public class WideAnglePanoramaUI implements mShutterButton.setOnShutterButtonListener(this); // Hide menu mRootView.findViewById(R.id.menu).setVisibility(View.GONE); - mReview.setBackgroundColor(mReviewBackground); // TODO: set display change listener properly. ((CameraRootView) mRootView).setDisplayChangeListener(null); @@ -707,4 +704,11 @@ public class WideAnglePanoramaUI implements mCameraControls.setOrientation(orientation, animation); RotateTextToast.setOrientation(orientation); } + + public void hidePreviewCover() { + // Hide the preview cover if need. + if (mPreviewCover.getVisibility() != View.GONE) { + mPreviewCover.setVisibility(View.GONE); + } + } } |