From 028d2471104fccddd2043f2f1d626fb332924421 Mon Sep 17 00:00:00 2001 From: Darcy Wong Date: Thu, 5 Sep 2019 16:23:58 +0700 Subject: [PATCH] Start refactoring help links --- .../com/tavultesoft/kmea/KMKeyboardPickerAdapter.java | 9 +++++++-- .../src/main/java/com/tavultesoft/kmea/KMManager.java | 1 + .../java/com/tavultesoft/kmea/KeyboardInfoActivity.java | 2 +- .../com/tavultesoft/kmea/KeyboardSettingsActivity.java | 2 +- .../com/tavultesoft/kmea/LanguageSettingsActivity.java | 9 +++++++-- .../java/com/tavultesoft/kmea/data/CloudRepository.java | 2 ++ .../main/java/com/tavultesoft/kmea/data/Keyboard.java | 2 ++ .../java/com/tavultesoft/kmea/data/LanguageResource.java | 1 + .../java/com/tavultesoft/kmea/data/LexicalModel.java | 2 ++ 9 files changed, 24 insertions(+), 6 deletions(-) diff --git a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KMKeyboardPickerAdapter.java b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KMKeyboardPickerAdapter.java index 37b1e6a6a8..65da31cc66 100644 --- a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KMKeyboardPickerAdapter.java +++ b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KMKeyboardPickerAdapter.java @@ -111,12 +111,17 @@ final class KMKeyboardPickerAdapter extends NestedAdapter(); + final String helpUrlStr = getIntent().getStringExtra(KMManager.KMKey_HelpLink); final String customHelpLink = getIntent().getStringExtra(KMManager.KMKey_CustomHelpLink); // Check if app declared FileProvider String icon = String.valueOf(R.drawable.ic_arrow_forward); @@ -140,7 +141,6 @@ public final class KeyboardInfoActivity extends AppCompatActivity { startActivity(i); } } else { - String helpUrlStr = String.format("http://help.keyman.com/keyboard/%s/%s/", kbID, kbVersion); i.setData(Uri.parse(helpUrlStr)); startActivity(i); } diff --git a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KeyboardSettingsActivity.java b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KeyboardSettingsActivity.java index dbbb9b97e1..f9869e4e3b 100644 --- a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KeyboardSettingsActivity.java +++ b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KeyboardSettingsActivity.java @@ -84,6 +84,7 @@ public final class KeyboardSettingsActivity extends AppCompatActivity { // Display keyboard help link hashMap = new HashMap(); + final String helpUrlStr = getIntent().getStringExtra(KMManager.KMKey_HelpLink); final String customHelpLink = getIntent().getStringExtra(KMManager.KMKey_CustomHelpLink); // Check if app declared FileProvider String icon = String.valueOf(R.drawable.ic_arrow_forward); @@ -159,7 +160,6 @@ public final class KeyboardSettingsActivity extends AppCompatActivity { startActivity(i); } } else { - String helpUrlStr = String.format("http://help.keyman.com/keyboard/%s/%s/", kbID, kbVersion); i.setData(Uri.parse(helpUrlStr)); startActivity(i); } diff --git a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/LanguageSettingsActivity.java b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/LanguageSettingsActivity.java index 27828e8964..40ad5fb93f 100644 --- a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/LanguageSettingsActivity.java +++ b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/LanguageSettingsActivity.java @@ -208,12 +208,17 @@ public final class LanguageSettingsActivity extends AppCompatActivity { intent.putExtra(KMManager.KMKey_LanguageID, kbInfo.get(KMManager.KMKey_LanguageID)); intent.putExtra(KMManager.KMKey_LanguageName, kbInfo.get(KMManager.KMKey_LanguageName)); intent.putExtra(KMManager.KMKey_KeyboardName, kbInfo.get(KMManager.KMKey_KeyboardName)); - intent.putExtra(KMManager.KMKey_KeyboardVersion, KMManager.getLatestKeyboardFileVersion(context, packageID, keyboardID)); + String keyboardVersion = KMManager.getLatestKeyboardFileVersion(context, packageID, keyboardID); + intent.putExtra(KMManager.KMKey_KeyboardVersion, keyboardVersion); boolean isCustom = MapCompat.getOrDefault(kbInfo, KMManager.KMKey_CustomKeyboard, "N").equals("Y") ? true : false; intent.putExtra(KMManager.KMKey_CustomKeyboard, isCustom); String customHelpLink = kbInfo.get(KMManager.KMKey_CustomHelpLink); - if (customHelpLink != null) + if (customHelpLink != null) { intent.putExtra(KMManager.KMKey_CustomHelpLink, customHelpLink); + } else { + intent.putExtra(KMManager.KMKey_HelpLink, + String.format("https://help.keyman.com/keyboard/%s/%s/", keyboardID, keyboardVersion)); + } startActivity(intent); } }); diff --git a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/data/CloudRepository.java b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/data/CloudRepository.java index e5520bd2c9..9c7ea35b1d 100644 --- a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/data/CloudRepository.java +++ b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/data/CloudRepository.java @@ -390,6 +390,8 @@ public class CloudRepository { hashMap.put(KMManager.KMKey_KeyboardVersion, kbVersion); hashMap.put(KMManager.KMKey_CustomKeyboard, isCustom); hashMap.put(KMManager.KMKey_Font, kbFont); + hashMap.put(KMManager.KMKey_HelpLink, + String.format("https://help.keyman.com/keyboard/%s/%s/", kbID, kbVersion)); // if (keyboardModifiedDates.get(kbID) == null) { // keyboardModifiedDates.put(kbID, keyboardJSON.getString(KMManager.KMKey_KeyboardModified)); diff --git a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/data/Keyboard.java b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/data/Keyboard.java index 567d9e0a59..f4adcb3ccf 100644 --- a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/data/Keyboard.java +++ b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/data/Keyboard.java @@ -51,6 +51,8 @@ public class Keyboard implements Serializable, LanguageResource { return this.map.get(KMManager.KMKey_PackageID); } + public String getHelp() { return this.map.get(KMManager.KMKey_HelpLink); } + public Bundle buildDownloadBundle() { Bundle bundle = new Bundle(); bundle.putString(KMKeyboardDownloaderActivity.ARG_PKG_ID, getPackage()); diff --git a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/data/LanguageResource.java b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/data/LanguageResource.java index 635c76580b..086bc6ca0e 100644 --- a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/data/LanguageResource.java +++ b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/data/LanguageResource.java @@ -9,6 +9,7 @@ public interface LanguageResource { String getLanguageName(); String getVersion(); String getPackage(); + String getHelp(); Bundle buildDownloadBundle(); } diff --git a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/data/LexicalModel.java b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/data/LexicalModel.java index 2dddca0ddb..d8957befce 100644 --- a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/data/LexicalModel.java +++ b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/data/LexicalModel.java @@ -52,6 +52,8 @@ public class LexicalModel implements Serializable, LanguageResource { return this.map.get(KMManager.KMKey_PackageID); } + public String getHelp() { return this.map.get(KMManager.KMKey_HelpLink); } + public Bundle buildDownloadBundle() { Bundle bundle = new Bundle();