diff options
Diffstat (limited to 'src/com/android/camera/ui/CameraControls.java')
-rw-r--r-- | src/com/android/camera/ui/CameraControls.java | 35 |
1 files changed, 32 insertions, 3 deletions
diff --git a/src/com/android/camera/ui/CameraControls.java b/src/com/android/camera/ui/CameraControls.java index 186626015..a93b41773 100644 --- a/src/com/android/camera/ui/CameraControls.java +++ b/src/com/android/camera/ui/CameraControls.java @@ -38,6 +38,7 @@ import android.widget.TextView; import java.util.ArrayList; import org.codeaurora.snapcam.R; +import com.android.camera.CameraManager; import com.android.camera.ui.ModuleSwitcher; import com.android.camera.ui.RotateImageView; import com.android.camera.ShutterButton; @@ -65,6 +66,8 @@ public class CameraControls extends RotatableLayout { private View mReviewDoneButton; private View mReviewCancelButton; private View mReviewRetakeButton; + private View mAutoHdrNotice; + private HistogramView mHistogramView; private ArrowTextView mRefocusToast; private int mSize; @@ -84,9 +87,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 HISTOGRAM_INDEX = 11; + private static final int AUTO_HDR_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][13]; + private float[][] mLocY = new float[4][13]; private boolean mLocSet = false; private boolean mHideRemainingPhoto = false; private LinearLayout mRemainingPhotos; @@ -297,6 +302,8 @@ public class CameraControls extends RotatableLayout { mFilterModeSwitcher = findViewById(R.id.filter_mode_switcher); mRemainingPhotos = (LinearLayout) findViewById(R.id.remaining_photos); mRemainingPhotosText = (TextView) findViewById(R.id.remaining_photos_text); + mAutoHdrNotice = (TextView) findViewById(R.id.auto_hdr_notice); + mHistogramView = (HistogramView) findViewById(R.id.histogram); } @Override @@ -322,6 +329,13 @@ public class CameraControls extends RotatableLayout { mBackgroundView.setVisibility(View.GONE); setLocation(r - l, b - t); + center(mAutoHdrNotice, l, t + mSize, r, + t + mSize + mAutoHdrNotice.getMeasuredHeight(), + orientation, rotation, new Rect(), AUTO_HDR_INDEX); + center(mHistogramView, l, t + mSize, + r, t + mSize + mHistogramView.getMeasuredHeight(), + orientation, rotation, new Rect(), HISTOGRAM_INDEX); + View retake = findViewById(R.id.btn_retake); if (retake != null) { mReviewRetakeButton = retake; @@ -516,6 +530,10 @@ public class CameraControls extends RotatableLayout { } } + public void setAutoHdrEnabled(boolean enabled) { + mAutoHdrNotice.setVisibility(enabled ? View.VISIBLE : View.GONE); + } + public void hideUI() { if (!mAnimating) enableTouch(false); @@ -995,19 +1013,30 @@ public class CameraControls extends RotatableLayout { } } + public void setHistogramEnabled(boolean enabled, CameraManager.CameraProxy camera) { + mHistogramView.setVisibility(enabled ? View.VISIBLE : View.GONE); + mHistogramView.setCamera(camera); + } + + public void updateHistogramData(int[] data) { + mHistogramView.updateData(data); + } + public void setOrientation(int orientation, boolean animation) { mOrientation = orientation; View[] views = { mSceneModeSwitcher, mFilterModeSwitcher, mFrontBackSwitcher, TsMakeupManager.HAS_TS_MAKEUP ? mTsMakeupSwitcher : mHdrSwitcher, mMenu, mShutter, mPreview, mSwitcher, mMute, mReviewRetakeButton, - mReviewCancelButton, mReviewDoneButton + mReviewCancelButton, mReviewDoneButton, mAutoHdrNotice, mHistogramView }; for (View v : views) { if (v != null) { if (v instanceof RotateImageView) { ((RotateImageView) v).setOrientation(orientation, animation); + } else if (v instanceof HistogramView) { + ((HistogramView) v).setRotation(-orientation); } } } |