From 8ce4b4f30bd0bd851336e5236a97eac0f7d49353 Mon Sep 17 00:00:00 2001 From: Darcy Wong Date: Tue, 23 Oct 2018 23:13:45 +0700 Subject: [PATCH 1/4] Consolidate UI strings to strings.xml --- .../tavultesoft/kmapro/BookmarksActivity.java | 6 +-- .../kmapro/GetStartedActivity.java | 8 ++-- .../com/tavultesoft/kmapro/MainActivity.java | 16 ++++---- .../tavultesoft/kmapro/PackageActivity.java | 12 +++--- .../kMAPro/src/main/res/values/strings.xml | 21 +++++++--- .../kmea/ConfirmDialogFragment.java | 6 +-- .../kmea/KMKeyboardDownloaderActivity.java | 4 +- .../java/com/tavultesoft/kmea/KMManager.java | 21 +--------- .../kmea/KeyboardInfoActivity.java | 4 +- .../kmea/KeyboardPickerActivity.java | 28 ++++++------- .../kmea/LanguageListActivity.java | 4 +- .../src/main/res/layout/overlay_layout.xml | 26 ------------- android/KMEA/app/src/main/res/menu/popup.xml | 2 +- .../KMEA/app/src/main/res/values/strings.xml | 39 ++++++++++++------- 14 files changed, 88 insertions(+), 109 deletions(-) delete mode 100644 android/KMEA/app/src/main/res/layout/overlay_layout.xml diff --git a/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/BookmarksActivity.java b/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/BookmarksActivity.java index 9ebfaef146..d6e7c0d405 100644 --- a/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/BookmarksActivity.java +++ b/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/BookmarksActivity.java @@ -117,9 +117,9 @@ public class BookmarksActivity extends AppCompatActivity { @Override public void onClick(View v) { AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(context); - dialogBuilder.setTitle("Add Bookmark"); + dialogBuilder.setTitle(getString(R.string.add_bookmark)); dialogBuilder.setView(getLayoutInflater().inflate(R.layout.add_bookmark_dialog_layout, null)); - dialogBuilder.setPositiveButton("Add", new DialogInterface.OnClickListener() { + dialogBuilder.setPositiveButton(getString(R.string.label_add), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { EditText titleField = (EditText) mDialog.findViewById(R.id.title); EditText urlField = (EditText) mDialog.findViewById(R.id.url); @@ -154,7 +154,7 @@ public class BookmarksActivity extends AppCompatActivity { } }); - dialogBuilder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { + dialogBuilder.setNegativeButton(getString(R.string.label_cancel), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // Cancel } diff --git a/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/GetStartedActivity.java b/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/GetStartedActivity.java index d9d3fefaf5..e1edd481b2 100644 --- a/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/GetStartedActivity.java +++ b/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/GetStartedActivity.java @@ -73,25 +73,25 @@ public class GetStartedActivity extends AppCompatActivity { HashMap hashMap = new HashMap(); hashMap.put(iconKey, "0"); - hashMap.put(textKey, context.getResources().getString(R.string.add_a_keyboard)); + hashMap.put(textKey, getString(R.string.add_a_keyboard)); hashMap.put(isEnabledKey, "true"); list.add(hashMap); hashMap = new HashMap(); hashMap.put(iconKey, "0"); - hashMap.put(textKey, context.getResources().getString(R.string.enable_system_keyboard)); + hashMap.put(textKey, getString(R.string.enable_system_keyboard)); hashMap.put(isEnabledKey, "true"); list.add(hashMap); hashMap = new HashMap(); hashMap.put(iconKey, "0"); - hashMap.put(textKey, context.getResources().getString(R.string.set_keyman_as_default)); + hashMap.put(textKey, getString(R.string.set_keyman_as_default)); hashMap.put(isEnabledKey, "false"); list.add(hashMap); hashMap = new HashMap(); hashMap.put(iconKey, "0"); - hashMap.put(textKey, context.getResources().getString(R.string.more_info)); + hashMap.put(textKey, getString(R.string.more_info)); hashMap.put(isEnabledKey, "true"); list.add(hashMap); diff --git a/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/MainActivity.java b/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/MainActivity.java index b0a9242a9e..9e17a5d6ae 100644 --- a/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/MainActivity.java +++ b/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/MainActivity.java @@ -298,7 +298,7 @@ public class MainActivity extends AppCompatActivity implements OnKeyboardEventLi downloadIntent.putExtra("receiver", resultReceiver); progressDialog = new ProgressDialog(MainActivity.this); - progressDialog.setMessage("Downloading keyboard package\n" + filename + "..."); + progressDialog.setMessage(getString(R.string.downloading_keyboard_package) + "\n" + filename + "..."); progressDialog.setCancelable(false); progressDialog.show(); @@ -509,9 +509,9 @@ public class MainActivity extends AppCompatActivity implements OnKeyboardEventLi final View textSizeController = inflater.inflate(R.layout.text_size_controller, null); final AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(MainActivity.this); dialogBuilder.setIcon(R.drawable.ic_light_action_textsize); - dialogBuilder.setTitle(String.format("Text Size: %d", textSize)); + dialogBuilder.setTitle(String.format(getString(R.string.text_size) + ": %d", textSize)); dialogBuilder.setView(textSizeController); - dialogBuilder.setPositiveButton("OK", new DialogInterface.OnClickListener() { + dialogBuilder.setPositiveButton(getString(R.string.label_ok), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // Done @@ -540,7 +540,7 @@ public class MainActivity extends AppCompatActivity implements OnKeyboardEventLi public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { textSize = progress + minTextSize; textView.setTextSize((float) textSize); - dialog.setTitle(String.format("Text Size: %d", textSize)); + dialog.setTitle(String.format(getString(R.string.text_size) + ": %d", textSize)); } }); @@ -568,16 +568,16 @@ public class MainActivity extends AppCompatActivity implements OnKeyboardEventLi private void showClearTextDialog() { AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(MainActivity.this); dialogBuilder.setIcon(R.drawable.ic_light_action_trash); - dialogBuilder.setTitle("Clear Text"); - dialogBuilder.setMessage("\nAll text will be cleared\n"); - dialogBuilder.setPositiveButton("OK", new DialogInterface.OnClickListener() { + dialogBuilder.setTitle(getString(R.string.action_clear_text)); + dialogBuilder.setMessage("\n" + getString(R.string.all_text_will_be_cleared) + "\n"); + dialogBuilder.setPositiveButton(getString(R.string.label_ok), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { textView.setText(""); } }); - dialogBuilder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { + dialogBuilder.setNegativeButton(getString(R.string.label_cancel), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // Cancel diff --git a/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/PackageActivity.java b/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/PackageActivity.java index 673a2b4c0f..0d5502a648 100644 --- a/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/PackageActivity.java +++ b/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/PackageActivity.java @@ -61,7 +61,7 @@ public class PackageActivity extends AppCompatActivity { try { tempPackagePath = PackageProcessor.unzipKMP(kmpFile); } catch (Exception e) { - String message = "Failed to extract\n" + kmpFile.getAbsolutePath(); + String message = getString(R.string.failed_to_extract) + "\n" + kmpFile.getAbsolutePath(); showErrorDialog(context, pkgId, message); } @@ -80,7 +80,7 @@ public class PackageActivity extends AppCompatActivity { packageActivityTitle.setTextSize(getResources().getDimension(R.dimen.titlebar_label_textsize)); packageActivityTitle.setGravity(Gravity.CENTER); - String titleStr = "Install Keyboard Package " + pkgVersion; + String titleStr = getString(R.string.install_keyboard_package) + pkgVersion; packageActivityTitle.setText(titleStr); getSupportActionBar().setCustomView(packageActivityTitle); @@ -161,12 +161,12 @@ public class PackageActivity extends AppCompatActivity { } cleanup(); } else { - showErrorDialog(context, pkgId, "No new touch-optimized keyboards to install"); + showErrorDialog(context, pkgId, getString(R.string.no_new_touch_keyboards_to_install)); } } catch (Exception e) { Log.e("PackageActivity", "Error " + e); - showErrorDialog(context, pkgId, "No valid touch-optimized keyboards to install"); + showErrorDialog(context, pkgId, getString(R.string.no_valid_touch_keyboards_to_install)); } } }); @@ -216,11 +216,11 @@ public class PackageActivity extends AppCompatActivity { private void showErrorDialog(Context context, String pkgId, String message) { AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context); - alertDialogBuilder.setTitle("Package " + pkgId + " failed to install"); + alertDialogBuilder.setTitle(getString(R.string.title_package) + pkgId + getString(R.string.failed_to_install)); alertDialogBuilder .setMessage(message) .setCancelable(false) - .setNeutralButton("Close",new DialogInterface.OnClickListener() { + .setNeutralButton(getString(R.string.label_close),new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,int id) { if (dialog != null) { dialog.dismiss(); diff --git a/android/KMAPro/kMAPro/src/main/res/values/strings.xml b/android/KMAPro/kMAPro/src/main/res/values/strings.xml index 386f0cc7c0..004c2ea05e 100644 --- a/android/KMAPro/kMAPro/src/main/res/values/strings.xml +++ b/android/KMAPro/kMAPro/src/main/res/values/strings.xml @@ -4,17 +4,22 @@ Keyman Version Copyright © 1992- - Settings Share Web Browser Text Size More Clear Text Info + Start typing here… + + + Text size Text size up Text size down - Start typing here… - Share + + + + All text will be cleared Get Started @@ -28,11 +33,17 @@ Search or type URL Bookmarks No Bookmarks + Add Bookmark Title Url - Cancel - Install + Package + failed to install + Downloading keyboard package + Failed to extract + Install Keyboard Package + No new touch-optimized keyboards to install + No valid touch-optimized keyboards to install diff --git a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/ConfirmDialogFragment.java b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/ConfirmDialogFragment.java index d08d9f2f22..0c0c78ba39 100644 --- a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/ConfirmDialogFragment.java +++ b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/ConfirmDialogFragment.java @@ -21,8 +21,8 @@ public class ConfirmDialogFragment extends DialogFragment { return new AlertDialog.Builder(getActivity()) .setTitle(title) - .setMessage("Would you like to download this keyboard?") - .setPositiveButton("Download", new DialogInterface.OnClickListener() { + .setMessage(getString(R.string.confirm_download)) + .setPositiveButton(getString(R.string.label_download), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // Download keyboard @@ -33,7 +33,7 @@ public class ConfirmDialogFragment extends DialogFragment { } } }) - .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { + .setNegativeButton(getString(R.string.label_cancel), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // Cancel dialog.dismiss(); diff --git a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KMKeyboardDownloaderActivity.java b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KMKeyboardDownloaderActivity.java index 3227605b4d..e533a6f835 100644 --- a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KMKeyboardDownloaderActivity.java +++ b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KMKeyboardDownloaderActivity.java @@ -153,7 +153,7 @@ public class KMKeyboardDownloaderActivity extends AppCompatActivity { super.onPreExecute(); if (showProgressDialog) { progressDialog = new ProgressDialog(context); - progressDialog.setMessage("Downloading keyboard..."); + progressDialog.setMessage(context.getString(R.string.downloading_keyboard)); progressDialog.setCancelable(false); if (!((AppCompatActivity) context).isFinishing()) { progressDialog.show(); @@ -178,7 +178,7 @@ public class KMKeyboardDownloaderActivity extends AppCompatActivity { throw new Exception(exceptionStr); } - String deviceType = context.getResources().getString(R.string.device_type); + String deviceType = context.getString(R.string.device_type); if (deviceType.equals("AndroidTablet")) { deviceType = "androidtablet"; } else { diff --git a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KMManager.java b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KMManager.java index f077b18ac9..49bee91910 100644 --- a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KMManager.java +++ b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KMManager.java @@ -266,25 +266,6 @@ public final class KMManager { parent.removeView(SystemKeyboard); keyboardLayout.addView(SystemKeyboard); - /* - final RelativeLayout overlayLayout = new RelativeLayout(appContext); - overlayLayout.setLayoutParams(new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT)); - LayoutInflater inflater = (LayoutInflater) appContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); - RelativeLayout overlayView = (RelativeLayout) inflater.inflate(R.layout.overlay_layout, null, false); - overlayView.setLayoutParams(SystemKeyboard.getLayoutParams()); - overlayView.setBackgroundColor(Color.argb(192, 0, 0, 0)); - overlayView.setClickable(true); - overlayLayout.addView(overlayView); - Button activateButton = (Button) overlayView.findViewById(R.id.button1); - activateButton.setOnClickListener(new OnClickListener(){ - @Override - public void onClick(View v) { - mainLayout.removeView(overlayLayout); - Toast.makeText(context, "Reactivated", Toast.LENGTH_LONG).show(); - } - }); - */ - mainLayout.addView(keyboardLayout); //mainLayout.addView(overlayLayout); return mainLayout; @@ -1507,7 +1488,7 @@ public final class KMManager { SystemKeyboard.showHelpBubble(context, fx, fy); } } else if (url.indexOf("showKeyPreview") >= 0) { - String deviceType = context.getResources().getString(R.string.device_type); + String deviceType = context.getString(R.string.device_type); if (deviceType.equals("AndroidTablet")) { return false; } diff --git a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KeyboardInfoActivity.java b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KeyboardInfoActivity.java index 01619c88a0..13f9430357 100644 --- a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KeyboardInfoActivity.java +++ b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KeyboardInfoActivity.java @@ -70,7 +70,7 @@ public final class KeyboardInfoActivity extends AppCompatActivity { infoList = new ArrayList>(); String icon = "0"; HashMap hashMap = new HashMap(); - hashMap.put(titleKey, "Keyboard version"); + hashMap.put(titleKey, getString(R.string.keyboard_version)); hashMap.put(subtitleKey, kbVersion); hashMap.put(iconKey, icon); infoList.add(hashMap); @@ -79,7 +79,7 @@ public final class KeyboardInfoActivity extends AppCompatActivity { if (!isCustomKeyboard || customHelpLink != null) { icon = String.valueOf(R.drawable.ic_arrow_forward); hashMap = new HashMap(); - hashMap.put(titleKey, "Help link"); + hashMap.put(titleKey, getString(R.string.help_link)); hashMap.put(subtitleKey, ""); hashMap.put(iconKey, icon); infoList.add(hashMap); diff --git a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KeyboardPickerActivity.java b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KeyboardPickerActivity.java index 6ca2e65aa3..def0c144d9 100644 --- a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KeyboardPickerActivity.java +++ b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KeyboardPickerActivity.java @@ -162,10 +162,10 @@ public final class KeyboardPickerActivity extends AppCompatActivity implements O context.startActivity(i); } else { AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(context); - dialogBuilder.setTitle(context.getResources().getString(R.string.title_add_keyboard)); + dialogBuilder.setTitle(getString(R.string.title_add_keyboard)); dialogBuilder.setIcon(context.getResources().getDrawable(android.R.drawable.ic_input_add)); - dialogBuilder.setMessage("\nCannot connect to Keyman server!\n"); - dialogBuilder.setPositiveButton("OK", null); + dialogBuilder.setMessage("\n" + getString(R.string.cannot_connect) + "\n"); + dialogBuilder.setPositiveButton(getString(R.string.label_ok), null); AlertDialog dialog = dialogBuilder.create(); dialog.show(); } @@ -196,7 +196,7 @@ public final class KeyboardPickerActivity extends AppCompatActivity implements O public void run() { boolean shouldCheckUpdate = false; if (lastUpdateCheck == null) { - SharedPreferences prefs = context.getSharedPreferences(context.getString(R.string.kma_prefs_name), Context.MODE_PRIVATE); + SharedPreferences prefs = context.getSharedPreferences(getString(R.string.kma_prefs_name), Context.MODE_PRIVATE); Long lastUpdateCheckTime = prefs.getLong("lastUpdateCheck", 0); if (lastUpdateCheckTime > 0) { lastUpdateCheck = Calendar.getInstance(); @@ -523,10 +523,10 @@ public final class KeyboardPickerActivity extends AppCompatActivity implements O context.startActivity(i); } else { AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(context); - dialogBuilder.setTitle(context.getResources().getString(R.string.title_add_keyboard)); + dialogBuilder.setTitle(context.getString(R.string.title_add_keyboard)); dialogBuilder.setIcon(context.getResources().getDrawable(android.R.drawable.ic_input_add)); - dialogBuilder.setMessage("\nCannot connect to Keyman server!\n"); - dialogBuilder.setPositiveButton("OK", null); + dialogBuilder.setMessage("\n" + context.getString(R.string.cannot_connect) + "\n"); + dialogBuilder.setPositiveButton(context.getString(R.string.label_ok), null); AlertDialog dialog = dialogBuilder.create(); dialog.show(); } @@ -544,7 +544,7 @@ public final class KeyboardPickerActivity extends AppCompatActivity implements O checkingUpdates = true; if (hasConnection) { progressDialog = new ProgressDialog(context); - progressDialog.setMessage("Checking keyboard updates..."); + progressDialog.setMessage(context.getString(R.string.checking_keyboard_updates)); progressDialog.setCancelable(false); if (!((AppCompatActivity) context).isFinishing()) { progressDialog.show(); @@ -560,7 +560,7 @@ public final class KeyboardPickerActivity extends AppCompatActivity implements O int ret = 0; if (hasConnection && !isCancelled()) { try { - String deviceType = context.getResources().getString(R.string.device_type); + String deviceType = context.getString(R.string.device_type); if (deviceType.equals("AndroidTablet")) { deviceType = "androidtablet"; } else { @@ -619,9 +619,9 @@ public final class KeyboardPickerActivity extends AppCompatActivity implements O failedUpdateCount = 0; updateCount = result; AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(context); - dialogBuilder.setTitle("Keyboard Updates Available"); - dialogBuilder.setMessage("Would you like to update keyboards now?"); - dialogBuilder.setPositiveButton("Update", new DialogInterface.OnClickListener() { + dialogBuilder.setTitle(context.getString(R.string.keyboard_update_available)); + dialogBuilder.setMessage(context.getString(R.string.confirm_update)); + dialogBuilder.setPositiveButton(context.getString(R.string.label_update), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // Update keyboards if (KMManager.hasConnection(context)) { @@ -640,7 +640,7 @@ public final class KeyboardPickerActivity extends AppCompatActivity implements O if (Float.valueOf(newKbVersion) > Float.valueOf(kbVersion)) { if (updateProgress == null || !updateProgress.isShowing()) { updateProgress = new ProgressDialog(context); - updateProgress.setMessage("Updating keyboards..."); + updateProgress.setMessage(context.getString(R.string.updating_keyboards)); updateProgress.setCancelable(false); updateProgress.show(); } @@ -665,7 +665,7 @@ public final class KeyboardPickerActivity extends AppCompatActivity implements O } }); - dialogBuilder.setNegativeButton("Later", new DialogInterface.OnClickListener() { + dialogBuilder.setNegativeButton(context.getString(R.string.label_later), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { lastUpdateCheck = Calendar.getInstance(); checkingUpdates = false; diff --git a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/LanguageListActivity.java b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/LanguageListActivity.java index 89041827f9..f70d1b6c24 100644 --- a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/LanguageListActivity.java +++ b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/LanguageListActivity.java @@ -339,7 +339,7 @@ public final class LanguageListActivity extends AppCompatActivity implements OnK if (hasConnection && !loadFromCache) { progressDialog = new ProgressDialog(context); - progressDialog.setMessage("Loading..."); + progressDialog.setMessage(getString(R.string.loading)); progressDialog.setCancelable(false); if (!((AppCompatActivity) context).isFinishing()) { progressDialog.show(); @@ -362,7 +362,7 @@ public final class LanguageListActivity extends AppCompatActivity implements OnK jsonObj = getCachedJSONObject(context); } else if (hasConnection) { try { - String deviceType = context.getResources().getString(R.string.device_type); + String deviceType = getString(R.string.device_type); if (deviceType.equals("AndroidTablet")) { deviceType = "androidtablet"; } else { diff --git a/android/KMEA/app/src/main/res/layout/overlay_layout.xml b/android/KMEA/app/src/main/res/layout/overlay_layout.xml deleted file mode 100644 index 50915d4da3..0000000000 --- a/android/KMEA/app/src/main/res/layout/overlay_layout.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - -