summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/ui/CameraControls.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/camera/ui/CameraControls.java')
-rw-r--r--src/com/android/camera/ui/CameraControls.java36
1 files changed, 31 insertions, 5 deletions
diff --git a/src/com/android/camera/ui/CameraControls.java b/src/com/android/camera/ui/CameraControls.java
index 48a5492e3..9039a9dce 100644
--- a/src/com/android/camera/ui/CameraControls.java
+++ b/src/com/android/camera/ui/CameraControls.java
@@ -53,6 +53,7 @@ public class CameraControls extends RotatableLayout {
private View mShutter;
private View mVideoShutter;
private View mSwitcher;
+ private View mExitPanorama;
private View mMenu;
private View mMute;
private View mFrontBackSwitcher;
@@ -84,9 +85,11 @@ public class CameraControls extends RotatableLayout {
private static final int INDICATOR_INDEX = 8;
private static final int MUTE_INDEX = 9;
private static final int VIDEO_SHUTTER_INDEX = 10;
+ private static final int EXIT_PANORAMA_INDEX = 11;
+ private static final int MAX_INDEX= 12;
private static final int ANIME_DURATION = 300;
- private float[][] mLocX = new float[4][11];
- private float[][] mLocY = new float[4][11];
+ private float[][] mLocX = new float[4][MAX_INDEX];
+ private float[][] mLocY = new float[4][MAX_INDEX];
private boolean mLocSet = false;
private boolean mHideRemainingPhoto = false;
private LinearLayout mRemainingPhotos;
@@ -131,6 +134,7 @@ public class CameraControls extends RotatableLayout {
mVideoShutter.setVisibility(View.INVISIBLE);
mMenu.setVisibility(View.INVISIBLE);
mMute.setVisibility(View.INVISIBLE);
+ mExitPanorama.setVisibility(View.INVISIBLE);
mIndicators.setVisibility(View.INVISIBLE);
mPreview.setVisibility(View.INVISIBLE);
isAnimating = false;
@@ -155,6 +159,7 @@ public class CameraControls extends RotatableLayout {
mVideoShutter.setVisibility(View.INVISIBLE);
mMenu.setVisibility(View.INVISIBLE);
mMute.setVisibility(View.INVISIBLE);
+ mExitPanorama.setVisibility(View.INVISIBLE);
mIndicators.setVisibility(View.INVISIBLE);
mPreview.setVisibility(View.INVISIBLE);
isAnimating = false;
@@ -162,6 +167,10 @@ public class CameraControls extends RotatableLayout {
}
};
+ public View getPanoramaExitButton() {
+ return mExitPanorama;
+ }
+
AnimatorListener inlistener = new AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
@@ -215,6 +224,7 @@ public class CameraControls extends RotatableLayout {
mSwitcher.setPressed(false);
mMenu.setPressed(false);
mMute.setPressed(false);
+ mExitPanorama.setPressed(false);
mFrontBackSwitcher.setPressed(false);
if(TsMakeupManager.HAS_TS_MAKEUP) {
mTsMakeupSwitcher.setPressed(false);
@@ -230,6 +240,7 @@ public class CameraControls extends RotatableLayout {
((ModuleSwitcher) mSwitcher).enableTouch(enable);
mMenu.setEnabled(enable);
mMute.setEnabled(enable);
+ mExitPanorama.setEnabled(enable);
mFrontBackSwitcher.setEnabled(enable);
if(TsMakeupManager.HAS_TS_MAKEUP) {
mTsMakeupSwitcher.setEnabled(enable);
@@ -264,10 +275,10 @@ public class CameraControls extends RotatableLayout {
mViewList.add(mMenu);
if (mMute.getVisibility() == View.VISIBLE)
mViewList.add(mMute);
+ if (mExitPanorama.getVisibility() == View.VISIBLE)
+ mViewList.add(mExitPanorama);
if (mIndicators.getVisibility() == View.VISIBLE)
mViewList.add(mIndicators);
- if (mMute.getVisibility() == View.VISIBLE)
- mViewList.add(mMute);
}
public void removeFromViewList(View view) {
@@ -291,6 +302,8 @@ public class CameraControls extends RotatableLayout {
}
mMenu = findViewById(R.id.menu);
mMute = findViewById(R.id.mute_button);
+ mExitPanorama = findViewById(R.id.exit_panorama);
+ mExitPanorama.setVisibility(View.GONE);
mIndicators = findViewById(R.id.on_screen_indicators);
mPreview = findViewById(R.id.preview_thumb);
mSceneModeSwitcher = findViewById(R.id.scene_mode_switcher);
@@ -371,6 +384,7 @@ public class CameraControls extends RotatableLayout {
toIndex(mVideoShutter, w, h, rotation, 3, 6, VIDEO_SHUTTER_INDEX);
toIndex(mMenu, w, h, rotation, 4, 0, MENU_INDEX);
toIndex(mMute, w, h, rotation, 3, 0, MUTE_INDEX);
+ toIndex(mExitPanorama, w, h, rotation, 0, 0, EXIT_PANORAMA_INDEX);
toIndex(mIndicators, w, h, rotation, 0, 6, INDICATOR_INDEX);
toIndex(mFrontBackSwitcher, w, h, rotation, 2, 0, FRONT_BACK_INDEX);
toIndex(mPreview, w, h, rotation, 0, 6, PREVIEW_INDEX);
@@ -481,6 +495,7 @@ public class CameraControls extends RotatableLayout {
mFilterModeSwitcher.setX(mLocX[idx1][FILTER_MODE_INDEX] + x);
mMenu.setX(mLocX[idx1][MENU_INDEX] + x);
mMute.setX(mLocX[idx1][MUTE_INDEX] + x);
+ mExitPanorama.setX(mLocX[idx1][EXIT_PANORAMA_INDEX] + x);
mSwitcher.setX(mLocX[idx1][SWITCHER_INDEX] - x);
mShutter.setX(mLocX[idx1][SHUTTER_INDEX] - x);
mVideoShutter.setX(mLocX[idx1][VIDEO_SHUTTER_INDEX] - x);
@@ -497,6 +512,7 @@ public class CameraControls extends RotatableLayout {
mFilterModeSwitcher.setY(mLocY[idx1][FILTER_MODE_INDEX] + y);
mMenu.setY(mLocY[idx1][MENU_INDEX] + y);
mMute.setY(mLocY[idx1][MUTE_INDEX] + y);
+ mExitPanorama.setY(mLocY[idx1][EXIT_PANORAMA_INDEX] + y);
mSwitcher.setY(mLocY[idx1][SWITCHER_INDEX] - y);
mShutter.setY(mLocY[idx1][SHUTTER_INDEX] - y);
mVideoShutter.setY(mLocY[idx1][VIDEO_SHUTTER_INDEX] - y);
@@ -534,6 +550,7 @@ public class CameraControls extends RotatableLayout {
mVideoShutter.animate().cancel();
mMenu.animate().cancel();
mMute.animate().cancel();
+ mExitPanorama.animate().cancel();
mIndicators.animate().cancel();
mPreview.animate().cancel();
mFrontBackSwitcher.animate().setListener(outlistener);
@@ -552,6 +569,7 @@ public class CameraControls extends RotatableLayout {
mFilterModeSwitcher.animate().translationYBy(-mSize).setDuration(ANIME_DURATION);
mMenu.animate().translationYBy(-mSize).setDuration(ANIME_DURATION);
mMute.animate().translationYBy(-mSize).setDuration(ANIME_DURATION);
+ mExitPanorama.animate().translationYBy(-mSize).setDuration(ANIME_DURATION);
mSwitcher.animate().translationYBy(mSize).setDuration(ANIME_DURATION);
mShutter.animate().translationYBy(mSize).setDuration(ANIME_DURATION);
@@ -570,6 +588,7 @@ public class CameraControls extends RotatableLayout {
mFilterModeSwitcher.animate().translationXBy(-mSize).setDuration(ANIME_DURATION);
mMenu.animate().translationXBy(-mSize).setDuration(ANIME_DURATION);
mMute.animate().translationXBy(-mSize).setDuration(ANIME_DURATION);
+ mExitPanorama.animate().translationXBy(-mSize).setDuration(ANIME_DURATION);
mSwitcher.animate().translationXBy(mSize).setDuration(ANIME_DURATION);
mShutter.animate().translationXBy(mSize).setDuration(ANIME_DURATION);
@@ -588,6 +607,7 @@ public class CameraControls extends RotatableLayout {
mFilterModeSwitcher.animate().translationYBy(mSize).setDuration(ANIME_DURATION);
mMenu.animate().translationYBy(mSize).setDuration(ANIME_DURATION);
mMute.animate().translationYBy(mSize).setDuration(ANIME_DURATION);
+ mExitPanorama.animate().translationYBy(mSize).setDuration(ANIME_DURATION);
mSwitcher.animate().translationYBy(-mSize).setDuration(ANIME_DURATION);
mShutter.animate().translationYBy(-mSize).setDuration(ANIME_DURATION);
@@ -606,6 +626,7 @@ public class CameraControls extends RotatableLayout {
mFilterModeSwitcher.animate().translationXBy(mSize).setDuration(ANIME_DURATION);
mMenu.animate().translationXBy(mSize).setDuration(ANIME_DURATION);
mMute.animate().translationXBy(mSize).setDuration(ANIME_DURATION);
+ mExitPanorama.animate().translationXBy(mSize).setDuration(ANIME_DURATION);
mSwitcher.animate().translationXBy(-mSize).setDuration(ANIME_DURATION);
mShutter.animate().translationXBy(-mSize).setDuration(ANIME_DURATION);
@@ -636,6 +657,7 @@ public class CameraControls extends RotatableLayout {
mVideoShutter.animate().cancel();
mMenu.animate().cancel();
mMute.animate().cancel();
+ mExitPanorama.animate().cancel();
mIndicators.animate().cancel();
mPreview.animate().cancel();
if (mViewList != null)
@@ -666,6 +688,7 @@ public class CameraControls extends RotatableLayout {
mFilterModeSwitcher.animate().translationYBy(mSize).setDuration(ANIME_DURATION);
mMenu.animate().translationYBy(mSize).setDuration(ANIME_DURATION);
mMute.animate().translationYBy(mSize).setDuration(ANIME_DURATION);
+ mExitPanorama.animate().translationYBy(mSize).setDuration(ANIME_DURATION);
mSwitcher.animate().translationYBy(-mSize).setDuration(ANIME_DURATION);
mShutter.animate().translationYBy(-mSize).setDuration(ANIME_DURATION);
@@ -686,6 +709,7 @@ public class CameraControls extends RotatableLayout {
mFilterModeSwitcher.animate().translationXBy(mSize).setDuration(ANIME_DURATION);
mMenu.animate().translationXBy(mSize).setDuration(ANIME_DURATION);
mMute.animate().translationXBy(mSize).setDuration(ANIME_DURATION);
+ mExitPanorama.animate().translationXBy(mSize).setDuration(ANIME_DURATION);
mSwitcher.animate().translationXBy(-mSize).setDuration(ANIME_DURATION);
mShutter.animate().translationXBy(-mSize).setDuration(ANIME_DURATION);
@@ -706,6 +730,7 @@ public class CameraControls extends RotatableLayout {
mFilterModeSwitcher.animate().translationYBy(-mSize).setDuration(ANIME_DURATION);
mMenu.animate().translationYBy(-mSize).setDuration(ANIME_DURATION);
mMute.animate().translationYBy(-mSize).setDuration(ANIME_DURATION);
+ mExitPanorama.animate().translationYBy(-mSize).setDuration(ANIME_DURATION);
mSwitcher.animate().translationYBy(mSize).setDuration(ANIME_DURATION);
mShutter.animate().translationYBy(mSize).setDuration(ANIME_DURATION);
@@ -726,6 +751,7 @@ public class CameraControls extends RotatableLayout {
mFilterModeSwitcher.animate().translationXBy(-mSize).setDuration(ANIME_DURATION);
mMenu.animate().translationXBy(-mSize).setDuration(ANIME_DURATION);
mMute.animate().translationXBy(-mSize).setDuration(ANIME_DURATION);
+ mExitPanorama.animate().translationXBy(-mSize).setDuration(ANIME_DURATION);
mSwitcher.animate().translationXBy(mSize).setDuration(ANIME_DURATION);
mShutter.animate().translationXBy(mSize).setDuration(ANIME_DURATION);
@@ -1001,7 +1027,7 @@ public class CameraControls extends RotatableLayout {
mSceneModeSwitcher, mFilterModeSwitcher, mFrontBackSwitcher,
TsMakeupManager.HAS_TS_MAKEUP ? mTsMakeupSwitcher : mHdrSwitcher,
mMenu, mShutter, mPreview, mSwitcher, mMute, mReviewRetakeButton,
- mReviewCancelButton, mReviewDoneButton
+ mReviewCancelButton, mReviewDoneButton, mExitPanorama
};
for (View v : views) {
if (v != null) {