From 7e6f02c072d311c00ef61eb11733790e8c97ee51 Mon Sep 17 00:00:00 2001 From: Fox2Code Date: Mon, 1 Aug 2022 13:36:55 +0200 Subject: [PATCH] Add `mmm.setAndroidacyToken()` and for Androidacy integration. --- .../mmm/androidacy/AndroidacyActivity.java | 4 ++-- .../mmm/androidacy/AndroidacyRepoData.java | 13 +++++++++++++ .../mmm/androidacy/AndroidacyWebAPI.java | 19 ++++++------------- 3 files changed, 21 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/com/fox2code/mmm/androidacy/AndroidacyActivity.java b/app/src/main/java/com/fox2code/mmm/androidacy/AndroidacyActivity.java index 5a6a0d8..fd8a54a 100644 --- a/app/src/main/java/com/fox2code/mmm/androidacy/AndroidacyActivity.java +++ b/app/src/main/java/com/fox2code/mmm/androidacy/AndroidacyActivity.java @@ -254,8 +254,8 @@ public final class AndroidacyActivity extends FoxActivity { try { JSONObject jsonObject = new JSONObject(); jsonObject.put("moduleId", moduleId); - jsonObject.put("token", RepoManager.getINSTANCE() - .getAndroidacyRepoData().getToken()); + jsonObject.put("token", AndroidacyRepoData + .getInstance().getToken()); jsonObject.put("_token", result); String realUrl = Http.doHttpPostRedirect(downloadUrl, jsonObject.toString(), true); diff --git a/app/src/main/java/com/fox2code/mmm/androidacy/AndroidacyRepoData.java b/app/src/main/java/com/fox2code/mmm/androidacy/AndroidacyRepoData.java index a5fca9d..a5bceef 100644 --- a/app/src/main/java/com/fox2code/mmm/androidacy/AndroidacyRepoData.java +++ b/app/src/main/java/com/fox2code/mmm/androidacy/AndroidacyRepoData.java @@ -80,6 +80,10 @@ public final class AndroidacyRepoData extends RepoData { } } + public static AndroidacyRepoData getInstance() { + return RepoManager.getINSTANCE().getAndroidacyRepoData(); + } + @Override protected boolean prepare() { // Implementation details discussed on telegram @@ -308,4 +312,13 @@ public final class AndroidacyRepoData extends RepoData { String getToken() { return this.token; } + + void setToken(String token) { + if (Http.hasWebView()) { + CookieManager.getInstance().setCookie("https://.androidacy.com/", + "USER=" + token + "; expires=Fri, 31 Dec 9999 23:59:59 GMT;" + + " path=/; secure; domain=.androidacy.com"); + this.token = token; + } + } } diff --git a/app/src/main/java/com/fox2code/mmm/androidacy/AndroidacyWebAPI.java b/app/src/main/java/com/fox2code/mmm/androidacy/AndroidacyWebAPI.java index e82b861..268a2c5 100644 --- a/app/src/main/java/com/fox2code/mmm/androidacy/AndroidacyWebAPI.java +++ b/app/src/main/java/com/fox2code/mmm/androidacy/AndroidacyWebAPI.java @@ -48,8 +48,6 @@ public class AndroidacyWebAPI { boolean downloadMode; int effectiveCompatMode; int notifiedCompatMode; - String nonceToken; - Runnable nonceTask; public AndroidacyWebAPI(AndroidacyActivity activity, boolean allowInstall) { this.activity = activity; @@ -66,8 +64,8 @@ public class AndroidacyWebAPI { void openNativeModuleDialogRaw(String moduleUrl, String installTitle, String checksum, boolean canInstall) { this.downloadMode = false; - RepoModule repoModule = RepoManager.getINSTANCE() - .getAndroidacyRepoData().moduleHashMap.get(installTitle); + RepoModule repoModule = AndroidacyRepoData + .getInstance().moduleHashMap.get(installTitle); String title, description; if (repoModule != null) { title = repoModule.moduleInfo.name; @@ -246,8 +244,8 @@ public class AndroidacyWebAPI { this.openNativeModuleDialogRaw(moduleUrl, installTitle, checksum, true); } } else { - RepoModule repoModule = RepoManager.getINSTANCE() - .getAndroidacyRepoData().moduleHashMap.get(installTitle); + RepoModule repoModule = AndroidacyRepoData + .getInstance().moduleHashMap.get(installTitle); String config = null; if (repoModule != null && repoModule.moduleInfo.name.length() >= 3) { installTitle = repoModule.moduleInfo.name; // Set title to module name @@ -510,13 +508,8 @@ public class AndroidacyWebAPI { } @JavascriptInterface - public void setNonceToken(String nonceToken) { - this.nonceToken = nonceToken; - Runnable nonceTask = this.nonceTask; - if (nonceTask != null) { - this.nonceTask = null; - nonceTask.run(); - } + public void setAndroidacyToken(String token) { + AndroidacyRepoData.getInstance().setToken(token); } // Androidacy feature level declaration method