From ca6cba6abbb551b3ed28cab22072915e555da2f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=8E=E4=BF=8A?= <215613905@qq.com> Date: Mon, 24 Mar 2025 11:51:23 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=86=E5=88=ABjarCache=20=E7=A4=BA=E4=BE=8B?= =?UTF-8?q?:=20{"spider":"./spider.jar","jarCache":"false"}=20=E6=96=B9?= =?UTF-8?q?=E4=BE=BF=E8=B0=83=E8=AF=95=E7=9A=84=E6=97=B6=E5=80=99=E5=85=B3?= =?UTF-8?q?=E9=97=AD=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/github/tvbox/osc/api/ApiConfig.java | 4 ++- .../tvbox/osc/ui/activity/HomeActivity.java | 35 +++++++++---------- 2 files changed, 19 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/com/github/tvbox/osc/api/ApiConfig.java b/app/src/main/java/com/github/tvbox/osc/api/ApiConfig.java index 6b8e3fe4..ee7b2b03 100644 --- a/app/src/main/java/com/github/tvbox/osc/api/ApiConfig.java +++ b/app/src/main/java/com/github/tvbox/osc/api/ApiConfig.java @@ -321,7 +321,7 @@ public class ApiConfig { return; } }else { - if (cache.exists() && !FileUtils.isWeekAgo(cache)) { + if (Boolean.parseBoolean(jarCache) && cache.exists() && !FileUtils.isWeekAgo(cache)) { if (jarLoader.load(cache.getAbsolutePath())) { callback.success(); } else { @@ -415,10 +415,12 @@ public class ApiConfig { parseJson(apiUrl, sb.toString()); } + private static String jarCache ="true"; private void parseJson(String apiUrl, String jsonStr) { JsonObject infoJson = gson.fromJson(jsonStr, JsonObject.class); // spider spider = DefaultConfig.safeJsonString(infoJson, "spider", ""); + jarCache = DefaultConfig.safeJsonString(infoJson, "jarCache", "true"); // wallpaper wallpaper = DefaultConfig.safeJsonString(infoJson, "wallpaper", ""); // 远端站点源 diff --git a/app/src/main/java/com/github/tvbox/osc/ui/activity/HomeActivity.java b/app/src/main/java/com/github/tvbox/osc/ui/activity/HomeActivity.java index 9dab5050..86051806 100644 --- a/app/src/main/java/com/github/tvbox/osc/ui/activity/HomeActivity.java +++ b/app/src/main/java/com/github/tvbox/osc/ui/activity/HomeActivity.java @@ -237,19 +237,20 @@ public class HomeActivity extends BaseActivity { String jar=ApiConfig.get().getHomeSourceBean().getJar(); String jarUrl=!jar.isEmpty()?jar:ApiConfig.get().getSpider(); File cspCacheDir = new File(cspCachePath + MD5.string2MD5(jarUrl)+".jar"); + Toast.makeText(mContext, "jar缓存已清除", Toast.LENGTH_LONG).show(); if (!cspCacheDir.exists()){ - Toast.makeText(mContext, "jar缓存已清除", Toast.LENGTH_LONG).show(); return; } new Thread(() -> { try { FileUtils.deleteFile(cspCacheDir); + ApiConfig.get().clearJarLoader(); + refreshHome(); } catch (Exception e) { e.printStackTrace(); } }).start(); - ApiConfig.get().clearJarLoader(); - Toast.makeText(mContext, "jar缓存已清除", Toast.LENGTH_LONG).show(); + }else { jumpActivity(SettingActivity.class); } @@ -258,16 +259,7 @@ public class HomeActivity extends BaseActivity { tvName.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { - if(dataInitOk && jarInitOk){ - Intent intent = new Intent(getApplicationContext(), HomeActivity.class); - intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); - Bundle bundle = new Bundle(); - bundle.putBoolean("useCache", true); - intent.putExtras(bundle); - HomeActivity.this.startActivity(intent); - }else { - jumpActivity(SettingActivity.class); - } + jumpActivity(SettingActivity.class); return true; } }); @@ -675,12 +667,7 @@ public class HomeActivity extends BaseActivity { @Override public void click(SourceBean value, int pos) { ApiConfig.get().setSourceBean(value); - Intent intent = new Intent(getApplicationContext(), HomeActivity.class); - intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); - Bundle bundle = new Bundle(); - bundle.putBoolean("useCache", true); - intent.putExtras(bundle); - HomeActivity.this.startActivity(intent); + refreshHome(); } @Override public String getDisplay(SourceBean val) { @@ -699,4 +686,14 @@ public class HomeActivity extends BaseActivity { } mSiteSwitchDialog.show(); } + + private void refreshHome() + { + Intent intent = new Intent(getApplicationContext(), HomeActivity.class); + intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); + Bundle bundle = new Bundle(); + bundle.putBoolean("useCache", true); + intent.putExtras(bundle); + HomeActivity.this.startActivity(intent); + } }