[8.2.6][] 调试窗添加重启乘客屏功能
This commit is contained in:
@@ -38,6 +38,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.util.AppStateManager
|
||||
import com.mogo.eagle.core.utilcode.util.GsonUtils
|
||||
import com.mogo.eagle.core.utilcode.util.RebootUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.telematic.MogoProtocolMsg
|
||||
@@ -394,6 +395,14 @@ class TeleMsgHandler : IMsgHandler {
|
||||
}
|
||||
CallerTelematicListenerManager.dispatchB2DemoMode(value)
|
||||
}
|
||||
TelematicConstant.PASSENGER_APP_REBOOT -> {
|
||||
Log.i("xfk","乘客端收到司机端下发的重启命令")
|
||||
CallerTelematicManager.sendMsgToServer(
|
||||
TelematicConstant.PASSENGER_APP_REBOOT,
|
||||
"".toByteArray()
|
||||
)
|
||||
RebootUtils.restartApp()
|
||||
}
|
||||
|
||||
TelematicConstant.SHOW_TRAFFIC_LIGHT -> {
|
||||
val trafficLightJson = String(it.body)
|
||||
@@ -508,7 +517,9 @@ class TeleMsgHandler : IMsgHandler {
|
||||
// 来自客户端的响应
|
||||
CallerTelematicListenerManager.invokeReceivedMsg(TelematicConstant.DRIVE_SEAT_VIDEO_STREAM_RSP, it.body)
|
||||
}
|
||||
|
||||
TelematicConstant.PASSENGER_APP_REBOOT -> {
|
||||
ToastUtils.showLong("乘客屏已收到重启命令")
|
||||
}
|
||||
else -> {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,6 @@ import android.os.Process
|
||||
import android.text.Html
|
||||
import android.text.TextUtils
|
||||
import android.util.AttributeSet
|
||||
import android.util.Log
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
@@ -123,6 +122,7 @@ import com.mogo.eagle.core.utilcode.util.DeviceUtils
|
||||
import com.mogo.eagle.core.utilcode.util.FileUtils
|
||||
import com.mogo.eagle.core.utilcode.util.KeyboardUtils
|
||||
import com.mogo.eagle.core.utilcode.util.NetworkUtils
|
||||
import com.mogo.eagle.core.utilcode.util.RebootUtils
|
||||
import com.mogo.eagle.core.utilcode.util.SPUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ScreenUtils
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
@@ -161,6 +161,7 @@ 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.btnPassengerReboot
|
||||
import kotlinx.android.synthetic.main.view_debug_setting.view.btnPointCloudColor
|
||||
import kotlinx.android.synthetic.main.view_debug_setting.view.btnPointCloudSize
|
||||
import kotlinx.android.synthetic.main.view_debug_setting.view.btnRecordBag
|
||||
@@ -1133,6 +1134,16 @@ internal class DebugSettingView @JvmOverloads constructor(
|
||||
btnAppReboot.onClick {
|
||||
killApp()
|
||||
}
|
||||
btnPassengerReboot.onClick {
|
||||
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
|
||||
CallerTelematicManager.sendMsgToAllClients(
|
||||
TelematicConstant.PASSENGER_APP_REBOOT,
|
||||
"".toByteArray()
|
||||
)
|
||||
} else {
|
||||
RebootUtils.restartApp()
|
||||
}
|
||||
}
|
||||
//只在司机端设置工控机节点重启功能
|
||||
if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) {
|
||||
btnIpcReboot.visibility = View.GONE
|
||||
|
||||
@@ -333,7 +333,15 @@
|
||||
android:text="杀死APP"
|
||||
android:padding="@dimen/dp_20"
|
||||
android:textSize="@dimen/dp_24" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/btnPassengerReboot"
|
||||
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:text="重启乘客屏"
|
||||
android:padding="@dimen/dp_20"
|
||||
android:textSize="@dimen/dp_24" />
|
||||
<ToggleButton
|
||||
android:id="@+id/tbDeviceBind"
|
||||
android:layout_width="match_parent"
|
||||
|
||||
@@ -15,6 +15,7 @@ class TelematicConstant {
|
||||
const val WEATHER_SWITCH_STATUS = 107 // 司机屏的天气效果开关发给乘客端
|
||||
const val CONTROL_PASSENGER_AI_SWITCH = 108
|
||||
const val CONTROL_B2_PRETTIFY_SWITCH = 109
|
||||
const val PASSENGER_APP_REBOOT = 110//重启乘客屏APP
|
||||
|
||||
const val OBU_RUNREDLIGHT_WARNING = 200 //闯红灯预警开关
|
||||
const val OBU_GREENWAVE_WARNING = 201 //绿波通行开关
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.mogo.eagle.core.utilcode.util;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.AlarmManager;
|
||||
import android.app.PendingIntent;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Build;
|
||||
|
||||
public class RebootUtils {
|
||||
public static void restartApp() {
|
||||
try {
|
||||
Activity activity = AppStateManager.INSTANCE.currentActivity();
|
||||
if (activity != null) {
|
||||
Intent intent = new Intent();
|
||||
intent.setClassName(activity.getPackageName(), "com.mogo.eagle.core.function.main.MainLauncherActivity");
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
|
||||
PendingIntent pending = PendingIntent.getActivity(activity.getApplicationContext(), 12345, intent, Build.VERSION.SDK_INT >= Build.VERSION_CODES.S ? PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_IMMUTABLE : PendingIntent.FLAG_CANCEL_CURRENT);
|
||||
AlarmManager am = (AlarmManager) activity.getSystemService(Context.ALARM_SERVICE);
|
||||
long triggerAt = System.currentTimeMillis() + 200; // 200ms 后启动
|
||||
if (am != null) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
am.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, triggerAt, pending);
|
||||
} else {
|
||||
am.setExact(AlarmManager.RTC_WAKEUP, triggerAt, pending);
|
||||
}
|
||||
}
|
||||
// 关闭 Activity 栈并杀进程
|
||||
activity.finishAffinity();
|
||||
System.exit(0);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user