diff --git a/app/src/main/java/com/github/catvod/ali/API.java b/app/src/main/java/com/github/catvod/ali/API.java index 26b49021..83e16897 100644 --- a/app/src/main/java/com/github/catvod/ali/API.java +++ b/app/src/main/java/com/github/catvod/ali/API.java @@ -535,7 +535,7 @@ public class API { FrameLayout frame = new FrameLayout(Init.context()); params.gravity = Gravity.CENTER; frame.addView(image, params); - dialog = new AlertDialog.Builder(Init.getActivity()).setView(frame).setOnDismissListener(this::dismiss).show(); + dialog = new AlertDialog.Builder(Init.getActivity()).setView(frame).setOnCancelListener(this::dismiss).setOnDismissListener(this::dismiss).show(); dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); Init.show("請使用阿里雲盤 App 掃描二維碼"); } catch (Exception ignored) { diff --git a/app/src/main/java/com/github/catvod/spider/Bili.java b/app/src/main/java/com/github/catvod/spider/Bili.java index e6bb6d38..832609c3 100644 --- a/app/src/main/java/com/github/catvod/spider/Bili.java +++ b/app/src/main/java/com/github/catvod/spider/Bili.java @@ -270,7 +270,7 @@ public class Bili extends Spider { FrameLayout frame = new FrameLayout(Init.context()); params.gravity = Gravity.CENTER; frame.addView(image, params); - dialog = new AlertDialog.Builder(Init.getActivity()).setView(frame).setOnDismissListener(this::dismiss).show(); + dialog = new AlertDialog.Builder(Init.getActivity()).setView(frame).setOnCancelListener(this::cancel).setOnDismissListener(this::dismiss).show(); dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); Init.show("請使用 BiliBili App 掃描二維碼"); Init.execute(() -> startService(data)); @@ -288,6 +288,11 @@ public class Bili extends Spider { }, 1, 1, TimeUnit.SECONDS); } + private void stopService() { + if (service != null) service.shutdownNow(); + Init.run(this::dismiss); + } + private void setCookie(String url) { StringBuilder cookie = new StringBuilder(); String[] splits = Uri.parse(url).getQuery().split("&"); @@ -297,13 +302,12 @@ public class Bili extends Spider { stopService(); } - private void stopService() { - if (service != null) service.shutdownNow(); - Init.run(this::dismiss); + private void cancel(DialogInterface dialog) { + FileUtil.write(getUserCache(), COOKIE); + stopService(); } private void dismiss(DialogInterface dialog) { - FileUtil.write(getUserCache(), COOKIE); stopService(); } diff --git a/jar/custom_spider.jar b/jar/custom_spider.jar index 9aa7db6b..c03ed251 100644 Binary files a/jar/custom_spider.jar and b/jar/custom_spider.jar differ diff --git a/jar/custom_spider.jar.md5 b/jar/custom_spider.jar.md5 index 2bf639b4..d8fca975 100644 --- a/jar/custom_spider.jar.md5 +++ b/jar/custom_spider.jar.md5 @@ -1 +1 @@ -cc4a1d56205fd4d1039b53ba3175b81f +226256cc8e7eb70afa2efb8adad9b8a5