diff options
author | Camera Software Integration <camswint@localhost> | 2016-12-11 04:23:00 -0800 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-12-11 04:23:00 -0800 |
commit | 1e8e52e5de1725d47101157b2328cbd76e9d9a83 (patch) | |
tree | fbf929c1935c06542d4b25ad416a301e1d83f7d8 | |
parent | 569601c90974cbd8f5f149eb1bf670d91add7d82 (diff) | |
parent | 9a351414d4e634f09313ca27c286d919b1b43636 (diff) | |
download | android_packages_apps_Snap-1e8e52e5de1725d47101157b2328cbd76e9d9a83.tar.gz android_packages_apps_Snap-1e8e52e5de1725d47101157b2328cbd76e9d9a83.tar.bz2 android_packages_apps_Snap-1e8e52e5de1725d47101157b2328cbd76e9d9a83.zip |
Merge "SnapdragonCamera: Keep screen on when recording the video" into camera.lnx.1.0-dev.1.0
-rwxr-xr-x | src/com/android/camera/CaptureModule.java | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java index a6238a810..2b363dbfe 100755 --- a/src/com/android/camera/CaptureModule.java +++ b/src/com/android/camera/CaptureModule.java @@ -72,6 +72,7 @@ import android.view.OrientationEventListener; import android.view.Surface; import android.view.SurfaceHolder; import android.view.View; +import android.view.WindowManager; import android.widget.Toast; import com.android.camera.exif.ExifInterface; @@ -168,6 +169,8 @@ public class CaptureModule implements CameraModule, PhotoController, private static final int NORMAL_SESSION_MAX_FPS = 60; + private static final int SCREEN_DELAY = 2 * 60 * 1000; + MeteringRectangle[][] mAFRegions = new MeteringRectangle[MAX_NUM_CAM][]; MeteringRectangle[][] mAERegions = new MeteringRectangle[MAX_NUM_CAM][]; CaptureRequest.Key<Byte> BayerMonoLinkEnableKey = @@ -289,6 +292,7 @@ public class CaptureModule implements CameraModule, PhotoController, private int mTimeBetweenTimeLapseFrameCaptureMs = 0; private boolean mCaptureTimeLapse = false; private CamcorderProfile mProfile; + private static final int CLEAR_SCREEN_DELAY = 4; private static final int UPDATE_RECORD_TIME = 5; private ContentValues mCurrentVideoValues; private String mVideoFilename; @@ -1897,6 +1901,7 @@ public class CaptureModule implements CameraModule, PhotoController, if (selfieThread != null) { selfieThread.interrupt(); } + resetScreenOn(); mUI.stopSelfieFlash(); } @@ -2679,6 +2684,7 @@ public class CaptureModule implements CameraModule, PhotoController, mUI.enableShutter(false); mUI.showRecordingUI(true, true); updateRecordingTime(); + keepScreenOn(); } @Override @@ -2710,6 +2716,7 @@ public class CaptureModule implements CameraModule, PhotoController, mRecordingStartTime = SystemClock.uptimeMillis(); mUI.showRecordingUI(true, false); updateRecordingTime(); + keepScreenOn(); } @Override @@ -2915,7 +2922,7 @@ public class CaptureModule implements CameraModule, PhotoController, if (shouldAddToMediaStoreNow) { saveVideo(); } - + keepScreenOnAwhile(); // release media recorder releaseMediaRecorder(); releaseAudioFocus(); @@ -3932,6 +3939,11 @@ public class CaptureModule implements CameraModule, PhotoController, @Override public void handleMessage(Message msg) { switch (msg.what) { + case CLEAR_SCREEN_DELAY: { + mActivity.getWindow().clearFlags( + WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); + break; + } case UPDATE_RECORD_TIME: { updateRecordingTime(); break; @@ -4030,4 +4042,20 @@ public class CaptureModule implements CameraModule, PhotoController, mToast.setText(tips); mToast.show(); } + + private void resetScreenOn() { + mHandler.removeMessages(CLEAR_SCREEN_DELAY); + mActivity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); + } + + private void keepScreenOnAwhile() { + mHandler.removeMessages(CLEAR_SCREEN_DELAY); + mActivity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); + mHandler.sendEmptyMessageDelayed(CLEAR_SCREEN_DELAY, SCREEN_DELAY); + } + + private void keepScreenOn() { + mHandler.removeMessages(CLEAR_SCREEN_DELAY); + mActivity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); + } } |