mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-14 12:49:25 +00:00
fix(android/engine): Refactor BaseActivity to KMEA
This commit is contained in:
parent
ad25f7e127
commit
2f87fef4c3
18 changed files with 25 additions and 13 deletions
|
|
@ -37,6 +37,7 @@ import android.content.Context;
|
|||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
|
||||
import com.tavultesoft.kmea.BaseActivity;
|
||||
import com.tavultesoft.kmea.util.KMLog;
|
||||
|
||||
public class BookmarksActivity extends BaseActivity {
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import java.util.ArrayList;
|
|||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import com.tavultesoft.kmea.BaseActivity;
|
||||
import com.tavultesoft.kmea.KMManager;
|
||||
import com.tavultesoft.kmea.data.Keyboard;
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
package com.tavultesoft.kmapro;
|
||||
|
||||
import com.tavultesoft.kmea.BaseActivity;
|
||||
import com.tavultesoft.kmea.BuildConfig;
|
||||
import com.tavultesoft.kmea.KMManager;
|
||||
import com.tavultesoft.kmea.KMManager.FormFactor;
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ import android.webkit.WebView;
|
|||
import android.webkit.WebViewClient;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import com.tavultesoft.kmea.BaseActivity;
|
||||
import com.tavultesoft.kmea.KMManager;
|
||||
import com.tavultesoft.kmea.util.KMPLink;
|
||||
|
||||
|
|
|
|||
|
|
@ -2,13 +2,14 @@ package com.tavultesoft.kmapro;
|
|||
|
||||
import android.os.Bundle;
|
||||
|
||||
import com.tavultesoft.kmea.BaseActivity;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
|
||||
public class KeymanSettingsActivity extends BaseActivity {
|
||||
protected static final String installedLanguagesKey = "InstalledLanguages";
|
||||
protected static final String installKeyboardOrDictionaryKey = "InstallKeyboardOrDictionary";
|
||||
protected static final String displayLanguageKey = "DisplayLanguage";
|
||||
protected static final String showBannerKey = "ShowBanner";
|
||||
protected static final String sendCrashReport = "SendCrashReport";
|
||||
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ import androidx.preference.PreferenceFragmentCompat;
|
|||
import androidx.preference.PreferenceScreen;
|
||||
import androidx.preference.SwitchPreference;
|
||||
|
||||
import com.tavultesoft.kmea.DisplayLanguages;
|
||||
import com.tavultesoft.kmea.KMManager;
|
||||
import com.tavultesoft.kmea.data.Dataset;
|
||||
|
||||
|
|
@ -51,7 +52,7 @@ public class KeymanSettingsFragment extends PreferenceFragmentCompat {
|
|||
installKeyboardOrDictionary.setIntent(installIntent);
|
||||
|
||||
displayLanguagePreference = new Preference(context);
|
||||
displayLanguagePreference.setKey(KeymanSettingsActivity.displayLanguageKey);
|
||||
displayLanguagePreference.setKey(DisplayLanguages.displayLanguageKey);
|
||||
displayLanguagePreference.setTitle(getString(R.string.change_display_language));
|
||||
displayLanguagePreference.setWidgetLayoutResource(R.layout.preference_translate_icon_layout);
|
||||
Intent displayLanguageIntent = new Intent(context, KeymanSettingsLocalizeActivity.class);
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ import androidx.appcompat.app.AppCompatActivity;
|
|||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.preference.PreferenceManager;
|
||||
|
||||
import com.tavultesoft.kmea.DisplayLanguages;
|
||||
import com.tavultesoft.kmea.KMManager;
|
||||
import com.tavultesoft.kmea.data.KeyboardController;
|
||||
import com.tavultesoft.kmea.util.MapCompat;
|
||||
|
|
@ -112,7 +113,7 @@ public class KeymanSettingsLocalizeActivity extends AppCompatActivity {
|
|||
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
SharedPreferences.Editor editor = prefs.edit();
|
||||
editor.putString(KeymanSettingsActivity.displayLanguageKey, languageTag);
|
||||
editor.putString(DisplayLanguages.displayLanguageKey, languageTag);
|
||||
editor.commit();
|
||||
finish();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,9 +15,9 @@ import java.util.ArrayList;
|
|||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
|
||||
import com.tavultesoft.kmea.BaseActivity;
|
||||
import com.tavultesoft.kmea.KMKeyboardDownloaderActivity;
|
||||
import com.tavultesoft.kmea.KMManager;
|
||||
import com.tavultesoft.kmea.KMManager.KeyboardType;
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import java.net.URL;
|
|||
import java.net.URLEncoder;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
import com.tavultesoft.kmea.BaseActivity;
|
||||
import com.tavultesoft.kmea.KMManager;
|
||||
import com.tavultesoft.kmea.util.KMPLink;
|
||||
|
||||
|
|
|
|||
|
|
@ -66,6 +66,7 @@ dependencies {
|
|||
implementation 'com.google.android.material:material:1.2.1'
|
||||
implementation 'commons-io:commons-io:2.6'
|
||||
implementation 'io.sentry:sentry-android:3.1.0'
|
||||
implementation 'androidx.preference:preference:1.1.1'
|
||||
|
||||
// Robolectric
|
||||
testImplementation 'androidx.test:core:1.2.0'
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
* Copyright (C) 2021 SIL International. All rights reserved.
|
||||
*/
|
||||
|
||||
package com.tavultesoft.kmapro;
|
||||
package com.tavultesoft.kmea;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.ContextWrapper;
|
||||
|
|
@ -11,6 +11,8 @@ import android.content.SharedPreferences;
|
|||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.preference.PreferenceManager;
|
||||
|
||||
import com.tavultesoft.kmea.util.ContextUtils;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
public class BaseActivity extends AppCompatActivity {
|
||||
|
|
@ -20,7 +22,7 @@ public class BaseActivity extends AppCompatActivity {
|
|||
// Override the app locale using the BCP 47 tag from shared preferences
|
||||
// Using PreferenceManager because this is before onCreate()
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(newBase);
|
||||
String languageTag = prefs.getString(KeymanSettingsActivity.displayLanguageKey, DisplayLanguages.unspecifiedLocale);
|
||||
String languageTag = prefs.getString(DisplayLanguages.displayLanguageKey, DisplayLanguages.unspecifiedLocale);
|
||||
if (languageTag == null || languageTag.equals(DisplayLanguages.unspecifiedLocale)) {
|
||||
// Use the default locale
|
||||
super.attachBaseContext(newBase);
|
||||
|
|
@ -2,10 +2,11 @@
|
|||
* Copyright (C) 2021 SIL International. All rights reserved.
|
||||
*/
|
||||
|
||||
package com.tavultesoft.kmapro;
|
||||
package com.tavultesoft.kmea;
|
||||
|
||||
public class DisplayLanguages {
|
||||
private static final String TAG = "DisplayLanguages";
|
||||
public static final String displayLanguageKey = "DisplayLanguage";
|
||||
public static final String unspecifiedLocale = ""; // empty string for app to use device's default locale
|
||||
|
||||
public static class DisplayLanguageType {
|
||||
|
|
@ -22,7 +22,7 @@ import java.util.List;
|
|||
import static com.tavultesoft.kmea.ConfirmDialogFragment.DialogType.DIALOG_TYPE_DOWNLOAD_KEYBOARD;
|
||||
import static com.tavultesoft.kmea.ConfirmDialogFragment.DialogType.DIALOG_TYPE_DOWNLOAD_MODEL;
|
||||
|
||||
public class KMKeyboardDownloaderActivity extends AppCompatActivity {
|
||||
public class KMKeyboardDownloaderActivity extends BaseActivity {
|
||||
// Bundle Keys
|
||||
|
||||
// Cloud
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ import com.tavultesoft.kmea.util.MapCompat;
|
|||
import com.tavultesoft.kmea.util.QRCodeUtil;
|
||||
|
||||
// Public access is necessary to avoid IllegalAccessException
|
||||
public final class KeyboardInfoActivity extends AppCompatActivity {
|
||||
public final class KeyboardInfoActivity extends BaseActivity {
|
||||
|
||||
private static final String TAG = "KeyboardInfoActivity";
|
||||
private static Toolbar toolbar = null;
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ import android.widget.Toast;
|
|||
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
|
||||
public final class KeyboardPickerActivity extends AppCompatActivity {
|
||||
public final class KeyboardPickerActivity extends BaseActivity {
|
||||
|
||||
//TODO: view instances should not be static
|
||||
private static Toolbar toolbar = null;
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ import com.tavultesoft.kmea.util.MapCompat;
|
|||
import static com.tavultesoft.kmea.ConfirmDialogFragment.DialogType.DIALOG_TYPE_DELETE_MODEL;
|
||||
|
||||
// Public access is necessary to avoid IllegalAccessException
|
||||
public final class ModelInfoActivity extends AppCompatActivity {
|
||||
public final class ModelInfoActivity extends BaseActivity {
|
||||
|
||||
private static ArrayList<HashMap<String, String>> infoList = null;
|
||||
private final String titleKey = "title";
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ import java.util.Map;
|
|||
* Gets the list of installable lexical models from Keyman cloud and allows user to download a model.
|
||||
* Displays a list of available models for a language ID.
|
||||
*/
|
||||
public final class ModelPickerActivity extends AppCompatActivity {
|
||||
public final class ModelPickerActivity extends BaseActivity {
|
||||
|
||||
private Context context;
|
||||
private static Toolbar toolbar = null;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
/**
|
||||
* Copyright (C) 2021 SIL International. All rights reserved.
|
||||
*/
|
||||
package com.tavultesoft.kmapro;
|
||||
package com.tavultesoft.kmea.util;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.ContextWrapper;
|
||||
Loading…
Add table
Reference in a new issue