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"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="CompilerConfiguration"> <component name="CompilerConfiguration">
<bytecodeTargetLevel target="11" />
<bytecodeTargetLevel target="1.8" />
</component> </component>
</project> </project>

2
.idea/misc.xml

@ -5,7 +5,7 @@
<configuration PROFILE_NAME="Debug" CONFIG_NAME="Debug" /> <configuration PROFILE_NAME="Debug" CONFIG_NAME="Debug" />
</configurations> </configurations>
</component> </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" /> <output url="file://$PROJECT_DIR$/build/classes" />
</component> </component>
<component name="ProjectType"> <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));// 背景音乐 stopService(new Intent(this, MusicService.class));// 背景音乐
} }
try { try {
Thread.sleep(1000);
Thread.sleep(3000);
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); e.printStackTrace();
} }

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

@ -216,7 +216,7 @@ public class WebViewActivity extends BaseActivity {
// 适配HTTPS/HTTP混合内容 // 适配HTTPS/HTTP混合内容
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_COMPATIBILITY_MODE);
webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
} }
//加载web //加载web
@ -603,8 +603,10 @@ public class WebViewActivity extends BaseActivity {
}else { }else {
Url = H5Data.getH5Url(); 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("应用更新成功"); ToastUtils.showToast("应用更新成功");
break; 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.RelativeLayout;
import android.widget.TextView; import android.widget.TextView;
import android.widget.VideoView; 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.annotation.NonNull;
import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
@ -62,6 +64,7 @@ import qianmu.container.data.ScreenSaverData;
import qianmu.container.entity.FacilitiesBean; import qianmu.container.entity.FacilitiesBean;
import qianmu.container.entity.InterFaceBean; import qianmu.container.entity.InterFaceBean;
import qianmu.container.entity.MapDataListBean; import qianmu.container.entity.MapDataListBean;
import qianmu.container.entity.MessageEvent;
import qianmu.container.entity.NewProgramBean; import qianmu.container.entity.NewProgramBean;
import qianmu.container.entity.ResourceFileBean; import qianmu.container.entity.ResourceFileBean;
import qianmu.container.entity.Resp; import qianmu.container.entity.Resp;
@ -1289,7 +1292,7 @@ class MyPresentation extends Presentation {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.presentation); setContentView(R.layout.presentation);
initView(); initView();
EventBus.getDefault().register(this);
} }
CustomerVideoView videoView2; CustomerVideoView videoView2;
@ -3793,6 +3796,23 @@ class MyPresentation extends Presentation {
class MyWebViewClient extends WebViewClient { 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.LinearLayout;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
import android.widget.TextView; 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.annotation.NonNull;
import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
@ -68,6 +70,7 @@ import java.util.TimerTask;
import cz.msebera.android.httpclient.Header; import cz.msebera.android.httpclient.Header;
import okhttp3.MediaType; import okhttp3.MediaType;
import okhttp3.RequestBody; import okhttp3.RequestBody;
import qianmu.container.R;
import qianmu.container.activity.H5.CoreService; import qianmu.container.activity.H5.CoreService;
import qianmu.container.activity.H5.UpdateFileActivity; import qianmu.container.activity.H5.UpdateFileActivity;
import qianmu.container.activity.ViewBase; import qianmu.container.activity.ViewBase;
@ -1300,7 +1303,7 @@ public class ViewScreenSaver extends ViewBase<ViewScreenSaverBinding> {
protected void initView() { protected void initView() {
width = DeviceUtil.screenWidth((Activity) context); width = DeviceUtil.screenWidth((Activity) context);
height = DeviceUtil.screenHeight((Activity) context); height = DeviceUtil.screenHeight((Activity) context);
EventBus.getDefault().register(this);
} }
public void setData(List<NewProgramBean> data) { public void setData(List<NewProgramBean> data) {
@ -3868,6 +3871,24 @@ public class ViewScreenSaver extends ViewBase<ViewScreenSaverBinding> {
class MyWebViewClient extends WebViewClient { 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", MyApplication.getInstance().dateTimeFormat.format(new Date(timeMillis)), ":\n",
throwable.getMessage(), "\n", sw.toString()); throwable.getMessage(), "\n", sw.toString());
LoggerUtil.e("APP崩溃", errorLog); LoggerUtil.e("APP崩溃", errorLog);
if (isSystemExceptionInternal(throwable)) {
try {
Thread.sleep(5000);
SignWayUtil.reboot();
} catch (InterruptedException e) {
e.printStackTrace();
}
return;
}
restartApp(); 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() { public void restartApp() {
LoggerUtil.e("MyApplication", "重启设备");
LoggerUtil.e("MyApplication", "重启软件");
stopService(new Intent(this, ContainerService.class)); stopService(new Intent(this, ContainerService.class));
stopService(new Intent(this, MessengerService.class)); stopService(new Intent(this, MessengerService.class));
stopService(new Intent(this, CoreService.class)); stopService(new Intent(this, CoreService.class));
@ -276,12 +303,6 @@ public class MyApplication extends Application {
// 开启背景音乐 // 开启背景音乐
stopService(new Intent(this, MusicService.class));// 背景音乐 stopService(new Intent(this, MusicService.class));// 背景音乐
} }
try {
Thread.sleep(6000);
SignWayUtil.reboot();
} catch (InterruptedException e) {
e.printStackTrace();
}
ProcessPhoenix.triggerRebirth(this); ProcessPhoenix.triggerRebirth(this);
} }

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

@ -276,7 +276,6 @@ public class MQTTService extends Service {
// 订阅myTopic话题 // 订阅myTopic话题
client.subscribe(myTopic,2); client.subscribe(myTopic,2);
sendOnline(); sendOnline();
connectTime = System.currentTimeMillis(); connectTime = System.currentTimeMillis();
if(Math.abs(connectTime-connectionLostTime)>3600000){ if(Math.abs(connectTime-connectionLostTime)>3600000){
//连接时间与连接失败时间相差60分钟,连接上时自动拉取最新节目 //连接时间与连接失败时间相差60分钟,连接上时自动拉取最新节目
@ -287,6 +286,10 @@ public class MQTTService extends Service {
} catch (MqttException e) { } catch (MqttException e) {
e.printStackTrace(); 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 @Override

Loading…
Cancel
Save