summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/camera/PhotoModule.java25
-rw-r--r--src/com/android/camera/PhotoUI.java5
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));