From 2b7d10718be07b6eeba8dd19abda8a856cfac9cf Mon Sep 17 00:00:00 2001 From: Darcy Wong Date: Wed, 9 Mar 2022 14:52:11 +0700 Subject: [PATCH] fix(oem/fv/android): Refresh Settings menu --- .../keyboards/FVKeyboardSettingsActivity.java | 16 +++++++++++----- .../com/firstvoices/keyboards/MainActivity.java | 8 +++----- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/oem/firstvoices/android/app/src/main/java/com/firstvoices/keyboards/FVKeyboardSettingsActivity.java b/oem/firstvoices/android/app/src/main/java/com/firstvoices/keyboards/FVKeyboardSettingsActivity.java index 592ce72c29..bf2ca8bc4b 100644 --- a/oem/firstvoices/android/app/src/main/java/com/firstvoices/keyboards/FVKeyboardSettingsActivity.java +++ b/oem/firstvoices/android/app/src/main/java/com/firstvoices/keyboards/FVKeyboardSettingsActivity.java @@ -3,6 +3,7 @@ package com.firstvoices.keyboards; import static android.view.View.INVISIBLE; import static android.view.View.VISIBLE; +import android.app.Activity; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; @@ -11,7 +12,6 @@ import android.os.Bundle; import android.view.View; import android.view.Window; import android.widget.AdapterView; -import android.widget.BaseAdapter; import android.widget.ListView; import android.widget.RelativeLayout; import android.widget.TextView; @@ -46,7 +46,7 @@ import java.util.HashMap; * Displays an FV Keyboard enable and some lexical model switches. */ public final class FVKeyboardSettingsActivity extends AppCompatActivity { - private Context context; + private static Context context = null; private static Toolbar toolbar = null; private static TextView fvKeyboardTextView = null; private static TextView fvVersionTextView = null; @@ -57,6 +57,7 @@ public final class FVKeyboardSettingsActivity extends AppCompatActivity { private String associatedLexicalModel = ""; private String lgCode; private static RelativeLayout checkModelLayout = null; + private static Bundle bundle = null; private static ListView listView = null; private String lgName; private String kbId; @@ -119,7 +120,9 @@ public final class FVKeyboardSettingsActivity extends AppCompatActivity { context = this; setContentView(R.layout.fv_keyboard_settings_list_layout); - Bundle bundle = getIntent().getExtras(); + if (getIntent() != null && getIntent().getExtras() != null) { + bundle = getIntent().getExtras(); + } if (bundle == null) { // Should never actually happen. KMLog.LogError(TAG, "Language data not specified for FVKeyboardSettingsActivity!"); @@ -152,7 +155,6 @@ public final class FVKeyboardSettingsActivity extends AppCompatActivity { toolbar = (Toolbar) findViewById(R.id.list_toolbar); setSupportActionBar(toolbar); - int actionBarHeight = toolbar.getLayoutParams().height; getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayShowHomeEnabled(true); getSupportActionBar().setDisplayShowTitleEnabled(false); @@ -376,8 +378,12 @@ public final class FVKeyboardSettingsActivity extends AppCompatActivity { if (listAdapter != null) { listAdapter.notifyDataSetChanged(); } + } - //updateDictionariesSection(); + public static void restartActivity() { + if (context != null) { + ((Activity)context).recreate(); + } } @Override diff --git a/oem/firstvoices/android/app/src/main/java/com/firstvoices/keyboards/MainActivity.java b/oem/firstvoices/android/app/src/main/java/com/firstvoices/keyboards/MainActivity.java index f0f1afcf8e..b0e71e885e 100644 --- a/oem/firstvoices/android/app/src/main/java/com/firstvoices/keyboards/MainActivity.java +++ b/oem/firstvoices/android/app/src/main/java/com/firstvoices/keyboards/MainActivity.java @@ -28,7 +28,7 @@ import java.util.List; import java.util.Map; public class MainActivity extends AppCompatActivity implements OnKeyboardDownloadEventListener { - public static Context context; + public Context context; FVDownloadResultReceiver resultReceiver; @@ -275,12 +275,10 @@ public class MainActivity extends AppCompatActivity implements OnKeyboardDownloa // let's register the associated lexical model. if(matchingModel) { KMManager.registerAssociatedLexicalModel(langId); - - // Update associated dictionary string if applicable - FVKeyboardSettingsActivity.notifyDataSetChanged(); - //FVKeyboardSettingsActivity.updateDictionariesSection(context); } + // Launch/refresh FV Keyboard Settings menu + FVKeyboardSettingsActivity.restartActivity(); } }