summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/com/android/camera/AndroidCameraManagerImpl.java2
-rw-r--r--src/com/android/camera/CameraActivity.java5
-rw-r--r--src/com/android/camera/PhotoMenu.java28
-rw-r--r--src/com/android/camera/PhotoModule.java14
-rw-r--r--src/com/android/camera/PhotoUI.java13
-rw-r--r--src/com/android/camera/VideoMenu.java15
-rw-r--r--src/com/android/camera/VideoModule.java5
-rw-r--r--src/com/android/camera/VideoUI.java5
8 files changed, 58 insertions, 29 deletions
diff --git a/src/com/android/camera/AndroidCameraManagerImpl.java b/src/com/android/camera/AndroidCameraManagerImpl.java
index 637a5f5c5..408bf4f55 100644
--- a/src/com/android/camera/AndroidCameraManagerImpl.java
+++ b/src/com/android/camera/AndroidCameraManagerImpl.java
@@ -774,7 +774,7 @@ class AndroidCameraManagerImpl implements CameraManager {
mHandler.post(new Runnable() {
@Override
public void run() {
- if (currentCamera.equals(mCamera.getCamera())) {
+ if (currentCamera != null && currentCamera.equals(mCamera.getCamera())) {
mCallback.onPictureTaken(data, mCamera);
}
}
diff --git a/src/com/android/camera/CameraActivity.java b/src/com/android/camera/CameraActivity.java
index ca66babae..300975845 100644
--- a/src/com/android/camera/CameraActivity.java
+++ b/src/com/android/camera/CameraActivity.java
@@ -421,6 +421,7 @@ public class CameraActivity extends Activity
if(!arePreviewControlsVisible()) {
setPreviewControlsVisibility(true);
CameraActivity.this.setSystemBarsVisibility(false);
+ mFilmStripView.getController().goToFullScreen();
}
}
@@ -995,6 +996,10 @@ public class CameraActivity extends Activity
public void notifyNewMedia(Uri uri) {
ContentResolver cr = getContentResolver();
String mimeType = cr.getType(uri);
+ if (mimeType == null) {
+ Log.e(TAG, "mimeType is NULL");
+ return;
+ }
if (mimeType.startsWith("video/")) {
sendBroadcast(new Intent(CameraUtil.ACTION_NEW_VIDEO, uri));
mDataAdapter.addNewVideo(cr, uri);
diff --git a/src/com/android/camera/PhotoMenu.java b/src/com/android/camera/PhotoMenu.java
index f8d95b3f0..be3a02c1f 100644
--- a/src/com/android/camera/PhotoMenu.java
+++ b/src/com/android/camera/PhotoMenu.java
@@ -541,6 +541,7 @@ public class PhotoMenu extends MenuController
ListPreference pref = mPreferenceGroup.findPreference(
CameraSettings.KEY_SCENE_MODE);
+ updateFilterModeIcon(pref, mPreferenceGroup.findPreference(CameraSettings.KEY_CAMERA_HDR));
String sceneMode = (pref != null) ? pref.getValue() : null;
pref = mPreferenceGroup.findPreference(CameraSettings.KEY_FACE_DETECTION);
String faceDetection = (pref != null) ? pref.getValue() : null;
@@ -629,20 +630,21 @@ public class PhotoMenu extends MenuController
}
}
- pref = mPreferenceGroup.findPreference(CameraSettings.KEY_SCENE_MODE);
- if (pref != null) {
- if (notSame(pref, CameraSettings.KEY_SCENE_MODE, Parameters.SCENE_MODE_AUTO)) {
- buttonSetEnabled(mFilterModeSwitcher, false);
- } else {
- buttonSetEnabled(mFilterModeSwitcher, true);
- }
- }
-
if (mListener != null) {
mListener.onSharedPreferenceChanged();
}
}
+ private void updateFilterModeIcon(ListPreference scenePref, ListPreference hdrPref) {
+ if (scenePref == null || hdrPref == null) return;
+ if ((notSame(scenePref, CameraSettings.KEY_SCENE_MODE, Parameters.SCENE_MODE_AUTO))
+ || (notSame(hdrPref, CameraSettings.KEY_CAMERA_HDR, mSettingOff))) {
+ buttonSetEnabled(mFilterModeSwitcher, false);
+ } else {
+ buttonSetEnabled(mFilterModeSwitcher, true);
+ }
+ }
+
public void initSwitchItem(final String prefKey, View switcher) {
final IconListPreference pref =
(IconListPreference) mPreferenceGroup.findPreference(prefKey);
@@ -1072,6 +1074,7 @@ public class PhotoMenu extends MenuController
Toast.LENGTH_LONG).show();
}
setPreference(CameraSettings.KEY_SCENE_MODE, Parameters.SCENE_MODE_AUTO);
+ updateSceneModeIcon((IconListPreference) scenePref);
} else if (notSame(pref, CameraSettings.KEY_SCENE_MODE, Parameters.SCENE_MODE_AUTO)) {
ListPreference hdrPref =
mPreferenceGroup.findPreference(CameraSettings.KEY_CAMERA_HDR);
@@ -1126,12 +1129,7 @@ public class PhotoMenu extends MenuController
mActivity.getString(R.string.pref_camera_advanced_feature_default));
}
}
-
- if (notSame(pref, CameraSettings.KEY_SCENE_MODE, Parameters.SCENE_MODE_AUTO)) {
- buttonSetEnabled(mFilterModeSwitcher, false);
- } else {
- buttonSetEnabled(mFilterModeSwitcher, true);
- }
+ updateFilterModeIcon(pref, pref);
super.onSettingChanged(pref);
}
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java
index 2f519935e..c36ea087f 100644
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -533,6 +533,7 @@ public class PhotoModule
}
private void onPreviewStarted() {
+ mUI.hidePreviewCover();
setCameraState(IDLE);
mFocusManager.onPreviewStarted();
startFaceDetection();
@@ -1975,9 +1976,14 @@ public class PhotoModule
@Override
public void onShutterButtonFocus(boolean pressed) {
- if (mPaused || mUI.collapseCameraControls()
+ if (mCameraDevice == null
+ || mPaused || mUI.collapseCameraControls()
|| (mCameraState == SNAPSHOT_IN_PROGRESS)
- || (mCameraState == PREVIEW_STOPPED)) return;
+ || (mCameraState == PREVIEW_STOPPED)) {
+ Log.v(TAG, "onShutterButtonFocus error case mCameraState = " + mCameraState
+ + "mCameraDevice = " + mCameraDevice + "mPaused =" + mPaused);
+ return;
+ }
synchronized(mCameraDevice) {
if (mCameraState == LONGSHOT) {
@@ -2177,7 +2183,8 @@ public class PhotoModule
private void updateRemainingPhotos() {
if (mJpegFileSizeEstimation != 0) {
- mRemainingPhotos = (int) (mActivity.getStorageSpaceBytes()
+ mRemainingPhotos = (int)
+ ((mActivity.getStorageSpaceBytes() - Storage.LOW_STORAGE_THRESHOLD_BYTES)
/ mJpegFileSizeEstimation);
} else {
mRemainingPhotos = -1;
@@ -4076,6 +4083,7 @@ public class PhotoModule
Storage.setSaveSDCard(
mPreferences.getString(CameraSettings.KEY_CAMERA_SAVEPATH, "0").equals("1"));
mActivity.updateStorageSpaceAndHint();
+ updateRemainingPhotos();
}
//call generic onSharedPreferenceChanged
diff --git a/src/com/android/camera/PhotoUI.java b/src/com/android/camera/PhotoUI.java
index eb66c8395..0df2c30ca 100644
--- a/src/com/android/camera/PhotoUI.java
+++ b/src/com/android/camera/PhotoUI.java
@@ -390,6 +390,8 @@ public class PhotoUI implements PieListener,
}
} else {
float width = mOriginalPreviewWidth, height = mOriginalPreviewHeight;
+ if (width == 0 || height == 0) return;
+
if (mOrientationResize) {
scaledTextureWidth = height * mAspectRatio;
if (scaledTextureWidth > width) {
@@ -459,10 +461,6 @@ public class PhotoUI implements PieListener,
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
Log.v(TAG, "surfaceChanged: width =" + width + ", height = " + height);
- // Make sure preview cover is hidden if preview data is available.
- if (mPreviewCover.getVisibility() != View.GONE) {
- mPreviewCover.setVisibility(View.GONE);
- }
}
@Override
@@ -1143,6 +1141,13 @@ public class PhotoUI implements PieListener,
mPreviewCover.setVisibility(View.VISIBLE);
}
+ public void hidePreviewCover() {
+ // Hide the preview cover if need.
+ if (mPreviewCover.getVisibility() != View.GONE) {
+ mPreviewCover.setVisibility(View.GONE);
+ }
+ }
+
public void onPause() {
cancelCountDown();
diff --git a/src/com/android/camera/VideoMenu.java b/src/com/android/camera/VideoMenu.java
index b8cb5a1fe..63d255715 100644
--- a/src/com/android/camera/VideoMenu.java
+++ b/src/com/android/camera/VideoMenu.java
@@ -460,9 +460,12 @@ public class VideoMenu extends MenuController
@Override
public void onClick(View v) {
addFilterMode();
- View view = mUI.getPreviewMenuLayout().getChildAt(0);
- mUI.adjustOrientation();
- animateSlideIn(view, previewMenuSize, false);
+ ViewGroup menuLayout = mUI.getPreviewMenuLayout();
+ if (menuLayout != null) {
+ View view = menuLayout.getChildAt(0);
+ mUI.adjustOrientation();
+ animateSlideIn(view, previewMenuSize, false);
+ }
}
});
}
@@ -699,7 +702,11 @@ public class VideoMenu extends MenuController
public void showUI() {
mFrontBackSwitcher.setVisibility(View.VISIBLE);
- mFilterModeSwitcher.setVisibility(View.VISIBLE);
+ final IconListPreference pref = (IconListPreference) mPreferenceGroup
+ .findPreference(CameraSettings.KEY_COLOR_EFFECT);
+ if (pref != null) {
+ mFilterModeSwitcher.setVisibility(View.VISIBLE);
+ }
}
@Override
diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java
index e200de1bd..75d3f221d 100644
--- a/src/com/android/camera/VideoModule.java
+++ b/src/com/android/camera/VideoModule.java
@@ -96,7 +96,7 @@ public class VideoModule implements CameraModule,
private static final int SCREEN_DELAY = 2 * 60 * 1000;
- private static final long SHUTTER_BUTTON_TIMEOUT = 500L; // 500ms
+ private static final long SHUTTER_BUTTON_TIMEOUT = 0L; // 0ms
/**
* An unpublished intent flag requesting to start recording straight away
@@ -688,12 +688,13 @@ public class VideoModule implements CameraModule,
if (isRecorderReady() == false)
return;
+ mUI.enableShutter(false);
+
if (stop) {
onStopVideoRecording();
} else {
startVideoRecording();
}
- mUI.enableShutter(false);
// Keep the shutter button disabled when in video capture intent
// mode and recording is stopped. It'll be re-enabled when
diff --git a/src/com/android/camera/VideoUI.java b/src/com/android/camera/VideoUI.java
index b70027a80..8362d0590 100644
--- a/src/com/android/camera/VideoUI.java
+++ b/src/com/android/camera/VideoUI.java
@@ -822,6 +822,11 @@ public class VideoUI implements PieRenderer.PieListener,
public void enableShutter(boolean enable) {
if (mShutterButton != null) {
+ if (enable) {
+ Log.v(TAG, "Shutter Button enabled !!");
+ } else {
+ Log.v(TAG, "Shutter Button disabled !!");
+ }
mShutterButton.setEnabled(enable);
}
}