summaryrefslogtreecommitdiff
path: root/src/com/android/camera/ui
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/camera/ui')
-rw-r--r--[-rwxr-xr-x]src/com/android/camera/ui/Camera2FaceView.java0
-rw-r--r--[-rwxr-xr-x]src/com/android/camera/ui/CountDownView.java0
-rw-r--r--[-rwxr-xr-x]src/com/android/camera/ui/FaceView.java0
-rw-r--r--[-rwxr-xr-x]src/com/android/camera/ui/FlashToggleButton.java50
-rw-r--r--[-rwxr-xr-x]src/com/android/camera/ui/ModuleSwitcher.java0
-rw-r--r--[-rwxr-xr-x]src/com/android/camera/ui/OneUICameraControls.java192
-rw-r--r--[-rwxr-xr-x]src/com/android/camera/ui/PieRenderer.java0
-rw-r--r--[-rwxr-xr-x]src/com/android/camera/ui/ProMode.java12
-rw-r--r--[-rwxr-xr-x]src/com/android/camera/ui/TouchTrackFocusRenderer.java0
-rw-r--r--[-rwxr-xr-x]src/com/android/camera/ui/ZoomRenderer.java0
10 files changed, 147 insertions, 107 deletions
diff --git a/src/com/android/camera/ui/Camera2FaceView.java b/src/com/android/camera/ui/Camera2FaceView.java
index ced3245af..ced3245af 100755..100644
--- a/src/com/android/camera/ui/Camera2FaceView.java
+++ b/src/com/android/camera/ui/Camera2FaceView.java
diff --git a/src/com/android/camera/ui/CountDownView.java b/src/com/android/camera/ui/CountDownView.java
index 069d0b3d8..069d0b3d8 100755..100644
--- a/src/com/android/camera/ui/CountDownView.java
+++ b/src/com/android/camera/ui/CountDownView.java
diff --git a/src/com/android/camera/ui/FaceView.java b/src/com/android/camera/ui/FaceView.java
index 37b7c8c51..37b7c8c51 100755..100644
--- a/src/com/android/camera/ui/FaceView.java
+++ b/src/com/android/camera/ui/FaceView.java
diff --git a/src/com/android/camera/ui/FlashToggleButton.java b/src/com/android/camera/ui/FlashToggleButton.java
index 18bd26d31..a1e3f9ba9 100755..100644
--- a/src/com/android/camera/ui/FlashToggleButton.java
+++ b/src/com/android/camera/ui/FlashToggleButton.java
@@ -30,6 +30,7 @@
package com.android.camera.ui;
import android.content.Context;
+import android.content.res.TypedArray;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
@@ -42,8 +43,8 @@ import org.codeaurora.snapcam.R;
public class FlashToggleButton extends RotateImageView {
private SettingsManager mSettingsManager;
- private int[] cameraFlashIcon = {R.drawable.flash_off, R.drawable.flash_auto, R.drawable.flash};
- private int[] videoFlashIcon = {R.drawable.flash_off, R.drawable.flash};
+ TypedArray cameraFlashIcon;
+ TypedArray videoFlashIcon;
private int mIndex;
private boolean mIsVideoFlash;
private Context mContext;
@@ -51,11 +52,13 @@ public class FlashToggleButton extends RotateImageView {
public FlashToggleButton(Context context) {
super(context);
mContext = context;
+ initFlashIcons();
}
public FlashToggleButton(Context context, AttributeSet attrs) {
super(context, attrs);
mContext = context;
+ initFlashIcons();
}
public void init(boolean videoFlash) {
@@ -85,32 +88,37 @@ public class FlashToggleButton extends RotateImageView {
}
update();
- this.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- int[] icons;
- String key;
- if (mIsVideoFlash) {
- icons = videoFlashIcon;
- key = SettingsManager.KEY_VIDEO_FLASH_MODE;
- } else {
- icons = cameraFlashIcon;
- key = SettingsManager.KEY_FLASH_MODE;
- }
- mIndex = (mIndex + 1) % icons.length;
- mSettingsManager.setValueIndex(key, mIndex);
- update();
- }
- });
+ }
+
+ public void handleClick() {
+ TypedArray icons;
+ String key;
+ if (mIsVideoFlash) {
+ icons = videoFlashIcon;
+ key = SettingsManager.KEY_VIDEO_FLASH_MODE;
+ } else {
+ icons = cameraFlashIcon;
+ key = SettingsManager.KEY_FLASH_MODE;
+ }
+ mIndex = (mIndex + 1) % icons.length();
+ mSettingsManager.setValueIndex(key, mIndex);
+ update();
+ }
+
+ private void initFlashIcons() {
+ cameraFlashIcon = mContext.getResources()
+ .obtainTypedArray(R.array.flash_modes_camera);
+ videoFlashIcon = mContext.getResources()
+ .obtainTypedArray(R.array.flash_modes_video);
}
private void update() {
- int[] icons;
+ TypedArray icons;
if (mIsVideoFlash) {
icons = videoFlashIcon;
} else {
icons = cameraFlashIcon;
}
- setImageResource(icons[mIndex]);
+ setImageResource(icons.getResourceId(mIndex, 0));
}
}
diff --git a/src/com/android/camera/ui/ModuleSwitcher.java b/src/com/android/camera/ui/ModuleSwitcher.java
index 3bcb494cb..3bcb494cb 100755..100644
--- a/src/com/android/camera/ui/ModuleSwitcher.java
+++ b/src/com/android/camera/ui/ModuleSwitcher.java
diff --git a/src/com/android/camera/ui/OneUICameraControls.java b/src/com/android/camera/ui/OneUICameraControls.java
index 669565d52..b84f9065a 100755..100644
--- a/src/com/android/camera/ui/OneUICameraControls.java
+++ b/src/com/android/camera/ui/OneUICameraControls.java
@@ -25,17 +25,21 @@ import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.Point;
+import android.support.v7.widget.RecyclerView;
import android.util.AttributeSet;
import android.util.TypedValue;
+import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Display;
import android.widget.FrameLayout;
+import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.SeekBar;
import android.widget.TextView;
import com.android.camera.CaptureModule;
+import com.android.camera.CaptureUI;
import com.android.camera.Storage;
import com.android.camera.imageprocessor.filter.BeautificationFilter;
@@ -45,7 +49,7 @@ public class OneUICameraControls extends RotatableLayout {
private static final String TAG = "CAM_Controls";
- private static final float TOP_PANEL_SPACE_NUM = 4f;
+ private static final float TOP_PANEL_SPACE_NUM = 5f;
private static final float BOTTOM_PANEL_SPACE_NUM = 5f;
private static final float PANEL_INDEX_0 = 0f;
private static final float PANEL_INDEX_1 = 1f;
@@ -68,9 +72,11 @@ public class OneUICameraControls extends RotatableLayout {
private View mMakeupSeekBarHighText;
private View mMakeupSeekBarLayout;
private View mCancelButton;
+ private View mModeSwitcher;
private ViewGroup mProModeLayout;
private View mSettingsButton;
+ private RecyclerView mModeSelectLayout;
private ArrowTextView mRefocusToast;
private static final int WIDTH_GRID = 5;
@@ -110,6 +116,8 @@ public class OneUICameraControls extends RotatableLayout {
private RotateLayout mIsoRotateLayout;
private RotateLayout mZoomSeekBarLayout;
+ private CaptureUI mCUI;
+
public OneUICameraControls(Context context, AttributeSet attrs) {
super(context, attrs);
mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
@@ -167,6 +175,7 @@ public class OneUICameraControls extends RotatableLayout {
mRemainingPhotos = (LinearLayout) findViewById(R.id.remaining_photos);
mRemainingPhotosText = (TextView) findViewById(R.id.remaining_photos_text);
mCancelButton = findViewById(R.id.cancel_button);
+ mModeSwitcher = findViewById(R.id.mode_switcher);
mProModeLayout = (ViewGroup) findViewById(R.id.pro_mode_layout);
mExposureText = (TextView) findViewById(R.id.exposure_value);
@@ -183,75 +192,13 @@ public class OneUICameraControls extends RotatableLayout {
mIsoRotateLayout = (RotateLayout) findViewById(R.id.iso_rotate_layout);
mZoomSeekBarLayout = (RotateLayout) findViewById(R.id.zoom_seekbar_layout);
- mExposureText.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- resetProModeIcons();
- int mode = mProMode.getMode();
- if (mode == ProMode.EXPOSURE_MODE) {
- mProMode.setMode(ProMode.NO_MODE);
- } else {
- mExposureText.setSelected(true);
- mProMode.setMode(ProMode.EXPOSURE_MODE);
- }
- }
- });
- mManualText.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- resetProModeIcons();
- int mode = mProMode.getMode();
- if (mode == ProMode.MANUAL_MODE) {
- mProMode.setMode(ProMode.NO_MODE);
- } else {
- mManualText.setSelected(true);
- mProMode.setMode(ProMode.MANUAL_MODE);
- }
- }
- });
- mWhiteBalanceText.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- resetProModeIcons();
- int mode = mProMode.getMode();
- if (mode == ProMode.WHITE_BALANCE_MODE) {
- mProMode.setMode(ProMode.NO_MODE);
- } else {
- mWhiteBalanceText.setSelected(true);
- mProMode.setMode(ProMode.WHITE_BALANCE_MODE);
- }
- }
- });
- mIsoText.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- resetProModeIcons();
- int mode = mProMode.getMode();
- if (mode == ProMode.ISO_MODE) {
- mProMode.setMode(ProMode.NO_MODE);
- } else {
- mIsoText.setSelected(true);
- mProMode.setMode(ProMode.ISO_MODE);
- }
- }
- });
- mZoomSeekbarText.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- resetProModeIcons();
- int mode = mProMode.getMode();
- if (mode == ProMode.ZOOM_MODE) {
- mProMode.setMode(ProMode.NO_MODE);
- } else {
- mZoomSeekbarText.setSelected(true);
- mProMode.setMode(ProMode.ZOOM_MODE);
- }
- }
- });
+ mModeSelectLayout = (RecyclerView) findViewById(R.id.mode_select_layout);
+ mModeSelectLayout.setVisibility(View.INVISIBLE);
+
mViews = new View[]{
mSceneModeSwitcher, mFilterModeSwitcher, mFrontBackSwitcher,
- mFlashButton,
- mPreview, mPauseButton, mCancelButton, mSettingsButton
+ mFlashButton, mPreview, mPauseButton, mCancelButton,
+ mSettingsButton, mModeSwitcher
};
mBottomLargeSize = getResources().getDimensionPixelSize(
R.dimen.one_ui_bottom_large);
@@ -320,24 +267,80 @@ public class OneUICameraControls extends RotatableLayout {
}
}
+ public void onExposureTextClick() {
+ resetProModeIcons();
+ int mode = mProMode.getMode();
+ if (mode == ProMode.EXPOSURE_MODE) {
+ mProMode.setMode(ProMode.NO_MODE);
+ } else {
+ mExposureText.setSelected(true);
+ mProMode.setMode(ProMode.EXPOSURE_MODE);
+ }
+ }
+
+ public void onManualTextClick() {
+ resetProModeIcons();
+ int mode = mProMode.getMode();
+ if (mode == ProMode.MANUAL_MODE) {
+ mProMode.setMode(ProMode.NO_MODE);
+ } else {
+ mManualText.setSelected(true);
+ mProMode.setMode(ProMode.MANUAL_MODE);
+ }
+ }
+
+ public void onWhiteBalanceTextClick() {
+ resetProModeIcons();
+ int mode = mProMode.getMode();
+ if (mode == ProMode.WHITE_BALANCE_MODE) {
+ mProMode.setMode(ProMode.NO_MODE);
+ } else {
+ mWhiteBalanceText.setSelected(true);
+ mProMode.setMode(ProMode.WHITE_BALANCE_MODE);
+ }
+ }
+
+ public void onIsoTextClick() {
+ resetProModeIcons();
+ int mode = mProMode.getMode();
+ if (mode == ProMode.ISO_MODE) {
+ mProMode.setMode(ProMode.NO_MODE);
+ } else {
+ mIsoText.setSelected(true);
+ mProMode.setMode(ProMode.ISO_MODE);
+ }
+ }
+
+ public void onZoomSeekbarTextClick() {
+ resetProModeIcons();
+ int mode = mProMode.getMode();
+ if (mode == ProMode.ZOOM_MODE) {
+ mProMode.setMode(ProMode.NO_MODE);
+ } else {
+ mZoomSeekbarText.setSelected(true);
+ mProMode.setMode(ProMode.ZOOM_MODE);
+ }
+ }
+
+ public void initialize(CaptureUI cUI) {
+ mCUI = cUI;
+ }
+
+ public void closeModeSwitcher(boolean animate) {
+ mCUI.closeModeSwitcher(animate);
+ }
+
private void setLocation(View v, boolean top, float idx) {
if(v == null) {
return;
}
- int w = v.getMeasuredWidth();
int h = v.getMeasuredHeight();
if (top) {
v.setY((mTop - h) / 2);
} else {
v.setY(mHeight - mBottom + (mBottom - h) / 2);
}
- float bW;
- if (top) {
- bW = mWidth / TOP_PANEL_SPACE_NUM;
- } else {
- bW = mWidth / BOTTOM_PANEL_SPACE_NUM;
- }
- v.setX(bW * idx + (bW - w) / 2);
+ v.setX(getLocationX(v, top, idx));
}
private void setLocationCustomBottom(View v, float x, float y) {
@@ -352,10 +355,32 @@ public class OneUICameraControls extends RotatableLayout {
v.setX(bW * x);
}
+ private float getLocationX(View v, boolean top, float idx) {
+ int w = v.getMeasuredWidth();
+ float bW;
+ if (top) {
+ bW = mWidth / TOP_PANEL_SPACE_NUM;
+ } else {
+ bW = mWidth / BOTTOM_PANEL_SPACE_NUM;
+ }
+ return (bW * idx + (bW - w) / 2);
+ }
+
+ private void setLocationCameraModePanel() {
+ if(mModeSelectLayout == null) {
+ return;
+ }
+ mModeSelectLayout.setY(mModeSwitcher.getY() - mModeSelectLayout.getMeasuredHeight()
+ + mModeSwitcher.getMeasuredHeight());
+ mModeSelectLayout.setX(getLocationX(mModeSelectLayout, true, 4f));
+ }
+
private void setLocation(int w, int h) {
int rotation = getUnifiedRotation();
setLocation(mSceneModeSwitcher, true, PANEL_INDEX_0);
setLocation(mFilterModeSwitcher, true, PANEL_INDEX_1);
+ setLocation(mModeSwitcher, false, 4f);
+ setLocationCameraModePanel();
if (mIsVideoMode) {
setLocation(mMute, true, PANEL_INDEX_1);
setLocation(mFlashButton, true, PANEL_INDEX_2);
@@ -365,9 +390,9 @@ public class OneUICameraControls extends RotatableLayout {
setLocation(mVideoShutter, false, PANEL_INDEX_2);
setLocation(mExitBestPhotpMode ,false, PANEL_INDEX_4);
} else {
- setLocation(mFlashButton, true, PANEL_INDEX_2);
- setLocation(mSettingsButton,true, PANEL_INDEX_3);
- setLocation(mFrontBackSwitcher, false, 3.15f);
+ setLocation(mFlashButton, true, PANEL_INDEX_3);
+ setLocation(mSettingsButton,true, PANEL_INDEX_4);
+ setLocation(mFrontBackSwitcher, true, PANEL_INDEX_2);
if (mIntentMode == CaptureModule.INTENT_MODE_CAPTURE) {
setLocation(mShutter, false, PANEL_INDEX_2);
setLocation(mCancelButton, false, 0.85f);
@@ -518,7 +543,7 @@ public class OneUICameraControls extends RotatableLayout {
mSceneModeSwitcher, mFilterModeSwitcher, mFrontBackSwitcher,
mFlashButton, mSettingsButton, mPreview,
mMute, mMakeupSeekBarLowText, mMakeupSeekBarHighText,
- mPauseButton, mExitBestPhotpMode
+ mPauseButton, mExitBestPhotpMode, mModeSwitcher
};
for (View v : views) {
@@ -532,6 +557,13 @@ public class OneUICameraControls extends RotatableLayout {
mIsoRotateLayout.setOrientation(orientation, animation);
mZoomSeekBarLayout.setOrientation(orientation, animation);
mProMode.setOrientation(orientation);
+
+ // Reorient the camera modes
+ for (int i = 0; i < ((ViewGroup) mModeSelectLayout).getChildCount(); i++) {
+ ((Rotatable) ((ViewGroup) mModeSelectLayout.getChildAt(i))
+ .getChildAt(0)).setOrientation(orientation, animation);
+ }
+
layoutRemaingPhotos();
}
diff --git a/src/com/android/camera/ui/PieRenderer.java b/src/com/android/camera/ui/PieRenderer.java
index d9e947dab..d9e947dab 100755..100644
--- a/src/com/android/camera/ui/PieRenderer.java
+++ b/src/com/android/camera/ui/PieRenderer.java
diff --git a/src/com/android/camera/ui/ProMode.java b/src/com/android/camera/ui/ProMode.java
index d1ad0fade..3ff9ae2be 100755..100644
--- a/src/com/android/camera/ui/ProMode.java
+++ b/src/com/android/camera/ui/ProMode.java
@@ -62,10 +62,9 @@ public class ProMode extends View {
private static final int BLUE = 0xff4693fb;
private static final int SELECTED_DOT_SIZE = 20;
private static final int DOT_SIZE = 10;
- private static final int[] wbIcons = {R.drawable.auto, R.drawable.incandecent,
- R.drawable.fluorescent, R.drawable.sunlight, R.drawable.cloudy};
- private static final int[] wbIconsBlue = {R.drawable.auto_blue, R.drawable.incandecent_blue,
- R.drawable.fluorescent_blue, R.drawable.sunlight_blue, R.drawable.cloudy_blue};
+ private static final int[] wbIcons = {R.drawable.ic_scene_mode_auto_wb,
+ R.drawable.ic_scene_mode_backlight, R.drawable.ic_scene_mode_fluorescent,
+ R.drawable.ic_scene_mode_sunset, R.drawable.ic_scene_mode_cloudy};
private static final int WB_ICON_SIZE = 80;
private PathMeasure mCurveMeasure;
private int mCurveLeft;
@@ -350,7 +349,7 @@ public class ProMode extends View {
((TextView) v).setTextColor(Color.WHITE);
} else if (v instanceof ImageView) {
if (mMode == WHITE_BALANCE_MODE) {
- ((ImageView) v).setImageResource(wbIcons[mIndex]);
+ ((ImageView) v).setColorFilter(null);
}
}
}
@@ -362,7 +361,7 @@ public class ProMode extends View {
((TextView) v).setTextColor(BLUE);
} else if (v instanceof ImageView) {
if (mMode == WHITE_BALANCE_MODE) {
- ((ImageView) v).setImageResource(wbIconsBlue[mIndex]);
+ ((ImageView) v).setColorFilter(BLUE);
}
}
if (key != null) mSettingsManager.setValueIndex(key, mIndex);
@@ -383,6 +382,7 @@ public class ProMode extends View {
@Override
public boolean onTouchEvent(MotionEvent event) {
+ mUI.closeModeSwitcher(true);
if (mMode == MANUAL_MODE) {
float slider = getSlider(event.getX(), event.getY());
if (slider >= 0) {
diff --git a/src/com/android/camera/ui/TouchTrackFocusRenderer.java b/src/com/android/camera/ui/TouchTrackFocusRenderer.java
index 60c27d389..60c27d389 100755..100644
--- a/src/com/android/camera/ui/TouchTrackFocusRenderer.java
+++ b/src/com/android/camera/ui/TouchTrackFocusRenderer.java
diff --git a/src/com/android/camera/ui/ZoomRenderer.java b/src/com/android/camera/ui/ZoomRenderer.java
index c9678f008..c9678f008 100755..100644
--- a/src/com/android/camera/ui/ZoomRenderer.java
+++ b/src/com/android/camera/ui/ZoomRenderer.java