From 323a3d1d3530068c277cb34d502991c6d5146b98 Mon Sep 17 00:00:00 2001 From: lx32056127 <30209425+lx32056127@users.noreply.github.com> Date: Fri, 10 Jun 2022 12:14:06 +0800 Subject: [PATCH 1/2] =?UTF-8?q?1.=E4=BC=98=E5=8C=96:=E8=B5=84=E4=BA=A7?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E9=A1=B5=E9=9D=A2=E6=B7=BB=E5=8A=A0=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E6=97=B6=E6=97=A0=E6=AD=A3=E5=88=99=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=202.=E4=BC=98=E5=8C=96:App=E8=AF=86=E5=88=AB&=E9=80=9A?= =?UTF-8?q?=E7=9F=A5=E8=AF=86=E5=88=AB=E6=9C=AA=E5=AE=89=E8=A3=85=E5=AF=B9?= =?UTF-8?q?=E4=BA=8EAPP=E6=97=B6=E4=B8=8D=E5=86=8D=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E8=AF=A5App=E8=A7=84=E5=88=99=203.=E4=BC=98=E5=8C=96:=E8=A7=84?= =?UTF-8?q?=E5=88=99=E8=BF=90=E8=A1=8C=E8=B6=85=E8=BF=872=E7=A7=92?= =?UTF-8?q?=E5=B0=86=E6=8F=90=E7=A4=BA=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../qianji_auto/data/data/RegularCenter.java | 32 ++++++++++++++++++- .../dreamn/qianji_auto/setting/AppInfo.java | 2 +- .../ui/fragment/base/MainMapFragment.java | 6 ++-- .../fragment/data/regulars/outFragment.java | 20 +++++++++--- 4 files changed, 51 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/cn/dreamn/qianji_auto/data/data/RegularCenter.java b/app/src/main/java/cn/dreamn/qianji_auto/data/data/RegularCenter.java index d91b2b44..a01b5b1b 100755 --- a/app/src/main/java/cn/dreamn/qianji_auto/data/data/RegularCenter.java +++ b/app/src/main/java/cn/dreamn/qianji_auto/data/data/RegularCenter.java @@ -1,6 +1,11 @@ package cn.dreamn.qianji_auto.data.data; +import android.annotation.SuppressLint; + import com.alibaba.fastjson.JSONObject; +import com.hjq.toast.ToastUtils; + +import org.apache.commons.lang3.time.StopWatch; import java.util.Arrays; @@ -79,6 +84,7 @@ private void setType(String type) { } + @SuppressLint("DefaultLocale") public void run(BillInfo billInfo, String addJs, TaskThread.TaskResult taskResult) { //执行分类 TaskThread.onThread(() -> { @@ -108,8 +114,19 @@ public void run(BillInfo billInfo, String addJs, TaskThread.TaskResult taskResul String testJs = String.format(js, jsInner, dataList.toString(), billInfo.getShopAccount(), billInfo.getShopRemark(), BillInfo.getTypeName(billInfo.getType()), hour, minute, billInfo.getMoney()); try { + StopWatch stopWatch = new StopWatch(); + stopWatch.start(); String result = JsEngine.run(testJs); - Log.i("自动分类结果:" + result); + stopWatch.split(); + long elapsedTime = stopWatch.getSplitTime(); + stopWatch.stop(); + Log.i(String.format("自动分类结果:%s.耗时: %dms", result, elapsedTime)); + if (elapsedTime >= 1) { + Log.i("自动分类执行时间超过2秒,请检查规则."); + ToastUtils.show("自动分类执行时间超过2秒,请检查规则."); + // 添加超时 为了充分展示Toast + Thread.sleep(3000); + } if (result.contains("Undefined")) { taskResult.onEnd("NotFound"); } else taskResult.onEnd(result); @@ -122,6 +139,7 @@ public void run(BillInfo billInfo, String addJs, TaskThread.TaskResult taskResul }); } + @SuppressLint("DefaultLocale") public void run(String app, String data, String addJs, TaskThread.TaskResult taskResult) { data = data.replace("'", "\\'"); String finalData = data; @@ -247,7 +265,19 @@ function retData(array, ret) { //获得所有Js String result = ""; try { + StopWatch stopWatch = new StopWatch(); + stopWatch.start(); result = JsEngine.run(testJs); + stopWatch.split(); + long elapsedTime = stopWatch.getSplitTime(); + stopWatch.stop(); + Log.i(String.format("%s 解析结果:%s.耗时: %dms", app, result, elapsedTime)); + if (elapsedTime >= 2000) { + Log.i(app + " App解析执行时间超过2秒,请检查规则."); + ToastUtils.show(app + " App解析执行时间超过2秒,请检查规则."); + // 添加超时 为了充分展示Toast + Thread.sleep(3000); + } } catch (Throwable ex) { Log.i("错误:" + ex.toString()); } diff --git a/app/src/main/java/cn/dreamn/qianji_auto/setting/AppInfo.java b/app/src/main/java/cn/dreamn/qianji_auto/setting/AppInfo.java index 4ce284f6..30e557ef 100755 --- a/app/src/main/java/cn/dreamn/qianji_auto/setting/AppInfo.java +++ b/app/src/main/java/cn/dreamn/qianji_auto/setting/AppInfo.java @@ -132,7 +132,7 @@ private static boolean findPackages(Set packages, String targets) { /* * check the app is installed */ - private static boolean isAppInstalled(Context context, String packagename) { + public static boolean isAppInstalled(Context context, String packagename) { PackageInfo packageInfo; try { packageInfo = context.getPackageManager().getPackageInfo(packagename, 0); diff --git a/app/src/main/java/cn/dreamn/qianji_auto/ui/fragment/base/MainMapFragment.java b/app/src/main/java/cn/dreamn/qianji_auto/ui/fragment/base/MainMapFragment.java index a0dfaa8b..4123a417 100755 --- a/app/src/main/java/cn/dreamn/qianji_auto/ui/fragment/base/MainMapFragment.java +++ b/app/src/main/java/cn/dreamn/qianji_auto/ui/fragment/base/MainMapFragment.java @@ -130,13 +130,13 @@ protected void initListeners() { refreshlayout.finishRefresh(0); }); floatingActionButton.setOnClickListener(v -> { - BottomArea.input(getContext(), getString(R.string.assert_input), "", getString(R.string.set_sure), getString(R.string.set_cancle), new BottomArea.InputCallback() { + BottomArea.inputWithCheckBox(getContext(), getString(R.string.assert_input), "", getString(R.string.set_sure), getString(R.string.set_cancle), "正则模式", false, new BottomArea.InputWithCheckBoxCallback() { @Override - public void input(String data) { + public void inputWithCheck(String data, boolean checked) { Assets.showAssetSelect(getContext(), getString(R.string.assert_choose), false, obj -> { Asset asset2s = (Asset) obj; TaskThread.onThread(() -> { - Db.db.AssetMapDao().add(data, asset2s.name); + Db.db.AssetMapDao().add(checked ? "reg:" + data : data, asset2s.name); HandlerUtil.send(mHandler, getString(R.string.add_success), HANDLE_REFRESH); }); }); diff --git a/app/src/main/java/cn/dreamn/qianji_auto/ui/fragment/data/regulars/outFragment.java b/app/src/main/java/cn/dreamn/qianji_auto/ui/fragment/data/regulars/outFragment.java index 2f4d40e7..48452922 100755 --- a/app/src/main/java/cn/dreamn/qianji_auto/ui/fragment/data/regulars/outFragment.java +++ b/app/src/main/java/cn/dreamn/qianji_auto/ui/fragment/data/regulars/outFragment.java @@ -330,7 +330,7 @@ public void handleMessage(@NonNull Message msg) { return; } RegularManager.restoreFromData(getContext(), getName(), getLastType(), (String) msg.obj, code -> { - HandlerUtil.send(mHandler, HANDLE_REFRESH); + HandlerUtil.send(mHandler, HANDLE_REFRESH); }); } }; @@ -520,9 +520,8 @@ public void sure() { cAdapter.setOnMoreClick(item -> { BottomArea.msg(getContext(), item.getString("name"), item.getString("remark")); }); - - - } else {//不是数据部分 + } else { + // 不是数据部分 rAdapter = new RemoteListAdapter(getContext(), isWeb); recyclerView.setAdapter(rAdapter); rAdapter.setOnItemClickListener((itemView, position) -> { @@ -593,6 +592,10 @@ public void onSuccessful(String data) { if (type.equals("app") || type.equals("notice") || type.equals("sms") || type.equals("helper")) { for (Map.Entry stringObjectEntry : jsonObject1.entrySet()) { String key = stringObjectEntry.getKey(); + // 未安装app不再显示远程规则 + if (!AppInfo.isAppInstalled(getContext(), key) && (type.equals("app") || type.equals("notice"))) { + continue; + } JSONObject value = (JSONObject) stringObjectEntry.getValue(); Bundle bundle = new Bundle(); bundle.putString("identify", getLastType()); @@ -658,11 +661,20 @@ public void onSuccessful(String data) { List bundleList = new ArrayList<>(); int index = 0; for (Regular regular : regulars) { + // 未安装app不再显示本地规则 + if (!AppInfo.isAppInstalled(getContext(), regular.app) && (type.equals("app") || type.equals("notice"))) { + continue; + } Bundle bundle = Tool.class2Bundle(regular); Db.db.RegularDao().setSort(regular.id, ++index); bundle.putInt("sort", ++index); bundleList.add(bundle); } + if (bundleList.size() == 0) { + Log.d("已安装App数量为0"); + HandlerUtil.send(mHandler, HANDLE_ERR); + return; + } list = bundleList; HandlerUtil.send(mHandler, HANDLE_OK); }); From 149e031a3f1e2ccfd17b0a5986f31f8d2624f55b Mon Sep 17 00:00:00 2001 From: lx32056127 <30209425+lx32056127@users.noreply.github.com> Date: Fri, 10 Jun 2022 12:39:44 +0800 Subject: [PATCH 2/2] =?UTF-8?q?1.rhino=E4=BE=9D=E8=B5=96=E6=94=B9=E4=B8=BA?= =?UTF-8?q?gradle=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 3 ++- .../qianji_auto/data/data/RegularCenter.java | 2 +- rhino-1.7.13/build.gradle | 2 -- rhino-1.7.13/rhino-1.7.13.jar | Bin 1315933 -> 0 bytes 4 files changed, 3 insertions(+), 4 deletions(-) delete mode 100755 rhino-1.7.13/build.gradle delete mode 100755 rhino-1.7.13/rhino-1.7.13.jar diff --git a/app/build.gradle b/app/build.gradle index 952c5191..f64ec81e 100755 --- a/app/build.gradle +++ b/app/build.gradle @@ -124,7 +124,8 @@ dependencies { //内存泄漏监测leak,就需要加上这个依赖 // debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.7' //rhino - implementation project(path: ':rhino-1.7.13') +// implementation project(path: ':rhino-1.7.13') + implementation 'org.mozilla:rhino:1.7.13' //多状态组件 implementation 'com.github.SheHuan:StatusView:1.0.5' //material-dialogs diff --git a/app/src/main/java/cn/dreamn/qianji_auto/data/data/RegularCenter.java b/app/src/main/java/cn/dreamn/qianji_auto/data/data/RegularCenter.java index a01b5b1b..06b836da 100755 --- a/app/src/main/java/cn/dreamn/qianji_auto/data/data/RegularCenter.java +++ b/app/src/main/java/cn/dreamn/qianji_auto/data/data/RegularCenter.java @@ -121,7 +121,7 @@ public void run(BillInfo billInfo, String addJs, TaskThread.TaskResult taskResul long elapsedTime = stopWatch.getSplitTime(); stopWatch.stop(); Log.i(String.format("自动分类结果:%s.耗时: %dms", result, elapsedTime)); - if (elapsedTime >= 1) { + if (elapsedTime >= 2000) { Log.i("自动分类执行时间超过2秒,请检查规则."); ToastUtils.show("自动分类执行时间超过2秒,请检查规则."); // 添加超时 为了充分展示Toast diff --git a/rhino-1.7.13/build.gradle b/rhino-1.7.13/build.gradle deleted file mode 100755 index db668a5b..00000000 --- a/rhino-1.7.13/build.gradle +++ /dev/null @@ -1,2 +0,0 @@ -configurations.maybeCreate("default") -artifacts.add("default", file('rhino-1.7.13.jar')) \ No newline at end of file diff --git a/rhino-1.7.13/rhino-1.7.13.jar b/rhino-1.7.13/rhino-1.7.13.jar deleted file mode 100755 index d8d0b4681893e182d1abb0cbbff211d6862b1518..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1315933 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�XJ9Ui>HNAAiX?*s*Ctz45!J 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