feat(android): Update language settings activity for offline

This commit is contained in:
Darcy Wong 2020-04-14 14:49:07 +07:00
parent 406428a1d5
commit 1b2cecfa3f

View file

@ -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));