From 1b2cecfa3fbbaafa855969172bbf38bf644b2a5b Mon Sep 17 00:00:00 2001 From: Darcy Wong Date: Tue, 14 Apr 2020 14:49:07 +0700 Subject: [PATCH] feat(android): Update language settings activity for offline --- .../tavultesoft/kmea/LanguageSettingsActivity.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) 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 ea8bc23ac3..e8bcc56df7 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 @@ -238,10 +238,9 @@ public final class LanguageSettingsActivity extends AppCompatActivity { addButton = (ImageButton) findViewById(R.id.add_button); addButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { - // Check that available keyboard information can be obtained via: - // 1. connection to keyman.com - // 2. local kmp.json files in packages/ - if (KMManager.hasConnection(context) || KeyboardPickerActivity.hasKeyboardFromPackage()){ + // Check scenarios to add available keyboards: + if (KMManager.hasConnection(context)){ + // Scenario 1: Connection to keyman.com catalog // Pass the BCP47 language code to the KMPBrowserActivity Intent i = new Intent(context, KMPBrowserActivity.class); i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); @@ -249,6 +248,13 @@ public final class LanguageSettingsActivity extends AppCompatActivity { i.putExtra("languageCode", lgCode); i.putExtra("languageName", lgName); context.startActivity(i); + } else if (KeyboardPickerActivity.hasKeyboardFromPackage()) { + // Scenario 2: Local kmp.json files in packages/ + Intent i = new Intent(context, KeyboardListActivity.class); + i.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY); + i.putExtra("languageCode", lgCode); + i.putExtra("languageName", lgName); + context.startActivity(i); } else { AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(context); dialogBuilder.setTitle(getString(R.string.title_add_keyboard));