forked from organicmaps/organicmaps
[android] Fixed error dialog during autoupdate maps after whatsnew screens
This commit is contained in:
parent
e86e1922f6
commit
5945d5d737
2 changed files with 23 additions and 15 deletions
|
@ -84,7 +84,17 @@ public final class MapManager
|
|||
Statistics.INSTANCE.trackEvent(event, Statistics.params().add(Statistics.EventParam.TYPE, text));
|
||||
}
|
||||
|
||||
public static void showError(final Activity activity, final StorageCallbackData errorData, @Nullable final Utils.Proc<Boolean> dialogClickListener)
|
||||
public static void showError(final Activity activity, final StorageCallbackData errorData,
|
||||
@Nullable final Utils.Proc<Boolean> dialogClickListener)
|
||||
{
|
||||
if (!nativeIsAutoretryFailed())
|
||||
return;
|
||||
|
||||
showErrorDialog(activity, errorData, dialogClickListener);
|
||||
}
|
||||
|
||||
public static void showErrorDialog(final Activity activity, final StorageCallbackData errorData,
|
||||
@Nullable final Utils.Proc<Boolean> dialogClickListener)
|
||||
{
|
||||
if (sCurrentErrorDialog != null)
|
||||
{
|
||||
|
@ -93,9 +103,6 @@ public final class MapManager
|
|||
return;
|
||||
}
|
||||
|
||||
if (!nativeIsAutoretryFailed())
|
||||
return;
|
||||
|
||||
@StringRes int text;
|
||||
switch (errorData.errorCode)
|
||||
{
|
||||
|
@ -114,7 +121,16 @@ public final class MapManager
|
|||
AlertDialog dlg = new AlertDialog.Builder(activity)
|
||||
.setTitle(R.string.country_status_download_failed)
|
||||
.setMessage(text)
|
||||
.setNegativeButton(android.R.string.cancel, null)
|
||||
.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener()
|
||||
{
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which)
|
||||
{
|
||||
sCurrentErrorDialog = null;
|
||||
if (dialogClickListener != null)
|
||||
dialogClickListener.invoke(false);
|
||||
}
|
||||
})
|
||||
.setPositiveButton(R.string.downloader_retry, new DialogInterface.OnClickListener()
|
||||
{
|
||||
@Override
|
||||
|
@ -132,16 +148,8 @@ public final class MapManager
|
|||
}
|
||||
});
|
||||
}
|
||||
}).setOnDismissListener(new DialogInterface.OnDismissListener()
|
||||
{
|
||||
@Override
|
||||
public void onDismiss(DialogInterface dialog)
|
||||
{
|
||||
sCurrentErrorDialog = null;
|
||||
if (dialogClickListener != null)
|
||||
dialogClickListener.invoke(false);
|
||||
}
|
||||
}).create();
|
||||
dlg.setCanceledOnTouchOutside(false);
|
||||
dlg.show();
|
||||
sCurrentErrorDialog = new WeakReference<>(dlg);
|
||||
}
|
||||
|
|
|
@ -94,7 +94,7 @@ public class UpdaterDialogFragment extends BaseMwmDialogFragment
|
|||
text = String.valueOf(item.errorCode);
|
||||
}
|
||||
Statistics.INSTANCE.trackDownloaderDialogError(mTotalSizeMb, text);
|
||||
MapManager.showError(getActivity(), item, new Utils.Proc<Boolean>()
|
||||
MapManager.showErrorDialog(getActivity(), item, new Utils.Proc<Boolean>()
|
||||
{
|
||||
@Override
|
||||
public void invoke(@NonNull Boolean result)
|
||||
|
|
Loading…
Add table
Reference in a new issue