am d7a60abb: Merge "Disable Thumbnailview when Panorama capture is inProgress." into ics-mr0
* commit 'd7a60abbee203872df4b5ab9a873e7efad80e239':
Disable Thumbnailview when Panorama capture is inProgress.
diff --git a/src/com/android/camera/Camera.java b/src/com/android/camera/Camera.java
index 685319f..54f709f 100644
--- a/src/com/android/camera/Camera.java
+++ b/src/com/android/camera/Camera.java
@@ -1218,16 +1218,13 @@
}
}
- private void setOrientationIndicator(int degree) {
- if (mThumbnailView != null) mThumbnailView.setDegree(degree);
- if (mModePicker != null) mModePicker.setDegree(degree);
- if (mSharePopup != null) mSharePopup.setOrientation(degree);
- if (mIndicatorControlContainer != null) mIndicatorControlContainer.setDegree(degree);
- if (mZoomControl != null) mZoomControl.setDegree(degree);
- if (mFocusIndicator != null) mFocusIndicator.setOrientation(degree);
- if (mFaceView != null) mFaceView.setOrientation(degree);
- if (mReviewCancelButton != null) mReviewCancelButton.setOrientation(degree);
- if (mReviewDoneButton != null) mReviewDoneButton.setOrientation(degree);
+ private void setOrientationIndicator(int orientation) {
+ Rotatable[] indicators = {mThumbnailView, mModePicker, mSharePopup,
+ mIndicatorControlContainer, mZoomControl, mFocusIndicator, mFaceView,
+ mReviewCancelButton, mReviewDoneButton};
+ for (Rotatable indicator : indicators) {
+ if (indicator != null) indicator.setOrientation(orientation);
+ }
}
@Override
diff --git a/src/com/android/camera/ModePicker.java b/src/com/android/camera/ModePicker.java
index 528bc3d..ccde71d 100644
--- a/src/com/android/camera/ModePicker.java
+++ b/src/com/android/camera/ModePicker.java
@@ -17,6 +17,7 @@
package com.android.camera;
import com.android.camera.ui.PopupManager;
+import com.android.camera.ui.Rotatable;
import com.android.camera.ui.RotateImageView;
import android.content.Context;
@@ -36,7 +37,7 @@
* a current mode indicator.
*/
public class ModePicker extends RelativeLayout implements View.OnClickListener,
- PopupManager.OnOtherPopupShowedListener {
+ PopupManager.OnOtherPopupShowedListener, Rotatable {
public static final int MODE_CAMERA = 0;
public static final int MODE_VIDEO = 1;
public static final int MODE_PANORAMA = 2;
@@ -188,11 +189,11 @@
return true;
}
- public void setDegree(int degree) {
+ public void setOrientation(int orientation) {
for (int i = 0; i < MODE_NUM; ++i) {
- mModeSelectionIcon[i].setDegree(degree);
+ mModeSelectionIcon[i].setOrientation(orientation);
if (mCurrentModeFrame != null) {
- mCurrentModeIcon[i].setDegree(degree);
+ mCurrentModeIcon[i].setOrientation(orientation);
}
}
}
diff --git a/src/com/android/camera/VideoCamera.java b/src/com/android/camera/VideoCamera.java
index df8adb9..e8d8456 100755
--- a/src/com/android/camera/VideoCamera.java
+++ b/src/com/android/camera/VideoCamera.java
@@ -538,19 +538,18 @@
}
}
- private void setOrientationIndicator(int degree) {
- if (mThumbnailView != null) mThumbnailView.setDegree(degree);
- if (mModePicker != null) mModePicker.setDegree(degree);
- if (mSharePopup != null) mSharePopup.setOrientation(degree);
- if (mBgLearningMessageRotater != null) mBgLearningMessageRotater.setOrientation(degree);
- if (mIndicatorControlContainer != null) mIndicatorControlContainer.setDegree(degree);
- if (mReviewDoneButton != null) mReviewDoneButton.setOrientation(degree);
- if (mReviewPlayButton != null) mReviewPlayButton.setOrientation(degree);
- if (mReviewCancelButton!= null) mReviewCancelButton.setOrientation(degree);
+ private void setOrientationIndicator(int orientation) {
+ Rotatable[] indicators = {mThumbnailView, mModePicker, mSharePopup,
+ mBgLearningMessageRotater, mIndicatorControlContainer,
+ mReviewDoneButton, mReviewPlayButton, mReviewCancelButton};
+ for (Rotatable indicator : indicators) {
+ if (indicator != null) indicator.setOrientation(orientation);
+ }
+
// We change the orientation of the linearlayout only for phone UI because when in portrait
// the width is not enough.
if (mLabelsLinearLayout != null) {
- if (((degree / 90) & 1) == 1) {
+ if (((orientation / 90) & 1) == 1) {
mLabelsLinearLayout.setOrientation(mLabelsLinearLayout.VERTICAL);
} else {
mLabelsLinearLayout.setOrientation(mLabelsLinearLayout.HORIZONTAL);
diff --git a/src/com/android/camera/panorama/PanoramaActivity.java b/src/com/android/camera/panorama/PanoramaActivity.java
index 25c565f..ab4f0af 100755
--- a/src/com/android/camera/panorama/PanoramaActivity.java
+++ b/src/com/android/camera/panorama/PanoramaActivity.java
@@ -319,12 +319,6 @@
});
}
- @Override
- public void onStart() {
- super.onStart();
- updateThumbnailButton();
- }
-
private void setupCamera() {
openCamera();
Parameters parameters = mCameraDevice.getParameters();
@@ -749,6 +743,14 @@
t.start();
}
+ private void initThumbnailButton() {
+ // Load the thumbnail from the disk.
+ if (mThumbnail == null) {
+ mThumbnail = Thumbnail.loadFrom(new File(getFilesDir(), Thumbnail.LAST_THUMB_FILENAME));
+ }
+ updateThumbnailButton();
+ }
+
private void updateThumbnailButton() {
// Update last image if URI is invalid and the storage is ready.
ContentResolver contentResolver = getContentResolver();
@@ -930,6 +932,8 @@
// has to be decided by camera device.
initMosaicFrameProcessorIfNeeded();
mMosaicView.onResume();
+
+ initThumbnailButton();
}
public MosaicJpeg generateFinalMosaic(boolean highRes) {
diff --git a/src/com/android/camera/ui/AbstractIndicatorButton.java b/src/com/android/camera/ui/AbstractIndicatorButton.java
index a661586..0ff7b19 100644
--- a/src/com/android/camera/ui/AbstractIndicatorButton.java
+++ b/src/com/android/camera/ui/AbstractIndicatorButton.java
@@ -106,10 +106,10 @@
}
@Override
- public void setDegree(int degree) {
- super.setDegree(degree);
+ public void setOrientation(int orientation) {
+ super.setOrientation(orientation);
if (mPopup != null) {
- mPopup.setOrientation(degree);
+ mPopup.setOrientation(orientation);
}
}
diff --git a/src/com/android/camera/ui/FaceView.java b/src/com/android/camera/ui/FaceView.java
index 167d8b9..5724d9c 100644
--- a/src/com/android/camera/ui/FaceView.java
+++ b/src/com/android/camera/ui/FaceView.java
@@ -29,7 +29,7 @@
import android.util.Log;
import android.view.View;
-public class FaceView extends View implements FocusIndicator {
+public class FaceView extends View implements FocusIndicator, Rotatable {
private final String TAG = "FaceView";
private final boolean LOGV = false;
// The value for android.hardware.Camera.setDisplayOrientation.
diff --git a/src/com/android/camera/ui/IndicatorControl.java b/src/com/android/camera/ui/IndicatorControl.java
index 86b0cc9..cac38b8 100644
--- a/src/com/android/camera/ui/IndicatorControl.java
+++ b/src/com/android/camera/ui/IndicatorControl.java
@@ -35,7 +35,7 @@
* A view that contains camera setting indicators.
*/
public abstract class IndicatorControl extends RelativeLayout implements
- IndicatorButton.Listener, OtherSettingsPopup.Listener {
+ IndicatorButton.Listener, OtherSettingsPopup.Listener, Rotatable {
private static final String TAG = "IndicatorControl";
public static final int MODE_CAMERA = 0;
public static final int MODE_VIDEO = 1;
@@ -45,7 +45,7 @@
protected CameraPicker mCameraPicker;
private PreferenceGroup mPreferenceGroup;
- private int mDegree = 0;
+ private int mOrientation = 0;
protected int mCurrentMode = MODE_CAMERA;
@@ -61,15 +61,13 @@
super(context, attrs);
}
- public void setDegree(int degree) {
- mDegree = degree;
+ public void setOrientation(int orientation) {
+ mOrientation = orientation;
int count = getChildCount();
for (int i = 0 ; i < count ; ++i) {
View view = getChildAt(i);
- if (view instanceof RotateImageView) {
- ((RotateImageView) view).setDegree(degree);
- } else if (view instanceof ZoomControl) {
- ((ZoomControl) view).setDegree(degree);
+ if (view instanceof Rotatable) {
+ ((Rotatable) view).setOrientation(orientation);
}
}
}
diff --git a/src/com/android/camera/ui/IndicatorControlBarContainer.java b/src/com/android/camera/ui/IndicatorControlBarContainer.java
index 6b60ace..1e860ad 100644
--- a/src/com/android/camera/ui/IndicatorControlBarContainer.java
+++ b/src/com/android/camera/ui/IndicatorControlBarContainer.java
@@ -75,9 +75,9 @@
secondLevelKeys, secondLevelOtherSettingKeys);
}
- public void setDegree(int degree) {
- mIndicatorControlBar.setDegree(degree);
- mSecondLevelIndicatorControlBar.setDegree(degree);
+ public void setOrientation(int orientation) {
+ mIndicatorControlBar.setOrientation(orientation);
+ mSecondLevelIndicatorControlBar.setOrientation(orientation);
}
@Override
diff --git a/src/com/android/camera/ui/IndicatorControlWheelContainer.java b/src/com/android/camera/ui/IndicatorControlWheelContainer.java
index 14539da..29074c2 100644
--- a/src/com/android/camera/ui/IndicatorControlWheelContainer.java
+++ b/src/com/android/camera/ui/IndicatorControlWheelContainer.java
@@ -191,9 +191,9 @@
}
@Override
- public void setDegree(int degree) {
- mIndicatorControlWheel.setDegree(degree);
- mZoomControlWheel.setDegree(degree);
+ public void setOrientation(int orientation) {
+ mIndicatorControlWheel.setOrientation(orientation);
+ mZoomControlWheel.setOrientation(orientation);
}
public void startTimeLapseAnimation(int timeLapseInterval, long startTime) {
diff --git a/src/com/android/camera/ui/RotateImageView.java b/src/com/android/camera/ui/RotateImageView.java
index 390d705..f47a26b 100644
--- a/src/com/android/camera/ui/RotateImageView.java
+++ b/src/com/android/camera/ui/RotateImageView.java
@@ -16,8 +16,6 @@
package com.android.camera.ui;
-import com.android.camera.ui.Rotatable;
-
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
@@ -66,12 +64,8 @@
return mTargetDegree;
}
- public void setOrientation(int orientation) {
- setDegree(orientation);
- }
-
// Rotate the view counter-clockwise
- public void setDegree(int degree) {
+ public void setOrientation(int degree) {
// make sure in the range of [0, 359]
degree = degree >= 0 ? degree % 360 : degree % 360 + 360;
if (degree == mTargetDegree) return;
diff --git a/src/com/android/camera/ui/RotateLayout.java b/src/com/android/camera/ui/RotateLayout.java
index 24815f8..e66e71a 100644
--- a/src/com/android/camera/ui/RotateLayout.java
+++ b/src/com/android/camera/ui/RotateLayout.java
@@ -16,8 +16,6 @@
package com.android.camera.ui;
-import com.android.camera.ui.Rotatable;
-
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
diff --git a/src/com/android/camera/ui/SecondLevelIndicatorControlBar.java b/src/com/android/camera/ui/SecondLevelIndicatorControlBar.java
index c9037d9..45bbca8 100644
--- a/src/com/android/camera/ui/SecondLevelIndicatorControlBar.java
+++ b/src/com/android/camera/ui/SecondLevelIndicatorControlBar.java
@@ -39,7 +39,7 @@
private View mDivider; // the divider line
private View mIndicatorHighlight; // the side highlight bar
private View mPopupedIndicator;
- int mDegree = 0;
+ int mOrientation = 0;
int mSelectedIndex = -1;
// There are some views in the ViewGroup before adding the indicator buttons,
// such as Close icon, divider line and the hightlight bar, we need to
@@ -64,7 +64,7 @@
setPreferenceGroup(group);
mNonIndicatorButtonCount = getChildCount();
addControls(keys, otherSettingKeys);
- if (mDegree != 0) setDegree(mDegree);
+ if (mOrientation != 0) setOrientation(mOrientation);
}
public void onClick(View view) {
@@ -151,9 +151,9 @@
}
@Override
- public void setDegree(int degree) {
- mDegree = degree;
- super.setDegree(degree);
+ public void setOrientation(int orientation) {
+ mOrientation = orientation;
+ super.setOrientation(orientation);
}
@Override
diff --git a/src/com/android/camera/ui/SharePopup.java b/src/com/android/camera/ui/SharePopup.java
index 84bada4..92abb8a 100644
--- a/src/com/android/camera/ui/SharePopup.java
+++ b/src/com/android/camera/ui/SharePopup.java
@@ -50,7 +50,7 @@
// A popup window that contains a big thumbnail and a list of apps to share.
public class SharePopup extends PopupWindow implements View.OnClickListener,
- View.OnTouchListener, AdapterView.OnItemClickListener {
+ View.OnTouchListener, AdapterView.OnItemClickListener, Rotatable {
private static final String TAG = "SharePopup";
private static final String ADAPTER_COLUMN_ICON = "icon";
private Context mContext;
diff --git a/src/com/android/camera/ui/ZoomControl.java b/src/com/android/camera/ui/ZoomControl.java
index 1809d18..f2971cd 100644
--- a/src/com/android/camera/ui/ZoomControl.java
+++ b/src/com/android/camera/ui/ZoomControl.java
@@ -29,7 +29,7 @@
* A view that contains camera zoom control which could adjust the zoom in/out
* if the camera supports zooming.
*/
-public abstract class ZoomControl extends RelativeLayout {
+public abstract class ZoomControl extends RelativeLayout implements Rotatable {
// The states of zoom button.
public static final int ZOOM_IN = 0;
public static final int ZOOM_OUT = 1;
@@ -42,7 +42,7 @@
protected ImageView mZoomOut;
protected ImageView mZoomSlider;
protected int mSliderPosition = 0;
- protected int mDegree;
+ protected int mOrientation;
private Handler mHandler;
public interface OnZoomChangedListener {
@@ -208,13 +208,13 @@
return true;
}
- public void setDegree(int degree) {
- mDegree = degree;
+ public void setOrientation(int orientation) {
+ mOrientation = orientation;
int count = getChildCount();
for (int i = 0 ; i < count ; ++i) {
View view = getChildAt(i);
if (view instanceof RotateImageView) {
- ((RotateImageView) view).setDegree(degree);
+ ((RotateImageView) view).setOrientation(orientation);
}
}
}
diff --git a/src/com/android/camera/ui/ZoomControlBar.java b/src/com/android/camera/ui/ZoomControlBar.java
index 08042d4..2e14e53 100644
--- a/src/com/android/camera/ui/ZoomControlBar.java
+++ b/src/com/android/camera/ui/ZoomControlBar.java
@@ -59,7 +59,7 @@
// landscape mode, the zoom-in bottom should be on the top, so the
// position should be reversed.
int pos; // the relative position in the zoom slider bar
- if (mDegree == 180) {
+ if (mOrientation == 180) {
pos = y - mTotalIconHeight;
} else {
pos = mHeight - mTotalIconHeight - y;
@@ -114,10 +114,10 @@
}
@Override
- public void setDegree(int degree) {
+ public void setOrientation(int orientation) {
// layout for the left-hand camera control
- if ((degree == 180) || (mDegree == 180)) requestLayout();
- super.setDegree(degree);
+ if ((orientation == 180) || (mOrientation == 180)) requestLayout();
+ super.setOrientation(orientation);
}
@Override
@@ -135,7 +135,7 @@
} else {
sliderPosition = (int) ((double) mSliderLength * mZoomIndex / mZoomMax);
}
- if (mDegree == 180) {
+ if (mOrientation == 180) {
mZoomOut.layout(0, 0, width, mIconHeight);
mZoomIn.layout(0, mHeight - mIconHeight, width, mHeight);
pos = mBar.getTop() + sliderPosition;