"include/git@repo.buzztime.com:halo/frameworks_native.git" did not exist on "a33b62cc4700c68a3481d415a55e1a7b688981e1"
Commit ec4a3fc5 authored by Alan Newberger's avatar Alan Newberger
Browse files

Ensure default focus mode is continuous-picture

The new Settings infrastructure created a bug where the default
focus mode was 'auto', it needs to be continuous-picture. Fixing
here. Also adding verbose logging to the focus manager, could be
helpful in the future.

Bug: 16536583
Change-Id: I80b5905524f7fdaf69097ff8d2780da9f4ee2428
parent 036400b3
......@@ -283,7 +283,7 @@
<string name="pref_camera_focusmode_label_macro">MACRO</string>
<!-- Default focus mode setting -->
<string name="pref_camera_focusmode_default" translatable="false">auto</string>
<string name="pref_camera_focusmode_default" translatable="false">continuous-picture</string>
<!-- Default flash mode setting. -->
<string name="pref_camera_flashmode_default" translatable="false">auto</string>
......
......@@ -477,25 +477,31 @@ public class FocusOverlayManager implements PreviewStatusListener.PreviewAreaCha
public CameraCapabilities.FocusMode getFocusMode(
final CameraCapabilities.FocusMode currentFocusMode) {
if (mOverrideFocusMode != null) {
Log.v(TAG, "returning override focus: " + mOverrideFocusMode);
return mOverrideFocusMode;
}
if (mCapabilities == null) {
Log.v(TAG, "no capabilities, returning default AUTO focus mode");
return CameraCapabilities.FocusMode.AUTO;
}
if (mFocusAreaSupported && mFocusArea != null) {
Log.v(TAG, "in tap to focus, returning AUTO focus mode");
// Always use autofocus in tap-to-focus.
mFocusMode = CameraCapabilities.FocusMode.AUTO;
} else {
String focusSetting = mSettingsManager.getString(mAppController.getCameraScope(),
Keys.KEY_FOCUS_MODE);
Log.v(TAG, "stored focus setting for camera: " + focusSetting);
// The default is continuous autofocus.
mFocusMode = mCapabilities.getStringifier()
.focusModeFromString(mSettingsManager.getString(mAppController.getCameraScope(),
Keys.KEY_FOCUS_MODE));
mFocusMode = mCapabilities.getStringifier().focusModeFromString(focusSetting);
Log.v(TAG, "focus mode resolved from setting: " + mFocusMode);
// Try to find a supported focus mode from the default list.
if (mFocusMode == null) {
for (CameraCapabilities.FocusMode mode : mDefaultFocusModes) {
if (mCapabilities.supports(mode)) {
mFocusMode = mode;
Log.v(TAG, "selected supported focus mode from default list" + mode);
break;
}
}
......@@ -505,8 +511,10 @@ public class FocusOverlayManager implements PreviewStatusListener.PreviewAreaCha
// For some reasons, the driver does not support the current
// focus mode. Fall back to auto.
if (mCapabilities.supports(CameraCapabilities.FocusMode.AUTO)) {
Log.v(TAG, "no supported focus mode, falling back to AUTO");
mFocusMode = CameraCapabilities.FocusMode.AUTO;
} else {
Log.v(TAG, "no supported focus mode, falling back to current: " + currentFocusMode);
mFocusMode = currentFocusMode;
}
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment