summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Kolb <kolby@google.com>2013-04-26 23:00:13 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-04-26 23:00:13 +0000
commit1efdb8f8cbb5e23209b933efa6e71876dabb8220 (patch)
treea6f0004fab4923d161c72045c0007391e1bb00c5
parent11dc9b8fdb77c5e569a284ea2dedf59ba1b889ac (diff)
parenteb8adc1754fc668435ee57d1be2235b80fc8c009 (diff)
downloadandroid_packages_apps_Snap-1efdb8f8cbb5e23209b933efa6e71876dabb8220.tar.gz
android_packages_apps_Snap-1efdb8f8cbb5e23209b933efa6e71876dabb8220.tar.bz2
android_packages_apps_Snap-1efdb8f8cbb5e23209b933efa6e71876dabb8220.zip
Merge "Add new indicators" into gb-ub-photos-bryce
-rw-r--r--src/com/android/camera/ListPreference.java4
-rw-r--r--src/com/android/camera/OnScreenIndicators.java65
-rw-r--r--src/com/android/camera/PhotoModule.java2
-rw-r--r--src/com/android/camera/PhotoUI.java25
-rw-r--r--src/com/android/camera/VideoUI.java2
5 files changed, 70 insertions, 28 deletions
diff --git a/src/com/android/camera/ListPreference.java b/src/com/android/camera/ListPreference.java
index d1d34911b..38866de9d 100644
--- a/src/com/android/camera/ListPreference.java
+++ b/src/com/android/camera/ListPreference.java
@@ -142,6 +142,10 @@ public class ListPreference extends CameraPreference {
return -1;
}
+ public int getCurrentIndex() {
+ return findIndexOfValue(getValue());
+ }
+
public String getEntry() {
return mEntries[findIndexOfValue(getValue())].toString();
}
diff --git a/src/com/android/camera/OnScreenIndicators.java b/src/com/android/camera/OnScreenIndicators.java
index 6c3819a3d..77c8fafc0 100644
--- a/src/com/android/camera/OnScreenIndicators.java
+++ b/src/com/android/camera/OnScreenIndicators.java
@@ -16,6 +16,8 @@
package com.android.camera;
+import android.content.Context;
+import android.content.res.TypedArray;
import android.hardware.Camera;
import android.hardware.Camera.Parameters;
import android.view.View;
@@ -28,13 +30,23 @@ import com.android.gallery3d.R;
* settings in the viewfinder.
*/
public class OnScreenIndicators {
+ private final int[] mWBArray;
private final View mOnScreenIndicators;
private final ImageView mExposureIndicator;
private final ImageView mFlashIndicator;
private final ImageView mSceneIndicator;
- private final ImageView mHdrIndicator;
+ private final ImageView mLocationIndicator;
+ private final ImageView mTimerIndicator;
+ private final ImageView mWBIndicator;
- public OnScreenIndicators(View onScreenIndicatorsView) {
+ public OnScreenIndicators(Context ctx, View onScreenIndicatorsView) {
+ TypedArray iconIds = ctx.getResources().obtainTypedArray(
+ R.array.camera_wb_indicators);
+ final int n = iconIds.length();
+ mWBArray = new int[n];
+ for (int i = 0; i < n; i++) {
+ mWBArray[i] = iconIds.getResourceId(i, R.drawable.ic_indicator_wb_off);
+ }
mOnScreenIndicators = onScreenIndicatorsView;
mExposureIndicator = (ImageView) onScreenIndicatorsView.findViewById(
R.id.menu_exposure_indicator);
@@ -42,7 +54,12 @@ public class OnScreenIndicators {
R.id.menu_flash_indicator);
mSceneIndicator = (ImageView) onScreenIndicatorsView.findViewById(
R.id.menu_scenemode_indicator);
- mHdrIndicator = (ImageView) onScreenIndicatorsView.findViewById(R.id.menu_hdr_indicator);
+ mLocationIndicator = (ImageView) onScreenIndicatorsView.findViewById(
+ R.id.menu_location_indicator);
+ mTimerIndicator = (ImageView) onScreenIndicatorsView.findViewById(
+ R.id.menu_timer_indicator);
+ mWBIndicator = (ImageView) onScreenIndicatorsView.findViewById(
+ R.id.menu_wb_indicator);
}
/**
@@ -52,7 +69,9 @@ public class OnScreenIndicators {
updateExposureOnScreenIndicator(0);
updateFlashOnScreenIndicator(Parameters.FLASH_MODE_OFF);
updateSceneOnScreenIndicator(Parameters.SCENE_MODE_AUTO);
- updateHdrOnScreenIndicator(Parameters.SCENE_MODE_AUTO);
+ updateWBIndicator(2);
+ updateTimerIndicator(false);
+ updateLocationIndicator(false);
}
/**
@@ -101,6 +120,23 @@ public class OnScreenIndicators {
mExposureIndicator.setImageResource(id);
}
+ public void updateWBIndicator(int wbIndex) {
+ if (mWBIndicator == null) return;
+ mWBIndicator.setImageResource(mWBArray[wbIndex]);
+ }
+
+ public void updateTimerIndicator(boolean on) {
+ if (mTimerIndicator == null) return;
+ mTimerIndicator.setImageResource(on ? R.drawable.ic_indicator_timer_on
+ : R.drawable.ic_indicator_timer_off);
+ }
+
+ public void updateLocationIndicator(boolean on) {
+ if (mLocationIndicator == null) return;
+ mLocationIndicator.setImageResource(on ? R.drawable.ic_indicator_loc_on
+ : R.drawable.ic_indicator_loc_off);
+ }
+
/**
* Set the flash indicator to the given value.
*
@@ -134,31 +170,16 @@ public class OnScreenIndicators {
if (mSceneIndicator == null) {
return;
}
- if ((value == null) || Parameters.SCENE_MODE_AUTO.equals(value)
- || Parameters.SCENE_MODE_HDR.equals(value)) {
+ if ((value == null) || Parameters.SCENE_MODE_AUTO.equals(value)) {
mSceneIndicator.setImageResource(R.drawable.ic_indicator_sce_off);
+ } else if (Parameters.SCENE_MODE_HDR.equals(value)) {
+ mSceneIndicator.setImageResource(R.drawable.ic_indicator_sce_hdr);
} else {
mSceneIndicator.setImageResource(R.drawable.ic_indicator_sce_on);
}
}
/**
- * Sets the scene indicator to show whether HDR is on or off.
- *
- * @param value the current Parameters.SCENE_MODE_* value.
- */
- public void updateHdrOnScreenIndicator(String value) {
- if (mHdrIndicator == null) {
- return;
- }
- if ((value != null) && Parameters.SCENE_MODE_HDR.equals(value)) {
- mHdrIndicator.setImageResource(R.drawable.ic_indicator_hdr_on);
- } else {
- mHdrIndicator.setImageResource(R.drawable.ic_indicator_hdr_off);
- }
- }
-
- /**
* Sets the visibility of all indicators.
*
* @param visibility View.VISIBLE, View.GONE etc.
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java
index 3e71aa648..4d3f7fb22 100644
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -1909,7 +1909,7 @@ public class PhotoModule
mLocationManager.recordLocation(recordLocation);
setCameraParametersWhenIdle(UPDATE_PARAM_PREFERENCE);
- mUI.updateOnScreenIndicators(mParameters, mPreferences);
+ mUI.updateOnScreenIndicators(mParameters, mPreferenceGroup, mPreferences);
}
@Override
diff --git a/src/com/android/camera/PhotoUI.java b/src/com/android/camera/PhotoUI.java
index 3f2945f10..f7887c45c 100644
--- a/src/com/android/camera/PhotoUI.java
+++ b/src/com/android/camera/PhotoUI.java
@@ -143,7 +143,7 @@ public class PhotoUI implements PieListener,
}
private void initIndicators() {
- mOnScreenIndicators = new OnScreenIndicators(
+ mOnScreenIndicators = new OnScreenIndicators(mActivity,
mActivity.findViewById(R.id.on_screen_indicators));
}
@@ -185,7 +185,7 @@ public class PhotoUI implements PieListener,
mRenderOverlay.requestLayout();
initializeZoom(params);
- updateOnScreenIndicators(params, prefs);
+ updateOnScreenIndicators(params, prefGroup, prefs);
}
private void openMenu() {
@@ -294,13 +294,30 @@ public class PhotoUI implements PieListener,
}
public void updateOnScreenIndicators(Camera.Parameters params,
- ComboPreferences prefs) {
+ PreferenceGroup group, ComboPreferences prefs) {
if (params == null) return;
mOnScreenIndicators.updateSceneOnScreenIndicator(params.getSceneMode());
mOnScreenIndicators.updateExposureOnScreenIndicator(params,
CameraSettings.readExposure(prefs));
mOnScreenIndicators.updateFlashOnScreenIndicator(params.getFlashMode());
- mOnScreenIndicators.updateHdrOnScreenIndicator(params.getSceneMode());
+ int wbIndex = 2;
+ ListPreference pref = group.findPreference(CameraSettings.KEY_WHITE_BALANCE);
+ if (pref != null) {
+ wbIndex = pref.getCurrentIndex();
+ }
+ mOnScreenIndicators.updateWBIndicator(wbIndex);
+ pref = group.findPreference(CameraSettings.KEY_TIMER);
+ boolean timer = false;
+ if (pref != null) {
+ timer = !(pref.getCurrentIndex() == 0);
+ }
+ mOnScreenIndicators.updateTimerIndicator(timer);
+ boolean location = false;
+ pref = group.findPreference(CameraSettings.KEY_RECORD_LOCATION);
+ if (pref != null) {
+ location = !(pref.getCurrentIndex() == 0);
+ }
+ mOnScreenIndicators.updateLocationIndicator(location);
}
diff --git a/src/com/android/camera/VideoUI.java b/src/com/android/camera/VideoUI.java
index 16a9d3c86..e55de9e6d 100644
--- a/src/com/android/camera/VideoUI.java
+++ b/src/com/android/camera/VideoUI.java
@@ -100,7 +100,7 @@ public class VideoUI implements SurfaceHolder.Callback, PieRenderer.PieListener,
}
}
});
- mOnScreenIndicators = new OnScreenIndicators(
+ mOnScreenIndicators = new OnScreenIndicators(mActivity,
mActivity.findViewById(R.id.on_screen_indicators));
mOnScreenIndicators.resetToDefault();
if (mController.isVideoCaptureIntent()) {