diff options
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod')
3 files changed, 17 insertions, 17 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java index 045cc5f21..efd1d53ca 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java @@ -8,7 +8,10 @@ import android.content.SharedPreferences; import android.graphics.LightingColorFilter; import android.os.Build; import android.os.Bundle; +import android.text.Spannable; +import android.text.SpannableString; import android.text.TextUtils; +import android.text.style.ForegroundColorSpan; import android.util.Log; import android.view.MenuItem; import android.view.View; @@ -290,11 +293,7 @@ public class OnlineFeedViewActivity extends AppCompatActivity { dialog.show(); } } else { - String errorMsg = status.getReason().getErrorString(OnlineFeedViewActivity.this); - if (status.getReasonDetailed() != null) { - errorMsg += " (" + status.getReasonDetailed() + ")"; - } - showErrorDialog(errorMsg); + showErrorDialog(status.getReason().getErrorString(OnlineFeedViewActivity.this), status.getReasonDetailed()); } } @@ -340,9 +339,7 @@ public class OnlineFeedViewActivity extends AppCompatActivity { @Override public void onError(@NonNull Throwable error) { - String errorMsg = DownloadError.ERROR_PARSER_EXCEPTION.getErrorString( - OnlineFeedViewActivity.this) + " (" + error.getMessage() + ")"; - showErrorDialog(errorMsg); + showErrorDialog(error.getMessage(), ""); Log.d(TAG, "Feed parser exception: " + Log.getStackTraceString(error)); } }); @@ -366,8 +363,7 @@ public class OnlineFeedViewActivity extends AppCompatActivity { if (dialogShown) { return null; // Should not display an error message } else { - Log.d(TAG, "Supplied feed is an HTML web page that has no references to any feed"); - throw e; + throw new UnsupportedFeedtypeException(getString(R.string.download_error_unsupported_type_html)); } } else { throw e; @@ -586,12 +582,16 @@ public class OnlineFeedViewActivity extends AppCompatActivity { } @UiThread - private void showErrorDialog(String errorMsg) { + private void showErrorDialog(String errorMsg, String details) { if (!isFinishing() && !isPaused) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(R.string.error_label); if (errorMsg != null) { - builder.setMessage(errorMsg); + String total = errorMsg + "\n\n" + details; + SpannableString errorMessage = new SpannableString(total); + errorMessage.setSpan(new ForegroundColorSpan(0x88888888), + errorMsg.length(), total.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + builder.setMessage(errorMessage); } else { builder.setMessage(R.string.download_error_error_unknown); } diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/DownloadLogAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/DownloadLogAdapter.java index d6801e1b5..811e1e31b 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/DownloadLogAdapter.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/DownloadLogAdapter.java @@ -68,16 +68,14 @@ public class DownloadLogAdapter extends BaseAdapter { holder.icon.setContentDescription(context.getString(R.string.download_successful)); holder.secondaryActionButton.setVisibility(View.INVISIBLE); holder.reason.setVisibility(View.GONE); + holder.tapForDetails.setVisibility(View.GONE); } else { holder.icon.setTextColor(ContextCompat.getColor(context, R.color.download_failed_red)); holder.icon.setText("{fa-times-circle}"); holder.icon.setContentDescription(context.getString(R.string.error_label)); - String reasonText = status.getReason().getErrorString(context); - if (status.getReasonDetailed() != null) { - reasonText += ": " + status.getReasonDetailed(); - } - holder.reason.setText(reasonText); + holder.reason.setText(status.getReason().getErrorString(context)); holder.reason.setVisibility(View.VISIBLE); + holder.tapForDetails.setVisibility(View.VISIBLE); if (newerWasSuccessful(position, status.getFeedfileType(), status.getFeedfileId())) { holder.secondaryActionButton.setVisibility(View.INVISIBLE); diff --git a/app/src/main/java/de/danoeh/antennapod/view/viewholder/DownloadItemViewHolder.java b/app/src/main/java/de/danoeh/antennapod/view/viewholder/DownloadItemViewHolder.java index 274dd4ea8..0e446fb84 100644 --- a/app/src/main/java/de/danoeh/antennapod/view/viewholder/DownloadItemViewHolder.java +++ b/app/src/main/java/de/danoeh/antennapod/view/viewholder/DownloadItemViewHolder.java @@ -20,6 +20,7 @@ public class DownloadItemViewHolder extends RecyclerView.ViewHolder { public final TextView type; public final TextView date; public final TextView reason; + public final TextView tapForDetails; public DownloadItemViewHolder(Context context, ViewGroup parent) { super(LayoutInflater.from(context).inflate(R.layout.downloadlog_item, parent, false)); @@ -27,6 +28,7 @@ public class DownloadItemViewHolder extends RecyclerView.ViewHolder { type = itemView.findViewById(R.id.txtvType); icon = itemView.findViewById(R.id.txtvIcon); reason = itemView.findViewById(R.id.txtvReason); + tapForDetails = itemView.findViewById(R.id.txtvTapForDetails); secondaryActionButton = itemView.findViewById(R.id.secondaryActionButton); secondaryActionIcon = itemView.findViewById(R.id.secondaryActionIcon); title = itemView.findViewById(R.id.txtvTitle); |