<string-array name="pref_camera_quickcapture_entryvalues" translatable="false">
<item>off</item>
<item>on</item>
+ </string-array>
+
+ <!-- Camera Preferences metering mode dialog box entries -->
+ <string-array name="pref_camera_meteringmode_entries" translatable="false">
+ <item>@string/pref_camera_meteringmode_entry_center_weighted</item>
+ <item>@string/pref_camera_meteringmode_entry_spot</item>
+ <item>@string/pref_camera_meteringmode_entry_frame_average</item>
+ </string-array>
+
+ <string-array name="pref_camera_meteringmode_entryvalues" translatable="false">
+ <item>center-weighted</item>
+ <item>frame-average</item>
+ <item>spot</item>
</string-array>
</resources>
<!-- Settings screen, Flash mode title -->
<string name="pref_camera_flashmode_title">Flash mode</string>
- <!-- Settings screen, Focue mode dialog radio button choices -->
+ <!-- Settings screen, Flash mode dialog radio button choices -->
<string name="pref_camera_flashmode_entry_auto">Auto</string>
<string name="pref_camera_flashmode_entry_on">On</string>
<string name="pref_camera_flashmode_entry_off">Off</string>
<string name="pref_exposure_title">Exposure</string>
<string name="pref_exposure_default" translatable="false">0</string>
+ <!-- Default metering mode setting.-->
+ <string name="pref_camera_meteringmode_default" translatable="false">center-weighted</string>
+
+ <!-- Settings screen, Metering mode title -->
+ <string name="pref_camera_meteringmode_title">Metering mode</string>
+
+ <!-- Settings screen, Metering mode dialog radio button choices -->
+ <string name="pref_camera_meteringmode_entry_center_weighted">Center Weighted</string>
+ <string name="pref_camera_meteringmode_entry_frame_average">Frame Average</string>
+ <string name="pref_camera_meteringmode_entry_spot">Spot</string>
+
<!-- Framing grid settings in preference -->
<!-- Message to show when there's no lat/lng information in the image -->
camera:title="@string/pref_camera_quickcapture_title"
camera:entries="@array/pref_camera_quickcapture_entries"
camera:entryValues="@array/pref_camera_quickcapture_entryvalues" />
+ <ListPreference
+ camera:key="pref_camera_meteringmode_key"
+ camera:defaultValue="@string/pref_camera_meteringmode_default"
+ camera:title="@string/pref_camera_meteringmode_title"
+ camera:entries="@array/pref_camera_meteringmode_entries"
+ camera:entryValues="@array/pref_camera_meteringmode_entryvalues" />
</PreferenceGroup>
</PreferenceGroup>
} else {
mFocusMode = mParameters.getFocusMode();
}
+
+ // Set metering mode parameter.
+ String meteringMode = mPreferences.getString(
+ CameraSettings.KEY_METERING_MODE,
+ getString(R.string.pref_camera_meteringmode_default));
+ if (isSupported(meteringMode, mParameters.getSupportedMeteringModes())) {
+ mParameters.setMeteringMode(meteringMode);
+ }
}
// We separate the parameters into several subsets, so we can update only
public static final String KEY_SCENE_MODE = "pref_camera_scenemode_key";
public static final String KEY_QUICK_CAPTURE = "pref_camera_quickcapture_key";
public static final String KEY_EXPOSURE = "pref_camera_exposure_key";
+ public static final String KEY_METERING_MODE = "pref_camera_meteringmode_key";
public static final String QUICK_CAPTURE_ON = "on";
public static final String QUICK_CAPTURE_OFF = "off";
ListPreference exposure = group.findPreference(KEY_EXPOSURE);
ListPreference videoFlashMode =
group.findPreference(KEY_VIDEOCAMERA_FLASH_MODE);
+ ListPreference meteringMode =
+ group.findPreference(KEY_METERING_MODE);
// Since the screen could be loaded from different resources, we need
// to check if the preference is available here
filterUnsupportedOptions(group,
videoFlashMode, mParameters.getSupportedFlashModes());
}
+ if (meteringMode != null) {
+ filterUnsupportedOptions(group,
+ meteringMode, mParameters.getSupportedMeteringModes());
+ }
if (exposure != null) {
buildExposureCompensation(group, exposure);
CameraSettings.KEY_SCENE_MODE,
CameraSettings.KEY_PICTURE_SIZE,
CameraSettings.KEY_JPEG_QUALITY,
- CameraSettings.KEY_COLOR_EFFECT);
+ CameraSettings.KEY_COLOR_EFFECT,
+ CameraSettings.KEY_METERING_MODE);
mOtherSettings = new OtherSettingsIndicator(context, prefs);
mOtherSettings.setOnRestorePreferencesClickedRunner(new Runnable() {