aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSatoshi Kataoka <satok@google.com>2013-06-27 10:32:04 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-06-27 10:32:05 +0000
commitec69a259c60b89cfe5157dc6b43aa17f2f60d6ca (patch)
treed3200bfd1af637871f339716ea10af22b7740c7c
parenta2bfd46adf6aca5864be3d6ef2204bc18008e9c9 (diff)
parentbd84a00fc140d2d02b8eafbf6c94c009da62c9cd (diff)
downloadlatinime-ec69a259c60b89cfe5157dc6b43aa17f2f60d6ca.tar.gz
latinime-ec69a259c60b89cfe5157dc6b43aa17f2f60d6ca.tar.xz
latinime-ec69a259c60b89cfe5157dc6b43aa17f2f60d6ca.zip
Merge "Open an API in ExternalDictionaryGetterForDebug"
-rw-r--r--java/src/com/android/inputmethod/latin/ExternalDictionaryGetterForDebug.java28
1 files changed, 24 insertions, 4 deletions
diff --git a/java/src/com/android/inputmethod/latin/ExternalDictionaryGetterForDebug.java b/java/src/com/android/inputmethod/latin/ExternalDictionaryGetterForDebug.java
index 18f4920d9..47d9bf34d 100644
--- a/java/src/com/android/inputmethod/latin/ExternalDictionaryGetterForDebug.java
+++ b/java/src/com/android/inputmethod/latin/ExternalDictionaryGetterForDebug.java
@@ -19,6 +19,7 @@ package com.android.inputmethod.latin;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
+import android.content.DialogInterface.OnCancelListener;
import android.content.DialogInterface.OnClickListener;
import android.os.Environment;
@@ -59,7 +60,7 @@ public class ExternalDictionaryGetterForDebug {
if (0 == fileNames.length) {
showNoFileDialog(context);
} else if (1 == fileNames.length) {
- askInstallFile(context, fileNames[0]);
+ askInstallFile(context, SOURCE_FOLDER, fileNames[0], null /* completeRunnable */);
} else {
showChooseFileDialog(context, fileNames);
}
@@ -82,14 +83,19 @@ public class ExternalDictionaryGetterForDebug {
.setItems(fileNames, new OnClickListener() {
@Override
public void onClick(final DialogInterface dialog, final int which) {
- askInstallFile(context, fileNames[which]);
+ askInstallFile(context, SOURCE_FOLDER, fileNames[which],
+ null /* completeRunnable */);
}
})
.create().show();
}
- private static void askInstallFile(final Context context, final String fileName) {
- final File file = new File(SOURCE_FOLDER, fileName.toString());
+ /**
+ * Shows a dialog which offers the user to install the external dictionary.
+ */
+ public static void askInstallFile(final Context context, final String dirPath,
+ final String fileName, final Runnable completeRunnable) {
+ final File file = new File(dirPath, fileName.toString());
final FileHeader header = DictionaryInfoUtils.getDictionaryFileHeaderOrNull(file);
final StringBuilder message = new StringBuilder();
final String locale = header.getLocaleString();
@@ -109,12 +115,26 @@ public class ExternalDictionaryGetterForDebug {
@Override
public void onClick(final DialogInterface dialog, final int which) {
dialog.dismiss();
+ if (completeRunnable != null) {
+ completeRunnable.run();
+ }
}
}).setPositiveButton(android.R.string.ok, new OnClickListener() {
@Override
public void onClick(final DialogInterface dialog, final int which) {
installFile(context, file, header);
dialog.dismiss();
+ if (completeRunnable != null) {
+ completeRunnable.run();
+ }
+ }
+ }).setOnCancelListener(new OnCancelListener() {
+ @Override
+ public void onCancel(DialogInterface dialog) {
+ // Canceled by the user by hitting the back key
+ if (completeRunnable != null) {
+ completeRunnable.run();
+ }
}
}).create().show();
}