Browse Source

fix: 优化

master
高志龙 5 months ago
parent
commit
47b1bb7f51
  1. 2
      .idea/compiler.xml
  2. 2
      .idea/misc.xml
  3. 2
      app/src/main/java/qianmu/container/activity/BaseActivity.java
  4. 8
      app/src/main/java/qianmu/container/activity/H5/WebViewActivity.java
  5. 24
      app/src/main/java/qianmu/container/activity/program/MyPresentation.java
  6. 25
      app/src/main/java/qianmu/container/activity/program/ViewScreenSaver.java
  7. 35
      app/src/main/java/qianmu/container/app/MyApplication.java
  8. 5
      app/src/main/java/qianmu/container/mqtt/MQTTService.java

2
.idea/compiler.xml

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="11" />
<bytecodeTargetLevel target="1.8" />
</component>
</project>

2
.idea/misc.xml

@ -5,7 +5,7 @@
<configuration PROFILE_NAME="Debug" CONFIG_NAME="Debug" />
</configurations>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="false" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">

2
app/src/main/java/qianmu/container/activity/BaseActivity.java

@ -315,7 +315,7 @@ public abstract class BaseActivity extends AppCompatActivity {
stopService(new Intent(this, MusicService.class));// 背景音乐
}
try {
Thread.sleep(1000);
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}

8
app/src/main/java/qianmu/container/activity/H5/WebViewActivity.java

@ -216,7 +216,7 @@ public class WebViewActivity extends BaseActivity {
// 适配HTTPS/HTTP混合内容
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_COMPATIBILITY_MODE);
webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
//加载web
@ -603,8 +603,10 @@ public class WebViewActivity extends BaseActivity {
}else {
Url = H5Data.getH5Url();
}
binding.web.clearCache(true);
binding.web.loadUrl(Url);
if(binding.web != null && !StringUtil.isEmpty(Url)){
binding.web.clearCache(true);
binding.web.loadUrl(Url);
}
ToastUtils.showToast("应用更新成功");
break;

24
app/src/main/java/qianmu/container/activity/program/MyPresentation.java

@ -27,7 +27,9 @@ import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.VideoView;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@ -62,6 +64,7 @@ import qianmu.container.data.ScreenSaverData;
import qianmu.container.entity.FacilitiesBean;
import qianmu.container.entity.InterFaceBean;
import qianmu.container.entity.MapDataListBean;
import qianmu.container.entity.MessageEvent;
import qianmu.container.entity.NewProgramBean;
import qianmu.container.entity.ResourceFileBean;
import qianmu.container.entity.Resp;
@ -1289,7 +1292,7 @@ class MyPresentation extends Presentation {
super.onCreate(savedInstanceState);
setContentView(R.layout.presentation);
initView();
EventBus.getDefault().register(this);
}
CustomerVideoView videoView2;
@ -3793,6 +3796,23 @@ class MyPresentation extends Presentation {
class MyWebViewClient extends WebViewClient {
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onMessageEvent(MessageEvent message) {
if (message != null){
switch (message.getCode()) {
case Constant.ACTION_UPDATE_WEBVIEW://刷新webView
if (webList != null && !webList.isEmpty()) {
for (WebView webView : webList) {
if (webView != null) {
webView.clearCache(true);
webView.loadUrl(webView.getUrl());
}
}
}
break;
}
}
}
/**
* 添加水牌

25
app/src/main/java/qianmu/container/activity/program/ViewScreenSaver.java

@ -29,7 +29,9 @@ import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@ -68,6 +70,7 @@ import java.util.TimerTask;
import cz.msebera.android.httpclient.Header;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import qianmu.container.R;
import qianmu.container.activity.H5.CoreService;
import qianmu.container.activity.H5.UpdateFileActivity;
import qianmu.container.activity.ViewBase;
@ -1300,7 +1303,7 @@ public class ViewScreenSaver extends ViewBase<ViewScreenSaverBinding> {
protected void initView() {
width = DeviceUtil.screenWidth((Activity) context);
height = DeviceUtil.screenHeight((Activity) context);
EventBus.getDefault().register(this);
}
public void setData(List<NewProgramBean> data) {
@ -3868,6 +3871,24 @@ public class ViewScreenSaver extends ViewBase<ViewScreenSaverBinding> {
class MyWebViewClient extends WebViewClient {
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onMessageEvent(MessageEvent message) {
if (message != null){
switch (message.getCode()) {
case Constant.ACTION_UPDATE_WEBVIEW://刷新webView
if (webList != null && !webList.isEmpty()) {
for (WebView webView : webList) {
if (webView != null) {
webView.clearCache(true);
webView.loadUrl(webView.getUrl());
}
}
}
break;
}
}
}
/**
* 添加水牌
* */

35
app/src/main/java/qianmu/container/app/MyApplication.java

@ -258,15 +258,42 @@ public class MyApplication extends Application {
MyApplication.getInstance().dateTimeFormat.format(new Date(timeMillis)), ":\n",
throwable.getMessage(), "\n", sw.toString());
LoggerUtil.e("APP崩溃", errorLog);
if (isSystemExceptionInternal(throwable)) {
try {
Thread.sleep(5000);
SignWayUtil.reboot();
} catch (InterruptedException e) {
e.printStackTrace();
}
return;
}
restartApp();
});
}
private boolean isSystemExceptionInternal(Throwable throwable) {
String className = throwable.getClass().getName();
String message = throwable.getMessage();
// 检查常见的系统异常
return className.contains("DeadSystemException") ||
className.contains("DeadObjectException") ||
className.contains("RemoteException") ||
className.contains("TransactionTooLargeException") ||
className.contains("NetworkOnMainThreadException") ||
className.contains("BadParcelableException") ||
className.contains("NullPointerException") &&
(message != null && message.contains("on a null object reference")) ||
className.contains("IllegalStateException") &&
(message != null && (message.contains("Fragment not attached") ||
message.contains("Activity has been destroyed")));
}
/**
* 重启软件
*/
public void restartApp() {
LoggerUtil.e("MyApplication", "重启设备");
LoggerUtil.e("MyApplication", "重启软件");
stopService(new Intent(this, ContainerService.class));
stopService(new Intent(this, MessengerService.class));
stopService(new Intent(this, CoreService.class));
@ -276,12 +303,6 @@ public class MyApplication extends Application {
// 开启背景音乐
stopService(new Intent(this, MusicService.class));// 背景音乐
}
try {
Thread.sleep(6000);
SignWayUtil.reboot();
} catch (InterruptedException e) {
e.printStackTrace();
}
ProcessPhoenix.triggerRebirth(this);
}

5
app/src/main/java/qianmu/container/mqtt/MQTTService.java

@ -276,7 +276,6 @@ public class MQTTService extends Service {
// 订阅myTopic话题
client.subscribe(myTopic,2);
sendOnline();
connectTime = System.currentTimeMillis();
if(Math.abs(connectTime-connectionLostTime)>3600000){
//连接时间与连接失败时间相差60分钟,连接上时自动拉取最新节目
@ -287,6 +286,10 @@ public class MQTTService extends Service {
} catch (MqttException e) {
e.printStackTrace();
}
if ("信发".equals(DeviceData.getDeviceInfo(DeviceData.HINT_DEVICE_TYPE))
|| "双面屏".equals(DeviceData.getDeviceInfo(DeviceData.HINT_DEVICE_TYPE))){
EventBus.getDefault().post(new MessageEvent(Constant.ACTION_UPDATE_WEBVIEW));
}
}
@Override

Loading…
Cancel
Save