diff --git a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/JSONParser.java b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/JSONParser.java index 9d716bb98d..41b0fad63f 100644 --- a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/JSONParser.java +++ b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/JSONParser.java @@ -11,6 +11,7 @@ import java.io.FileReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; +import java.io.InterruptedIOException; import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.URL; @@ -44,6 +45,10 @@ public final class JSONParser { Log.e(logTag, (e.getMessage() == null) ? "UnsupportedEncodingException" : e.getMessage()); jsonObj = null; System.err.println(e); + } catch (InterruptedIOException e) { + // Disregard from cancelling action + Log.e(logTag, (e.getMessage() == null) ? "InterruptedIOException" : e.getMessage()); + jsonObj = null; } catch (IOException e) { Log.e(logTag, (e.getMessage() == null) ? "IOException" : e.getMessage()); jsonObj = null; 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 36a039ea83..d98ae3f1eb 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 @@ -74,7 +74,7 @@ public class KMKeyboardDownloaderActivity extends AppCompatActivity { private static String filename; private static ArrayList kbDownloadEventListeners = null; - + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -372,7 +372,6 @@ public class KMKeyboardDownloaderActivity extends AppCompatActivity { * @param showProgressDialog */ public static void download(final Context context, final boolean showProgressDialog) { - new DownloadTask(context, showProgressDialog).execute(); } 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 f70d1b6c24..07f9bd8345 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 @@ -26,6 +26,7 @@ import com.tavultesoft.kmea.KeyboardEventHandler.OnKeyboardDownloadEventListener import com.tavultesoft.kmea.BuildConfig; import android.annotation.SuppressLint; +import android.content.DialogInterface; import android.support.v7.app.AppCompatActivity; import android.app.ProgressDialog; import android.content.Context; @@ -338,9 +339,21 @@ public final class LanguageListActivity extends AppCompatActivity implements OnK } if (hasConnection && !loadFromCache) { - progressDialog = new ProgressDialog(context); - progressDialog.setMessage(getString(R.string.loading)); - progressDialog.setCancelable(false); + progressDialog = new ProgressDialog(context, R.style.ProgressDialog); + progressDialog.setMessage(getString(R.string.getting_keyboard_catalog)); + progressDialog.setButton(DialogInterface.BUTTON_NEGATIVE, context.getString(R.string.label_cancel), + new DialogInterface.OnClickListener() { + + @Override + public void onClick(DialogInterface dialogInterface, int which) { + cancel(true); + progressDialog.dismiss(); + progressDialog = null; + LanguageListActivity.this.finish(); + return; + } + }); + progressDialog.setCancelable(true); if (!((AppCompatActivity) context).isFinishing()) { progressDialog.show(); } else { diff --git a/android/KMEA/app/src/main/res/values/strings.xml b/android/KMEA/app/src/main/res/values/strings.xml index baf64a1f9a..3c65758b8c 100644 --- a/android/KMEA/app/src/main/res/values/strings.xml +++ b/android/KMEA/app/src/main/res/values/strings.xml @@ -33,7 +33,7 @@ Custom Keyboard Downloading keyboard… Keyboard Updates Available - Loading… + Getting keyboard catalog.\nThis may take a while… Updating keyboards… diff --git a/android/KMEA/app/src/main/res/values/styles.xml b/android/KMEA/app/src/main/res/values/styles.xml index 35f8f78201..b44ffde24b 100644 --- a/android/KMEA/app/src/main/res/values/styles.xml +++ b/android/KMEA/app/src/main/res/values/styles.xml @@ -21,6 +21,12 @@ @android:color/white + +