diff options
| -rw-r--r-- | src/com/android/camera/PhotoModule.java | 25 | ||||
| -rw-r--r-- | src/com/android/camera/PhotoUI.java | 5 |
2 files changed, 25 insertions, 5 deletions
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java index 5f7fc6a0a..cbfc385b2 100644 --- a/src/com/android/camera/PhotoModule.java +++ b/src/com/android/camera/PhotoModule.java @@ -113,6 +113,7 @@ public class PhotoModule private static final int OPEN_CAMERA_FAIL = 11; private static final int CAMERA_DISABLED = 12; private static final int CAPTURE_ANIMATION_DONE = 13; + private static final int SET_PHOTO_UI_PARAMS = 15; // The subset of parameters we need to update in setCameraParameters(). private static final int UPDATE_PARAM_INITIALIZE = 1; @@ -411,6 +412,13 @@ public class PhotoModule mUI.enablePreviewThumb(false); break; } + case SET_PHOTO_UI_PARAMS: { + setCameraParametersWhenIdle(UPDATE_PARAM_PREFERENCE); + resizeForPreviewAspectRatio(); + mUI.updateOnScreenIndicators(mParameters, mPreferenceGroup, + mPreferences); + break; + } } } } @@ -2100,10 +2108,19 @@ public class PhotoModule mActivity.updateStorageSpaceAndHint(); mActivity.reuseCameraScreenNail(!mIsImageCaptureIntent); } - - setCameraParametersWhenIdle(UPDATE_PARAM_PREFERENCE); - resizeForPreviewAspectRatio(); - mUI.updateOnScreenIndicators(mParameters, mPreferenceGroup, mPreferences); + /* Check if the PhotoUI Menu is initialized or not. This + * should be initialized during onCameraOpen() which should + * have been called by now. But for some reason that is not + * executed till now, then schedule these functionality for + * later by posting a message to the handler */ + if (mUI.mMenuInitialized) { + setCameraParametersWhenIdle(UPDATE_PARAM_PREFERENCE); + resizeForPreviewAspectRatio(); + mUI.updateOnScreenIndicators(mParameters, mPreferenceGroup, + mPreferences); + } else { + mHandler.sendEmptyMessage(SET_PHOTO_UI_PARAMS); + } } @Override diff --git a/src/com/android/camera/PhotoUI.java b/src/com/android/camera/PhotoUI.java index ffa117642..dddf56292 100644 --- a/src/com/android/camera/PhotoUI.java +++ b/src/com/android/camera/PhotoUI.java @@ -94,6 +94,7 @@ public class PhotoUI implements PieListener, private int mPreviewWidth = 0; private int mPreviewHeight = 0; private View mPreviewThumb; + public boolean mMenuInitialized = false; private OnLayoutChangeListener mLayoutListener = new OnLayoutChangeListener() { @Override @@ -162,6 +163,7 @@ public class PhotoUI implements PieListener, mMenu.setListener(listener); } mMenu.initialize(prefGroup); + mMenuInitialized = true; if (mZoomRenderer == null) { mZoomRenderer = new ZoomRenderer(mActivity); @@ -305,12 +307,13 @@ public class PhotoUI implements PieListener, public void hideGpsOnScreenIndicator() { } public void overrideSettings(final String ... keyvalues) { + if (mMenu == null) return; mMenu.overrideSettings(keyvalues); } public void updateOnScreenIndicators(Camera.Parameters params, PreferenceGroup group, ComboPreferences prefs) { - if (params == null) return; + if (params == null || group == null) return; mOnScreenIndicators.updateSceneOnScreenIndicator(params.getSceneMode()); mOnScreenIndicators.updateExposureOnScreenIndicator(params, CameraSettings.readExposure(prefs)); |
