[2.13.0-arch-opt] mofang view and status bar opt , pnvView add catch in enum

This commit is contained in:
zhongchao
2023-02-09 18:40:26 +08:00
parent fd2a92f8eb
commit 78849ef5d7
42 changed files with 70 additions and 516 deletions

View File

@@ -8,7 +8,7 @@ import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import com.mogo.eagle.core.data.mofang.MfConstants
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager.updateMfStatusView
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManager.invokeMoFangStatus
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_F
import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr
@@ -96,7 +96,7 @@ class MoFangManager private constructor() {
BluetoothDevice.ACTION_ACL_CONNECTED -> { //蓝牙设备已连接
if (!isMfConnect) {
// showBondedDevice(mBluetoothAdapter)
updateMfStatusView(TAG, true)
invokeMoFangStatus(true)
isMfConnect = true
mContext?.let { SharedPrefsMgr.getInstance(it).putBoolean(MfConstants.BLUETOOTH_STATUS, true) }
}
@@ -106,7 +106,7 @@ class MoFangManager private constructor() {
BluetoothDevice.ACTION_ACL_DISCONNECTED -> { //蓝牙设备已断开 主动更新
CallerLogger.d("$M_F${TAG}","bluetoothMonitorReceiver ACTION_ACL_DISCONNECTED ----- isMfConnect = $isMfConnect ")
if (isMfConnect) {
updateMfStatusView(TAG, false)
invokeMoFangStatus(false)
isMfConnect = false
mContext?.let { SharedPrefsMgr.getInstance(it).putBoolean(MfConstants.BLUETOOTH_STATUS, false) }
}

View File

@@ -80,18 +80,17 @@ dependencies {
if (Boolean.valueOf(USE_MAVEN_PACKAGE)) {
compileOnly rootProject.ext.dependencies.mogocommons
compileOnly rootProject.ext.dependencies.mogo_core_res
api rootProject.ext.dependencies.mogo_core_res
compileOnly rootProject.ext.dependencies.mogo_core_utils
compileOnly rootProject.ext.dependencies.mogo_core_function_datacenter
compileOnly rootProject.ext.dependencies.mogo_core_function_call
compileOnly project(':libraries:mogo-adas')
} else {
api project(':test:crashreport-upgrade')
api project(':test:crashreport-apmbyte')
compileOnly project(':core:function-impl:mogo-core-function-datacenter')
compileOnly project(':foudations:mogo-commons')
compileOnly project(':core:mogo-core-res')
api project(':core:mogo-core-res')
compileOnly project(':core:mogo-core-utils')
compileOnly project(':core:mogo-core-function-call')
compileOnly project(':libraries:mogo-adas')

View File

@@ -87,10 +87,6 @@ class MoGoHmiProvider : IMoGoHmiProvider {
)
}
override fun updateMfStatus(tag: String, status: Boolean) {
CallerHmiViewControlListenerManager.updateMfStatus(StatusBarView.TAG, tag, status)
}
/**
* 不展示顶部弹窗,其它保留
*/

View File

@@ -77,8 +77,11 @@ class PncActionsView @JvmOverloads constructor(
UiThreadHandler.post {
var actions: String? = null
planningActionMsg.actionMsg?.let { it ->
actions = PncActionsHelper.getAction(it.drivingState.number, it.drivingAction.number)
try {
actions = PncActionsHelper.getAction(it.drivingState.number, it.drivingAction.number)
} catch (e:Exception){
e.printStackTrace()
}
//如果是存在云端红绿灯数据条件下,设置云端数据
if (PncActionsHelper.isWaitingTrafficlight(it.drivingState.number, it.drivingAction.number)
&& mTrafficLightResult != null

View File

@@ -4,7 +4,13 @@ import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
import android.widget.RelativeLayout
import com.mogo.eagle.core.data.mofang.MfConstants
import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsListener
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManager
import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr
import kotlinx.android.synthetic.main.view_blue_tooth.view.*
import kotlinx.android.synthetic.main.view_status_bar.view.*
/**
* 魔戒蓝牙控件
@@ -14,10 +20,38 @@ class BlueToothView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : RelativeLayout(context, attrs, defStyleAttr) {
) : RelativeLayout(context, attrs, defStyleAttr),IMoGoDevaToolsListener {
companion object{
private const val TAG = "BlueToothView"
}
init {
LayoutInflater.from(context).inflate(R.layout.view_blue_tooth, this, true)
}
override fun onAttachedToWindow() {
super.onAttachedToWindow()
val isBluetoothConnect =
SharedPrefsMgr.getInstance(context).getBoolean(MfConstants.BLUETOOTH_STATUS, false)
if (isBluetoothConnect) {
mofangStatus(true)
}
CallerDevaToolsListenerManager.addListener(TAG, this)
}
override fun mofangStatus(status: Boolean) {
super.mofangStatus(status)
if (status) {
mofangView.setImageResource(R.drawable.icon_bluetooth_p)
} else {
mofangView.setImageResource(R.drawable.blue_tooth)
}
}
override fun onDetachedFromWindow() {
super.onDetachedFromWindow()
CallerDevaToolsListenerManager.removeListener(TAG)
}
}

View File

@@ -7,14 +7,12 @@ import android.view.LayoutInflater
import android.view.ViewGroup
import android.widget.LinearLayout
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.data.mofang.MfConstants
import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener
import com.mogo.eagle.core.function.api.setting.IMoGoSkinModeChangeListener
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager
import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager
import com.mogo.eagle.core.function.call.setting.CallerSkinModeListenerManager
import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr
import kotlinx.android.synthetic.main.view_status_bar.view.*
import java.util.concurrent.CopyOnWriteArrayList
@@ -39,11 +37,6 @@ class StatusBarView @JvmOverloads constructor(
override fun onAttachedToWindow() {
super.onAttachedToWindow()
viewStatusBarRight.addView(BatteryGroupView(this.context))
val isBluetoothConnect =
SharedPrefsMgr.getInstance(context).getBoolean(MfConstants.BLUETOOTH_STATUS, false)
if (isBluetoothConnect) {
updateMfStatus("MoFangManager", true)
}
//添加view控制
CallerHmiViewControlListenerManager.addListener(TAG,this)
@@ -106,14 +99,6 @@ class StatusBarView @JvmOverloads constructor(
}
}
override fun updateMfStatus(tag: String, status: Boolean) {
if (status) {
viewMofangStatus.setImageResource(R.drawable.icon_bluetooth_p)
} else {
viewMofangStatus.setImageResource(R.drawable.blue_tooth)
}
}
private fun setTextColor(color: Int) {
viewTextClock.setTextColor(color)
viewStatusBarTag.setTextColor(color)

View File

@@ -104,7 +104,7 @@ open class MainActivity : MvpActivity<MainView?, MainPresenter?>(), MainView,
decorView.clipToPadding = false
var statusBarView = decorView.findViewWithTag<View>("status_bar")
if (statusBarView == null) {
statusBarView = StatusBarView(this)
statusBarView = statusBar
statusBarView.setTag("status_bar")
}
val statusBarLP = FrameLayout.LayoutParams(
@@ -117,10 +117,10 @@ open class MainActivity : MvpActivity<MainView?, MainPresenter?>(), MainView,
}
/**
* 修改statusBar 重写实现,需要继承 StatusBarViewxml中基础系统控件不要修改其id拿来即用
* 修改statusBar重新赋值
* @return StatusBarView
*/
protected val statusBarView: StatusBarView
protected val statusBar: View
get() = StatusBarView(this)
override fun onCreate(savedInstanceState: Bundle?) {
@@ -353,30 +353,4 @@ open class MainActivity : MvpActivity<MainView?, MainPresenter?>(), MainView,
}
}
/**
* 由于应用是单页面的所以采用Fragment将各模块的UI进行分割解耦合
*
* @param newFragment 功能UI
* @param tagName UI绑定的Tag
* @param containerId 要加入的资源ID
*/
private fun addFragment(newFragment: Fragment, tagName: String, containerId: Int) {
var fragment = supportFragmentManager.findFragmentByTag(tagName)
if (fragment == null) {
fragment = newFragment
}
if (fragment == null) {
e(
SceneConstant.M_HMI + TAG,
"add fragment fail cause fragment == null, container is " + ResourcesHelper.getResNameById(
applicationContext, containerId
)
)
return
}
supportFragmentManager.beginTransaction()
.replace(containerId, fragment, tagName)
.commitAllowingStateLoss()
}
}

View File

@@ -55,14 +55,11 @@ public abstract class MainMoGoApplication extends AbsMogoApplication {
return;
}
start = System.currentTimeMillis();
connectAmiIp();
// Crash 日志收集
initCrashConfig();
initLogConfig();
initTipToast();
initModules();
//查询是否有版本的更新
queryAppUpgrade();
if (ProcessUtils.isMainProcess(this)) {
initOverviewDb();
if (DebugConfig.isDebug()) {
@@ -80,15 +77,6 @@ public abstract class MainMoGoApplication extends AbsMogoApplication {
return true;
}
private void queryAppUpgrade() {
UiThreadHandler.postDelayed(new Runnable() {
@Override
public void run() {
CallerDevaToolsManager.INSTANCE.queryAppUpgrade();
}
},9000);
}
@SuppressLint("SimpleDateFormat")
private void clearMessageBoxTable() {
new Thread(() -> {
@@ -197,14 +185,6 @@ public abstract class MainMoGoApplication extends AbsMogoApplication {
CallerFuncBizManager.getBizProvider().initOverViewDb(this);
}
/**
* 连接ami
*/
private void connectAmiIp() {
String ipAddress = SharedPrefsMgr.getInstance(AbsMogoApplication.getApp().getBaseContext()).getString(MoGoConfig.OBU_IP, "192.168.1.199");
// AmiClientManager.getInstance().setObuIp(ipAddress);
}
private void initModules() {
CallerLogger.INSTANCE.d(M_HMI + TAG, "initModules");
// OBU 模块

View File

@@ -5,10 +5,11 @@
android:layout_height="@dimen/dp_54">
<ImageView
android:scaleType="fitXY"
android:src="@drawable/blue_tooth"
android:id="@+id/mofangView"
android:layout_width="@dimen/dp_54"
android:layout_height="@dimen/dp_54"
android:scaleType="fitXY"
android:src="@drawable/blue_tooth"
tools:ignore="ContentDescription" />
</RelativeLayout>

View File

@@ -29,6 +29,7 @@
android:textColor="@color/color_2C2E30"
android:textSize="@dimen/dp_35" />
<!--Wifi状态-->
<com.mogo.eagle.core.function.hmi.ui.widget.WifiStateView
android:layout_width="@dimen/dp_54"
android:layout_height="@dimen/dp_54"
@@ -36,8 +37,7 @@
android:layout_marginStart="@dimen/dp_18" />
<!--魔方连接状态-->
<ImageView
android:id="@+id/viewMofangStatus"
<com.mogo.eagle.core.function.hmi.ui.widget.BlueToothView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/blue_tooth"

View File

@@ -114,7 +114,6 @@ class HttpDnsStartUp : AndroidStartup<Boolean>() {
// 设置是否是直播推流的主播
clientConfig.isAnchor = true
when (DebugConfig.getCarMachineType()) {
DebugConfig.CAR_MACHINE_TYPE_BYD -> clientConfig.thirdPartyAppKey = "bydauto"
DebugConfig.CAR_MACHINE_TYPE_LENOVO -> clientConfig.thirdPartyAppKey = "pfieouqg"
else -> clientConfig.thirdPartyAppKey = "wbvpzgar"
}
@@ -133,8 +132,6 @@ class HttpDnsStartUp : AndroidStartup<Boolean>() {
} else {
clientConfig.thirdPartyDeviceId = Utils.getDevicesId()
}
// 设置循环检测间隔时间每隔2小时loop一次httpDnsConfig
clientConfig.loopCheckDelay = (60 * 60 * 2 * 1000).toLong()
//设置长链接的secretKey //todo 通过SHA1和包名找中台服务生成后续包名分渠道,需要做对应操作
clientConfig.secretKey = "YMj2VFDFxJ3Q4gNoZceJ"