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); }