diff --git a/app/src/full/java/org/fdroid/fdroid/views/swap/SwapWorkflowActivity.java b/app/src/full/java/org/fdroid/fdroid/views/swap/SwapWorkflowActivity.java index 18d7ddb2e..1f484478a 100644 --- a/app/src/full/java/org/fdroid/fdroid/views/swap/SwapWorkflowActivity.java +++ b/app/src/full/java/org/fdroid/fdroid/views/swap/SwapWorkflowActivity.java @@ -1129,8 +1129,21 @@ public class SwapWorkflowActivity extends AppCompatActivity { private final BroadcastReceiver repoUpdateReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { - - setUpConnectingProgressText(intent.getStringExtra(UpdateService.EXTRA_MESSAGE)); + String message = intent.getStringExtra(UpdateService.EXTRA_MESSAGE); + if (message == null) { + CharSequence[] repoErrors = intent.getCharSequenceArrayExtra(UpdateService.EXTRA_REPO_ERRORS); + if (repoErrors != null) { + StringBuilder msgBuilder = new StringBuilder(); + for (CharSequence error : repoErrors) { + if (msgBuilder.length() > 0) { + msgBuilder.append(" + "); + } + msgBuilder.append(error); + } + message = msgBuilder.toString(); + } + } + setUpConnectingProgressText(message); ProgressBar progressBar = container.findViewById(R.id.progress_bar); Button tryAgainButton = container.findViewById(R.id.try_again); diff --git a/app/src/main/java/org/fdroid/fdroid/UpdateService.java b/app/src/main/java/org/fdroid/fdroid/UpdateService.java index dfbfcac9a..9c45db4f9 100644 --- a/app/src/main/java/org/fdroid/fdroid/UpdateService.java +++ b/app/src/main/java/org/fdroid/fdroid/UpdateService.java @@ -487,7 +487,12 @@ public class UpdateService extends JobIntentService { } } catch (IndexUpdater.UpdateException e) { errorRepos++; - repoErrors.add(e.getLocalizedMessage()); + Throwable cause = e.getCause(); + if (cause == null) { + repoErrors.add(e.getLocalizedMessage()); + } else { + repoErrors.add(e.getLocalizedMessage() + " ⇨ " + cause.getLocalizedMessage()); + } Log.e(TAG, "Error updating repository " + repo.address); e.printStackTrace(); }