Show "Retry" button on download failure

Signed-off-by: kavikhalique <kavikhalique3@gmail.com>
This commit is contained in:
kavikhalique
2025-06-21 02:26:07 +05:30
committed by Konstantin Pastbin
parent 71386ce395
commit f8d1914037

View File

@@ -45,6 +45,15 @@ class BottomPanel
} }
}; };
private final View.OnClickListener mRetryListener = new View.OnClickListener()
{
@Override
public void onClick(View v)
{
MapManager.warn3gAndRetry(mFragment.requireActivity(), mFragment.getCurrentRoot(), null);
}
};
BottomPanel(DownloaderFragment fragment, View frame) BottomPanel(DownloaderFragment fragment, View frame)
{ {
mFragment = fragment; mFragment = fragment;
@@ -72,6 +81,12 @@ class BottomPanel
mButton.setOnClickListener(mDownloadListener); mButton.setOnClickListener(mDownloadListener);
} }
private void setRetryFailedStates()
{
mButton.setText(R.string.downloader_retry);
mButton.setOnClickListener(mRetryListener);
}
private void setCancelState() private void setCancelState()
{ {
mButton.setText(R.string.downloader_cancel_all); mButton.setText(R.string.downloader_cancel_all);
@@ -101,7 +116,7 @@ class BottomPanel
} // Special case for "Countries" node when no maps currently downloaded. } // Special case for "Countries" node when no maps currently downloaded.
case STATUS_DOWNLOADABLE, STATUS_DONE, STATUS_PARTLY -> show = false; case STATUS_DOWNLOADABLE, STATUS_DONE, STATUS_PARTLY -> show = false;
case STATUS_PROGRESS, STATUS_APPLYING, STATUS_ENQUEUED -> setCancelState(); case STATUS_PROGRESS, STATUS_APPLYING, STATUS_ENQUEUED -> setCancelState();
case STATUS_FAILED -> setDownloadAllState(); case STATUS_FAILED -> setRetryFailedStates();
default -> throw new IllegalArgumentException("Inappropriate status for \"" + root + "\": " + status); default -> throw new IllegalArgumentException("Inappropriate status for \"" + root + "\": " + status);
} }
} }
@@ -119,6 +134,7 @@ class BottomPanel
} }
case STATUS_DONE -> show = false; case STATUS_DONE -> show = false;
case STATUS_PROGRESS, STATUS_APPLYING, STATUS_ENQUEUED -> setCancelState(); case STATUS_PROGRESS, STATUS_APPLYING, STATUS_ENQUEUED -> setCancelState();
case STATUS_FAILED -> setRetryFailedStates();
default -> setDownloadAllState(); default -> setDownloadAllState();
} }
} }