diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaPlayerActivity.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaPlayerActivity.kt index 11e0ab9edb..3687df24a3 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaPlayerActivity.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaPlayerActivity.kt @@ -1,12 +1,26 @@ package com.mogo.och.common.module.wigets.media +import android.Manifest +import android.app.ActivityOptions +import android.content.Intent +import android.content.pm.PackageManager import android.os.Bundle +import android.provider.Settings +import android.view.Display import androidx.appcompat.app.AppCompatActivity +import androidx.core.content.ContextCompat +import com.mogo.eagle.core.function.main.MainLauncherActivity +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.i +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant +import com.mogo.eagle.core.utilcode.util.ActivityUtils import com.mogo.eagle.core.utilcode.util.BarUtils import com.mogo.och.common.module.R +import com.mogo.och.common.module.utils.RxUtils class MediaPlayerActivity : AppCompatActivity() { + private val TAG = "MediaPlayerActivity" + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_video_player) @@ -15,4 +29,74 @@ class MediaPlayerActivity : AppCompatActivity() { .commitAllowingStateLoss() BarUtils.hideStatusBarAndSticky(this.window) } + + override fun onStart() { + super.onStart() + i(SceneConstant.M_BUS_P + TAG, "onResume") + } + + override fun onResume() { + super.onResume() + i(SceneConstant.M_BUS_P + TAG, "onResume") + checkPermissionSelf() + } + + override fun onPause() { + super.onPause() + i(SceneConstant.M_BUS_P + TAG, "onResume") + } + + override fun onStop() { + super.onStop() + i(SceneConstant.M_BUS_P + TAG, "onResume") + } + + fun checkPermissionSelf(){ + i(SceneConstant.M_BUS_P + TAG, "checkPermissionSelf") + val isAllGranted: Boolean = checkPermissionAllGranted( + arrayOf( + Manifest.permission.RECORD_AUDIO, // Manifest.permission.CAMERA, + Manifest.permission.BLUETOOTH, + Manifest.permission.READ_EXTERNAL_STORAGE, + Manifest.permission.WRITE_EXTERNAL_STORAGE, + Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS, + Manifest.permission.ACCESS_FINE_LOCATION + ) + ) + if (isAllGranted&&Settings.canDrawOverlays(this)) { + restartActivity() + return + } + RxUtils.createSubscribe { + checkPermissionSelf() + } + } + + fun restartActivity(){ + val activityList = ActivityUtils.getActivityList() + activityList.forEach { + if (it is MainLauncherActivity) { + i(SceneConstant.M_BUS_P + TAG, "restartActivity") + val options = ActivityOptions.makeBasic() + options.launchDisplayId = Display.INVALID_DISPLAY + val intent = Intent(this, MainLauncherActivity::class.java) + startActivity(intent, options.toBundle()) + } + } + } + + private fun checkPermissionAllGranted(permissions: Array): Boolean { + for (permission in permissions) { + if (ContextCompat.checkSelfPermission( + this, + permission + ) != PackageManager.PERMISSION_GRANTED + ) { + // 只要有一个权限没有被授予, 则直接返回 false + return false + } + } + return true + } + } \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaPlayerFragment.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaPlayerFragment.kt index e6b8e3fd7a..bd51e3d55f 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaPlayerFragment.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaPlayerFragment.kt @@ -57,7 +57,7 @@ class MediaPlayerFragment : override fun onPause() { super.onPause() - imageVideoRotationView.setPause() + //imageVideoRotationView.setPause() } override fun onResume() { diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java index a01eeb46aa..95c1f2e217 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java @@ -59,6 +59,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis protected void onResume() { super.onResume(); //ActivityUtils.setDefaultL(this); + CallerLogger.i(M_HMI + TAG, "onResume"); } @Override @@ -78,12 +79,14 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis @Override protected void onPause() { super.onPause(); + CallerLogger.i(M_HMI + TAG, "onPause"); mIsHomeKeyDown = false; } @Override protected void onStop() { super.onStop(); + CallerLogger.i(M_HMI + TAG, "onStop"); IntentManager.getInstance().unregisterIntentListener(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, this); //ActivityLifecycleManager.getInstance().setAppActive(false); } @@ -161,6 +164,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis @Override protected void onDestroy() { super.onDestroy(); + CallerLogger.i(M_HMI + TAG, "onDestroy"); stopCountDown(); try { // acc off 之后会出现进程还在,但是页面被杀的情况,这个直接杀掉进程,然后让整个进程重启 @@ -182,6 +186,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis @Override public boolean onKeyDown(int keyCode, KeyEvent event) { + CallerLogger.i(M_HMI + TAG, "onKeyDown"); long currentTimeMillis = System.currentTimeMillis(); if (keyCode == KeyEvent.KEYCODE_BACK) { if (currentTimeMillis - lastKeyDownTimeMillis < 2000) {