[3.4.0] add func of setting of tacip

This commit is contained in:
zhongchao
2023-07-20 14:12:14 +08:00
parent 52e06ded88
commit 512cdd77b4
18 changed files with 411 additions and 51 deletions

View File

@@ -1,33 +1,37 @@
package com.mogo.eagle.core.function.main
import android.Manifest
import android.content.Intent
import android.content.pm.PackageManager
import android.net.Uri
import android.os.Build
import android.os.Bundle
import android.provider.Settings
import android.view.Gravity
import android.view.View
import android.view.ViewGroup
import android.view.*
import android.widget.FrameLayout
import androidx.core.app.ActivityCompat
import androidx.recyclerview.widget.LinearLayoutManager
import com.kwai.koom.base.MonitorManager.addMonitorConfig
import com.kwai.koom.nativeoom.leakmonitor.LeakListener
import com.kwai.koom.nativeoom.leakmonitor.LeakMonitor.start
import com.kwai.koom.nativeoom.leakmonitor.LeakMonitorConfig
import com.kwai.koom.nativeoom.leakmonitor.LeakRecord
import com.mogo.commons.utils.MogoAnalyticUtils
import com.mogo.commons.context.ContextHolderUtil
import com.mogo.commons.debug.DebugConfig
import com.mogo.commons.module.status.MogoStatusManager
import com.mogo.commons.mvp.MvpActivity
import com.mogo.commons.utils.MogoAnalyticUtils
import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo
import com.mogo.eagle.core.data.config.HdMapBuildConfig
import com.mogo.eagle.core.data.deva.chain.ChainConstant
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
import com.mogo.eagle.core.function.api.setting.IMoGoRequestActivityHandler
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager
import com.mogo.eagle.core.function.call.hmi.CallerHmiFloatViewManager
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager.getMapUIController
import com.mogo.eagle.core.function.call.setting.CallerRequestActivityHandleManager
import com.mogo.eagle.core.function.call.startup.CallerStartUpManager.initStageTwo
import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.function.hmi.ui.widget.StatusBarView
@@ -47,6 +51,7 @@ import com.mogo.map.uicontroller.EnumMapUI
import com.zhjt.service.chain.ChainLog
import kotlinx.android.synthetic.main.module_main_activity_main.*
/**
* @author congtaowang
* @since 2019-12-23
@@ -55,7 +60,7 @@ import kotlinx.android.synthetic.main.module_main_activity_main.*
* 描述:加载各个模块
*/
open class MainActivity : MvpActivity<MainView?, MainPresenter?>(), MainView,
IMoGoAutopilotStatusListener {
IMoGoAutopilotStatusListener, IMoGoRequestActivityHandler {
companion object {
protected const val TAG = "MainActivity"
@@ -92,13 +97,14 @@ open class MainActivity : MvpActivity<MainView?, MainPresenter?>(), MainView,
private fun injectStatusBar() {
val decorView = this.window.decorView as? FrameLayout ?: return
val contentView =
(decorView.findViewById<View>(android.R.id.content) as? ViewGroup)?.getChildAt(0) ?: return
(decorView.findViewById<View>(android.R.id.content) as? ViewGroup)?.getChildAt(0)
?: return
contentView.fitsSystemWindows = false
decorView.clipToPadding = false
var statusBarView = decorView.findViewWithTag<View>("status_bar")
if (statusBarView == null) {
val statusBar = CallerHmiFloatViewManager.getView(this)
statusBarView = statusBar?:StatusBarView(this)
statusBarView = statusBar ?: StatusBarView(this)
statusBarView.setTag("status_bar")
}
val statusBarLP = FrameLayout.LayoutParams(
@@ -115,7 +121,8 @@ open class MainActivity : MvpActivity<MainView?, MainPresenter?>(), MainView,
private fun injectFloatView() {
val decorView = this.window.decorView as? FrameLayout ?: return
val contentView =
(decorView.findViewById<View>(android.R.id.content) as? ViewGroup)?.getChildAt(0) ?: return
(decorView.findViewById<View>(android.R.id.content) as? ViewGroup)?.getChildAt(0)
?: return
contentView.fitsSystemWindows = false
decorView.clipToPadding = false
var floatContainer = decorView.findViewWithTag<View>("float_container")
@@ -137,6 +144,7 @@ open class MainActivity : MvpActivity<MainView?, MainPresenter?>(), MainView,
ContextHolderUtil.holdContext(this)
// 监听工控机连接信息
CallerAutoPilotStatusListenerManager.addListener(TAG, this)
CallerRequestActivityHandleManager.addListener(TAG, this)
initStageTwo()
// 加载模块
mPresenter!!.postLoadModuleMsg()
@@ -197,7 +205,7 @@ open class MainActivity : MvpActivity<MainView?, MainPresenter?>(), MainView,
override fun onMapLoaded() {
// 延时加载其他模块
window.decorView.post {
MogoStatusManager.getInstance().setScreenCoverMode(TAG,true)
MogoStatusManager.getInstance().setScreenCoverMode(TAG, true)
HdMapBuildConfig.isMapLoaded = true
mPresenter!!.delayOperations()
loadFunctionFragment()
@@ -324,6 +332,7 @@ open class MainActivity : MvpActivity<MainView?, MainPresenter?>(), MainView,
override fun onDestroy() {
super.onDestroy()
CallerAutoPilotStatusListenerManager.removeListener(TAG)
CallerRequestActivityHandleManager.removeListener(TAG)
mogoMapListenerHandler.unregisterHostMapListener(TAG)
val mapUIController = getMapUIController()
mapUIController?.destroy()
@@ -335,6 +344,19 @@ open class MainActivity : MvpActivity<MainView?, MainPresenter?>(), MainView,
ProcessUtils.killAllBackgroundProcesses()
}
@ChainLog(
linkChainLog = ChainConstant.CHAIN_TYPE_INIT_STATUS,
linkCode = ChainConstant.CHAIN_SOURCE_INIT,
nodeAliasCode = ChainConstant.CHAIN_CODE_REQUEST_PERMISSION,
paramIndexes = [0, 1]
)
override fun handleRequestPermission(tag: String, permission: String) {
super.handleRequestPermission(tag, permission)
val intent = Intent(permission, Uri.parse("package:$packageName"))
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
startActivity(intent)
}
override fun onRequestPermissionsResult(
requestCode: Int,
permissions: Array<String>,