[8.3.0] 司乘屏国际化自动修改功能,暂时未完成,因为乘客屏与当前国家化功能dpi存在冲突,会导致乘客屏UI大小错乱,暂时无法解决

This commit is contained in:
xinfengkun
2025-12-18 14:12:52 +08:00
parent 7eb1520e25
commit eeec0520d0
5 changed files with 193 additions and 0 deletions

View File

@@ -18,6 +18,7 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.BaseAdapter
import android.widget.RadioGroup
import android.widget.TextView
import androidx.annotation.RequiresApi
import androidx.appcompat.widget.ListPopupWindow
@@ -36,6 +37,7 @@ import com.mogo.commons.constants.SharedPrefsConstants
import com.mogo.commons.debug.DebugConfig
import com.mogo.commons.module.status.MogoStatusManager
import com.mogo.commons.storage.SharedPrefsMgr
import com.mogo.commons.utils.LocaleHelper
import com.mogo.commons.voice.AIAssist
import com.mogo.eagle.core.data.app.AppConfigInfo
import com.mogo.eagle.core.data.config.FunctionBuildConfig
@@ -161,6 +163,9 @@ import kotlinx.android.synthetic.main.view_debug_setting.view.btnEnsureMap
import kotlinx.android.synthetic.main.view_debug_setting.view.btnFmd
import kotlinx.android.synthetic.main.view_debug_setting.view.btnHdVisualAdjust
import kotlinx.android.synthetic.main.view_debug_setting.view.btnIpcReboot
import kotlinx.android.synthetic.main.view_debug_setting.view.btnLanguageChinese
import kotlinx.android.synthetic.main.view_debug_setting.view.btnLanguageEnglish
import kotlinx.android.synthetic.main.view_debug_setting.view.btnLanguageFollowSystem
import kotlinx.android.synthetic.main.view_debug_setting.view.btnPassengerReboot
import kotlinx.android.synthetic.main.view_debug_setting.view.btnPointCloudColor
import kotlinx.android.synthetic.main.view_debug_setting.view.btnPointCloudSize
@@ -217,6 +222,7 @@ import kotlinx.android.synthetic.main.view_debug_setting.view.etThreshold
import kotlinx.android.synthetic.main.view_debug_setting.view.exportAllLogs
import kotlinx.android.synthetic.main.view_debug_setting.view.hdMapControllerLayout
import kotlinx.android.synthetic.main.view_debug_setting.view.hmiControllerLayout
import kotlinx.android.synthetic.main.view_debug_setting.view.layoutLanguage
import kotlinx.android.synthetic.main.view_debug_setting.view.logLoadingView
import kotlinx.android.synthetic.main.view_debug_setting.view.logcatCenterLayout
import kotlinx.android.synthetic.main.view_debug_setting.view.obuConnectStatusTv
@@ -224,6 +230,7 @@ import kotlinx.android.synthetic.main.view_debug_setting.view.obuControllerLayou
import kotlinx.android.synthetic.main.view_debug_setting.view.reportMsgLayout
import kotlinx.android.synthetic.main.view_debug_setting.view.reset_changesight
import kotlinx.android.synthetic.main.view_debug_setting.view.rgGpsProvider
import kotlinx.android.synthetic.main.view_debug_setting.view.rgLanguage
import kotlinx.android.synthetic.main.view_debug_setting.view.statusCenterLayout
import kotlinx.android.synthetic.main.view_debug_setting.view.swDevelopMode
import kotlinx.android.synthetic.main.view_debug_setting.view.tbADASLog
@@ -252,6 +259,7 @@ import kotlinx.android.synthetic.main.view_debug_setting.view.tbIsDrawPath
import kotlinx.android.synthetic.main.view_debug_setting.view.tbIsDrawUnknownIdentifyData
import kotlinx.android.synthetic.main.view_debug_setting.view.tbIsRainMode
import kotlinx.android.synthetic.main.view_debug_setting.view.tbIsStrictMode
import kotlinx.android.synthetic.main.view_debug_setting.view.tbLanguage
import kotlinx.android.synthetic.main.view_debug_setting.view.tbLogCatch
import kotlinx.android.synthetic.main.view_debug_setting.view.tbLogcatCenter
import kotlinx.android.synthetic.main.view_debug_setting.view.tbNetLog
@@ -859,6 +867,50 @@ internal class DebugSettingView @JvmOverloads constructor(
ActivityUtils.startActivity(AutopilotCheckAct::class.java)
}
when (LocaleHelper.getLanguage(AbsMogoApplication.getApp())) {
LocaleHelper.LANGUAGE_FOLLOW_SYSTEM -> {
rgLanguage.check(R.id.btnLanguageFollowSystem)
}
LocaleHelper.LANGUAGE_CHINESE -> {
rgLanguage.check(R.id.btnLanguageChinese)
}
LocaleHelper.LANGUAGE_ENGLISH -> {
rgLanguage.check(R.id.btnLanguageEnglish)
}
else -> {}
}
/**
* 语言
*/
tbLanguage.setOnCheckedChangeListener { buttonView, isChecked ->
if (isChecked) {
buttonView.setCompoundDrawables(null, null, iconDown, null)
//展示调试中心
layoutLanguage.visibility = View.VISIBLE
} else {
buttonView.setCompoundDrawables(null, null, iconRight, null)
//隐藏日志中心
layoutLanguage.visibility = View.GONE
}
}
rgLanguage.setOnCheckedChangeListener(RadioGroup.OnCheckedChangeListener { group, checkedId ->
when (checkedId) {
R.id.btnLanguageFollowSystem -> {
LocaleHelper.setLocale(AbsMogoApplication.getApp(), LocaleHelper.LANGUAGE_FOLLOW_SYSTEM)
}
R.id.btnLanguageChinese -> {
LocaleHelper.setLocale(AbsMogoApplication.getApp(), LocaleHelper.LANGUAGE_CHINESE)
}
R.id.btnLanguageEnglish -> {
LocaleHelper.setLocale(AbsMogoApplication.getApp(), LocaleHelper.LANGUAGE_ENGLISH)
}
}
})
/**
* 日志中心
*/

View File

@@ -1,6 +1,7 @@
package com.mogo.eagle.core.function.main
import android.Manifest
import android.content.Context
import android.content.Intent
import android.content.pm.PackageManager
import android.net.Uri
@@ -23,6 +24,7 @@ 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.LocaleHelper
import com.mogo.commons.utils.MogoAnalyticUtils
import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo
import com.mogo.eagle.core.data.deva.chain.ChainConstant
@@ -95,6 +97,11 @@ open class MainActivity : MvpActivity<MainView?, MainPresenter?>(), MainView,
PermissionsDialogUtils.openAppDetails(this, StringUtils.getString(R.string.module_core_show_pop_window), REQUEST_CODE_DIALOG)
}
// override fun attachBaseContext(newBase: Context) {
// super.attachBaseContext(LocaleHelper.onAttach(newBase))
// }
// todo 优化 车聊聊
private fun injectFloatView() {
val decorView = this.window.decorView as? FrameLayout ?: return

View File

@@ -233,6 +233,67 @@
android:layout_height="1dp"
android:background="#F0F0F0" />
<ToggleButton
android:id="@+id/tbLanguage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/dp_10"
android:background="@drawable/radio_button_normal_background_right"
android:drawableEnd="@drawable/icon_right"
android:padding="@dimen/dp_20"
android:textOff="语言"
android:textOn="语言"
android:textSize="@dimen/dp_24" />
<LinearLayout
android:id="@+id/layoutLanguage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="@dimen/dp_20"
android:visibility="gone"
tools:visibility="visible">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:text="选中跟随系统时,在系统设置中修改系统语言后必须手动重启鹰眼才能够生效"
android:textSize="@dimen/dp_22" />
<RadioGroup
android:id="@+id/rgLanguage"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RadioButton
android:id="@+id/btnLanguageFollowSystem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="@dimen/dp_20"
android:text="跟随系统"
android:textSize="@dimen/dp_24" />
<RadioButton
android:id="@+id/btnLanguageChinese"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="@dimen/dp_20"
android:text="简体中文"
android:textSize="@dimen/dp_24" />
<RadioButton
android:id="@+id/btnLanguageEnglish"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="@dimen/dp_20"
android:text="English"
android:textAllCaps="false"
android:textSize="@dimen/dp_24" />
</RadioGroup>
</LinearLayout>
<ToggleButton
android:id="@+id/tbIsStrictMode"
android:layout_width="match_parent"