Mholloway has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/344721 )
Change subject: Update: Handle missing pages correctly in the full page view ...................................................................... Update: Handle missing pages correctly in the full page view Bug: T157361 Change-Id: I811b3f53597dbe96d61b77d3b1d544862d14c052 --- M app/src/main/java/org/wikipedia/page/PageFragment.java M app/src/main/java/org/wikipedia/page/linkpreview/LinkPreviewErrorView.java M app/src/main/java/org/wikipedia/views/WikiErrorView.java 3 files changed, 23 insertions(+), 11 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia refs/changes/21/344721/1 diff --git a/app/src/main/java/org/wikipedia/page/PageFragment.java b/app/src/main/java/org/wikipedia/page/PageFragment.java index 9c180da..256dca1 100755 --- a/app/src/main/java/org/wikipedia/page/PageFragment.java +++ b/app/src/main/java/org/wikipedia/page/PageFragment.java @@ -357,7 +357,12 @@ errorView.setBackClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - onBackPressed(); + boolean back = onBackPressed(); + + // Needed if we're coming from another activity + if (!back) { + getActivity().finish(); + } } }); diff --git a/app/src/main/java/org/wikipedia/page/linkpreview/LinkPreviewErrorView.java b/app/src/main/java/org/wikipedia/page/linkpreview/LinkPreviewErrorView.java index 9f8b67b..0f412b6 100644 --- a/app/src/main/java/org/wikipedia/page/linkpreview/LinkPreviewErrorView.java +++ b/app/src/main/java/org/wikipedia/page/linkpreview/LinkPreviewErrorView.java @@ -92,7 +92,7 @@ } private enum ErrorType { - OFFLINE(R.drawable.ic_portable_wifi_off_black_24px, 0, + OFFLINE(R.drawable.ic_portable_wifi_off_black_24px, R.string.error_message_generic, R.string.button_add_to_reading_list, ButtonAction.ADD_TO_LIST) { }, diff --git a/app/src/main/java/org/wikipedia/views/WikiErrorView.java b/app/src/main/java/org/wikipedia/views/WikiErrorView.java index 91ac7c7..ea244f7 100644 --- a/app/src/main/java/org/wikipedia/views/WikiErrorView.java +++ b/app/src/main/java/org/wikipedia/views/WikiErrorView.java @@ -22,6 +22,7 @@ import static org.wikipedia.util.DimenUtil.getContentTopOffsetPx; import static org.wikipedia.util.ThrowableUtil.is404; +import static org.wikipedia.util.ThrowableUtil.isOffline; public class WikiErrorView extends LinearLayout { @BindView(R.id.view_wiki_error_icon) ImageView icon; @@ -58,7 +59,7 @@ public void setError(@NonNull Context context, @Nullable Throwable caught) { Resources resources = context.getResources(); - ErrorView errorView = getErrorView(context, caught); + ErrorType errorView = getErrorType(context, caught); icon.setImageDrawable(ContextCompat.getDrawable(context, errorView.icon())); errorText.setText(resources.getString(errorView.text())); button.setText(resources.getString(errorView.buttonText())); @@ -83,15 +84,18 @@ return new LayoutParams(LayoutParams.MATCH_PARENT, activity.getTabLayoutHeightPx()); } - private ErrorView getErrorView(@NonNull Context context, @Nullable Throwable caught) { - if (caught != null && !is404(context, caught)) { + private ErrorType getErrorType(@NonNull Context context, @Nullable Throwable caught) { + if (caught != null && is404(context, caught)) { + return ErrorType.PAGE_MISSING; + } + if (caught != null && isOffline(caught)) { if (context instanceof PageActivity) { - return ErrorView.PAGE_OFFLINE; + return ErrorType.PAGE_OFFLINE; } else { - return ErrorView.OFFLINE; + return ErrorType.OFFLINE; } } - return ErrorView.GENERIC; + return ErrorType.GENERIC; } private OnClickListener getOnClickListener(@NonNull ButtonFunction buttonFunction) { @@ -105,7 +109,10 @@ } } - private enum ErrorView { + private enum ErrorType { + PAGE_MISSING(R.drawable.ic_error_black_24dp, R.string.error_page_does_not_exist, + R.string.page_error_back_to_main, ButtonFunction.BACK), + PAGE_OFFLINE(R.drawable.ic_no_article, R.string.page_offline_notice_cannot_load_while_offline, R.string.page_error_retry, R.string.page_offline_notice_add_to_reading_list, ButtonFunction.RETRY), @@ -146,14 +153,14 @@ return footerText != 0; } - ErrorView(@DrawableRes int icon, @StringRes int text, @StringRes int buttonText, ButtonFunction buttonFunction) { + ErrorType(@DrawableRes int icon, @StringRes int text, @StringRes int buttonText, ButtonFunction buttonFunction) { this.icon = icon; this.text = text; this.buttonText = buttonText; this.buttonFunction = buttonFunction; } - ErrorView(@DrawableRes int icon, @StringRes int text, @StringRes int buttonText, @StringRes int footerText, ButtonFunction buttonFunction) { + ErrorType(@DrawableRes int icon, @StringRes int text, @StringRes int buttonText, @StringRes int footerText, ButtonFunction buttonFunction) { this.icon = icon; this.text = text; this.buttonText = buttonText; -- To view, visit https://gerrit.wikimedia.org/r/344721 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I811b3f53597dbe96d61b77d3b1d544862d14c052 Gerrit-PatchSet: 1 Gerrit-Project: apps/android/wikipedia Gerrit-Branch: master Gerrit-Owner: Mholloway <mhollo...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits