From 81ad9814abfd655132d321b60ba5a201ebceaaae Mon Sep 17 00:00:00 2001 From: Alexander Zatsepin Date: Tue, 8 May 2018 16:17:52 +0300 Subject: [PATCH] [android] Added disabling cancel button in restoring progress dialog while restore filase are being applied --- .../maps/bookmarks/BookmarkBackupController.java | 15 ++++++++++++--- android/src/com/mapswithme/util/DialogUtils.java | 4 ++-- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/android/src/com/mapswithme/maps/bookmarks/BookmarkBackupController.java b/android/src/com/mapswithme/maps/bookmarks/BookmarkBackupController.java index c0b20bf776..99b952df0d 100644 --- a/android/src/com/mapswithme/maps/bookmarks/BookmarkBackupController.java +++ b/android/src/com/mapswithme/maps/bookmarks/BookmarkBackupController.java @@ -7,6 +7,7 @@ import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.v4.app.FragmentActivity; import android.view.View; +import android.widget.Button; import com.mapswithme.maps.Framework; import com.mapswithme.maps.R; @@ -281,8 +282,8 @@ public class BookmarkBackupController implements Authorizer.Callback, DialogInterface.OnClickListener clickListener = (dialog, which) -> requestRestoring(); DialogUtils.showAlertDialog(mContext, R.string.error_server_title, - mContext.getString(R.string.error_server_message), - R.string.try_again, clickListener, R.string.cancel); + R.string.error_server_message, R.string.try_again, + clickListener, R.string.cancel); break; case CLOUD_DISK_ERROR: DialogUtils.showAlertDialog(mContext, R.string.dialog_routing_system_error, @@ -325,7 +326,7 @@ public class BookmarkBackupController implements Authorizer.Callback, break; case CLOUD_NO_BACKUP: DialogUtils.showAlertDialog(mContext, R.string.bookmarks_restore_empty_title, - mContext.getString(R.string.bookmarks_restore_empty_message), + R.string.bookmarks_restore_empty_message, R.string.ok, cancelListener); break; case CLOUD_NOT_ENOUGH_DISK_SPACE: @@ -345,5 +346,13 @@ public class BookmarkBackupController implements Authorizer.Callback, public void onRestoredFilesPrepared() { LOGGER.d(TAG, "onRestoredFilesPrepared()"); + if (mRestoringProgressDialog == null || !mRestoringProgressDialog.isShowing()) + return; + + Button cancelButton = mRestoringProgressDialog.getButton(DialogInterface.BUTTON_NEGATIVE); + if (cancelButton == null) + throw new AssertionError("Restoring progress dialog must contain cancel button!"); + + cancelButton.setEnabled(false); } } diff --git a/android/src/com/mapswithme/util/DialogUtils.java b/android/src/com/mapswithme/util/DialogUtils.java index f4f4c58c3f..7d701cd516 100644 --- a/android/src/com/mapswithme/util/DialogUtils.java +++ b/android/src/com/mapswithme/util/DialogUtils.java @@ -106,10 +106,10 @@ public class DialogUtils } public static void showAlertDialog(@NonNull Context context, @StringRes int titleId, - @NonNull CharSequence msg, @StringRes int posBtn, + @StringRes int msgId, @StringRes int posBtn, @NonNull DialogInterface.OnClickListener posClickListener) { - buildAlertDialog(context, titleId, msg, posBtn, posClickListener).show(); + buildAlertDialog(context, titleId, context.getString(msgId), posBtn, posClickListener).show(); }