summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/camera/CameraActivity.java42
-rw-r--r--src/com/android/camera/PhotoModule.java2
-rwxr-xr-xsrc/com/android/camera/VideoModule.java4
3 files changed, 4 insertions, 44 deletions
diff --git a/src/com/android/camera/CameraActivity.java b/src/com/android/camera/CameraActivity.java
index 3458e8c4e..234c6a696 100644
--- a/src/com/android/camera/CameraActivity.java
+++ b/src/com/android/camera/CameraActivity.java
@@ -218,8 +218,6 @@ public class CameraActivity extends Activity
public static boolean mPowerShutter = false;
// Keep track of max brightness state
public static boolean mMaxBrightness = false;
- // This is a hack to speed up the start of SecureCamera.
- private static boolean sFirstStartAfterScreenOn = true;
private int mLastRawOrientation;
private MyOrientationEventListener mOrientationListener;
private Handler mMainHandler;
@@ -360,23 +358,6 @@ public class CameraActivity extends Activity
registerReceiver(mSDcardMountedReceiver, filter);
}
- // close activity when screen turns off
- private BroadcastReceiver mScreenOffReceiver = new BroadcastReceiver() {
- @Override
- public void onReceive(Context context, Intent intent) {
- finish();
- }
- };
-
- private static BroadcastReceiver sScreenOffReceiver;
-
- private static class ScreenOffReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- sFirstStartAfterScreenOn = true;
- }
- }
-
private class MainHandler extends Handler {
public MainHandler(Looper looper) {
super(looper);
@@ -399,10 +380,6 @@ public class CameraActivity extends Activity
mOnActionBarVisibilityListener = listener;
}
- public static boolean isFirstStartAfterScreenOn() {
- return sFirstStartAfterScreenOn;
- }
-
public static boolean isPieMenuEnabled() {
return PIE_MENU_ENABLED;
}
@@ -419,10 +396,6 @@ public class CameraActivity extends Activity
mDeveloperMenuEnabled = false;
}
- public static void resetFirstStartAfterScreenOn() {
- sFirstStartAfterScreenOn = false;
- }
-
private String fileNameFromDataID(int dataID) {
final LocalData localData = mDataAdapter.getLocalData(dataID);
@@ -1473,18 +1446,6 @@ public class CameraActivity extends Activity
Log.d(TAG, "acquire wake lock");
}
win.setAttributes(params);
-
- // Filter for screen off so that we can finish secure camera activity
- // when screen is off.
- IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_OFF);
- registerReceiver(mScreenOffReceiver, filter);
- // TODO: This static screen off event receiver is a workaround to the
- // double onResume() invocation (onResume->onPause->onResume). We should
- // find a better solution to this.
- if (sScreenOffReceiver == null) {
- sScreenOffReceiver = new ScreenOffReceiver();
- registerReceiver(sScreenOffReceiver, filter);
- }
}
GcamHelper.init(getContentResolver());
@@ -1829,9 +1790,6 @@ public class CameraActivity extends Activity
settingsMngr.destroyInstance();
}
if (mCursor != null) {
- if (mSecureCamera) {
- unregisterReceiver(mScreenOffReceiver);
- }
getContentResolver().unregisterContentObserver(mLocalImagesObserver);
getContentResolver().unregisterContentObserver(mLocalVideosObserver);
unregisterReceiver(mSDcardMountedReceiver);
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java
index 6ec88ffc9..26a321094 100644
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -2794,7 +2794,7 @@ public class PhotoModule
mCameraDevice.setFaceDetectionCallback(null, null);
mCameraDevice.setErrorCallback(null);
- if (mActivity.isSecureCamera() && !CameraActivity.isFirstStartAfterScreenOn()) {
+ if (mActivity.isSecureCamera()) {
// Blocks until camera is actually released.
CameraHolder.instance().strongRelease();
} else {
diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java
index 25a77ee2b..11176641a 100755
--- a/src/com/android/camera/VideoModule.java
+++ b/src/com/android/camera/VideoModule.java
@@ -422,7 +422,8 @@ public class VideoModule implements CameraModule,
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
- if (action.equals(Intent.ACTION_MEDIA_EJECT)) {
+ if (action.equals(Intent.ACTION_MEDIA_EJECT) ||
+ action.equals(Intent.ACTION_SCREEN_OFF)) {
stopVideoRecording();
RotateTextToast.makeText(mActivity,
mActivity.getResources().getString(R.string.video_recording_stopped),
@@ -1151,6 +1152,7 @@ public class VideoModule implements CameraModule,
// install an intent filter to receive SD card related events.
IntentFilter intentFilter =
new IntentFilter(Intent.ACTION_MEDIA_EJECT);
+ intentFilter.addAction(Intent.ACTION_SCREEN_OFF);
intentFilter.addAction(Intent.ACTION_MEDIA_SCANNER_STARTED);
intentFilter.addDataScheme("file");
mReceiver = new MyBroadcastReceiver();