diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 8ecf3ef2..c44fcf96 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -54,6 +54,7 @@
+
diff --git a/app/src/main/java/com/xypower/mpapp/MainActivity.java b/app/src/main/java/com/xypower/mpapp/MainActivity.java
index 9460b2d4..8332f9b5 100644
--- a/app/src/main/java/com/xypower/mpapp/MainActivity.java
+++ b/app/src/main/java/com/xypower/mpapp/MainActivity.java
@@ -1,6 +1,8 @@
package com.xypower.mpapp;
import android.Manifest;
+import android.app.Activity;
+import android.app.KeyguardManager;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
diff --git a/app/src/main/java/com/xypower/mpapp/v2/Camera2VideoActivity.java b/app/src/main/java/com/xypower/mpapp/v2/Camera2VideoActivity.java
index 57f7697e..ea8c82bc 100644
--- a/app/src/main/java/com/xypower/mpapp/v2/Camera2VideoActivity.java
+++ b/app/src/main/java/com/xypower/mpapp/v2/Camera2VideoActivity.java
@@ -179,7 +179,20 @@ public class Camera2VideoActivity extends AppCompatActivity {
requestWindowFeature(Window.FEATURE_NO_TITLE);
Window win = getWindow();
- win.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
+ int flags = /*WindowManager.LayoutParams.FLAG_FULLSCREEN
+ | */WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
+ | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
+ | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
+ | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD;
+ int mask = /*WindowManager.LayoutParams.FLAG_FULLSCREEN |
+ | */WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
+ | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
+ | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
+ | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD;
+ win.setFlags(flags, mask);
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {
+ setShowWhenLocked(true);
+ }
setContentView(R.layout.activity_camera2_video);
@@ -303,13 +316,6 @@ public class Camera2VideoActivity extends AppCompatActivity {
mHandler = new Handler();
- // getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
- }
-
- @Override
- protected void onResume() {
- super.onResume();
- Log.i("OSD", "onResume");
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
@@ -319,12 +325,24 @@ public class Camera2VideoActivity extends AppCompatActivity {
@Override
public void run() {
mNextVideoAbsolutePath = getVideoFilePath();
- mGPUCameraRecorder.start(mNextVideoAbsolutePath);
+ if (mGPUCameraRecorder != null) {
+ mGPUCameraRecorder.start(mNextVideoAbsolutePath);
+ } else {
+ int aa = 0;
+ }
}
}, 0);
}
}, 100);
+ // getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ Log.i("OSD", "onResume");
+
}
@Override
@@ -332,7 +350,7 @@ public class Camera2VideoActivity extends AppCompatActivity {
super.onStop();
Log.i("OSD", "onStop");
- // releaseCamera();
+
}
@Override
@@ -535,7 +553,7 @@ public class Camera2VideoActivity extends AppCompatActivity {
int statusHeight = mStatusBarHeight;
Canvas canvas = new Canvas(bm);
- boolean aa = canvas.isHardwareAccelerated();
+ // boolean aa = canvas.isHardwareAccelerated();
Rect textBounds = new Rect();
canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
@@ -611,6 +629,7 @@ public class Camera2VideoActivity extends AppCompatActivity {
mGPUCameraRecorder.stop();
mGPUCameraRecorder.release();
mGPUCameraRecorder = null;
+ Log.i("OSD", "mGPUCameraRecorder destroyed");
}
if (mPreviewView != null) {
@@ -658,8 +677,6 @@ public class Camera2VideoActivity extends AppCompatActivity {
@Override
public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
-
-
int width = right - left;
int height = bottom - top;
@@ -721,13 +738,11 @@ public class Camera2VideoActivity extends AppCompatActivity {
.cameraRecordListener(new CameraRecordListener() {
@Override
public void onGetFlashSupport(boolean flashSupport) {
-
}
@Override
public void onRecordComplete() {
// mHandler.removeCallbacks(mTimerRunnable);
-
}
@Override
@@ -742,7 +757,6 @@ public class Camera2VideoActivity extends AppCompatActivity {
int aa = 0;
}
}, 1200L + mDuration * 1000);
-
}
@Override
@@ -771,7 +785,6 @@ public class Camera2VideoActivity extends AppCompatActivity {
@Override
public void onDurationArrived() {
-
}
})
.videoSize(mVideoWidth, mVideoHeight)
@@ -781,6 +794,7 @@ public class Camera2VideoActivity extends AppCompatActivity {
.duration(mDuration * 1000)
.build();
+ Log.i("OSD", "mGPUCameraRecorder created");
if (mOSDFilter != null) {
mGPUCameraRecorder.setFilter(mOSDFilter);
}