[MediaWiki-commits] [Gerrit] Fix NPE in LeadImagesHandler.beginLayout - change (apps...wikipedia)
BearND has uploaded a new change for review. https://gerrit.wikimedia.org/r/180321 Change subject: Fix NPE in LeadImagesHandler.beginLayout .. Fix NPE in LeadImagesHandler.beginLayout Bug: T78501 Change-Id: Idc1b027ceca932bf83b8a3ec3760937bca5caf55 --- M wikipedia/src/main/java/org/wikipedia/page/leadimages/LeadImagesHandler.java 1 file changed, 22 insertions(+), 2 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia refs/changes/21/180321/1 diff --git a/wikipedia/src/main/java/org/wikipedia/page/leadimages/LeadImagesHandler.java b/wikipedia/src/main/java/org/wikipedia/page/leadimages/LeadImagesHandler.java index b84a469..263d04b 100644 --- a/wikipedia/src/main/java/org/wikipedia/page/leadimages/LeadImagesHandler.java +++ b/wikipedia/src/main/java/org/wikipedia/page/leadimages/LeadImagesHandler.java @@ -29,7 +29,10 @@ import org.wikipedia.ViewAnimations; import org.wikipedia.WikipediaApp; import org.wikipedia.bridge.CommunicationBridge; +import org.wikipedia.page.Page; +import org.wikipedia.page.PageProperties; import org.wikipedia.page.PageViewFragment; +import org.wikipedia.page.PageViewFragmentInternal; import org.wikipedia.views.ObservableWebView; import org.wikipedia.wikidata.WikidataCache; @@ -262,7 +265,7 @@ * @param listener Listener that will receive an event when the layout is completed. */ public void beginLayout(OnLeadImageLayoutListener listener) { -String thumbUrl = parentFragment.getFragment().getPage().getPageProperties().getLeadImageUrl(); +String thumbUrl = getLeadImageUrl(); if (!WikipediaApp.getInstance().showImages() || displayHeight MIN_SCREEN_HEIGHT_DP || WikipediaApp.getInstance().getReleaseType() == WikipediaApp.RELEASE_PROD) { @@ -281,6 +284,23 @@ // kick off the (asynchronous) laying out of the page title text layoutPageTitle((int)(parentFragment.getResources().getDimension(R.dimen.titleTextSize) / displayDensity), listener); +} + +// NPE, you shall not pass: https://phabricator.wikimedia.org/T78501 +private String getLeadImageUrl() { +final PageViewFragmentInternal internalFragment = parentFragment.getFragment(); +if (internalFragment == null) { +return null; +} +final Page page = internalFragment.getPage(); +if (page == null) { +return null; +} +final PageProperties pageProperties = page.getPageProperties(); +if (pageProperties == null) { +return null; +} +return pageProperties.getLeadImageUrl(); } /** @@ -435,7 +455,7 @@ bridge.sendMessage(setPaddingTop, payload); // and start fetching the lead image, if we have one -String thumbUrl = parentFragment.getFragment().getPage().getPageProperties().getLeadImageUrl(); +String thumbUrl = getLeadImageUrl(); if (!isMainPage thumbUrl != null leadImagesEnabled) { thumbUrl = WikipediaApp.getInstance().getNetworkProtocol() + : + thumbUrl; Picasso.with(parentFragment.getActivity()) -- To view, visit https://gerrit.wikimedia.org/r/180321 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Idc1b027ceca932bf83b8a3ec3760937bca5caf55 Gerrit-PatchSet: 1 Gerrit-Project: apps/android/wikipedia Gerrit-Branch: master Gerrit-Owner: BearND bsitzm...@wikimedia.org ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Fix NPE in LeadImagesHandler.beginLayout - change (apps...wikipedia)
Dbrant has submitted this change and it was merged. Change subject: Fix NPE in LeadImagesHandler.beginLayout .. Fix NPE in LeadImagesHandler.beginLayout Bug: T78501 Change-Id: Idc1b027ceca932bf83b8a3ec3760937bca5caf55 --- M wikipedia/src/main/java/org/wikipedia/page/leadimages/LeadImagesHandler.java 1 file changed, 22 insertions(+), 2 deletions(-) Approvals: Dbrant: Looks good to me, approved diff --git a/wikipedia/src/main/java/org/wikipedia/page/leadimages/LeadImagesHandler.java b/wikipedia/src/main/java/org/wikipedia/page/leadimages/LeadImagesHandler.java index b84a469..263d04b 100644 --- a/wikipedia/src/main/java/org/wikipedia/page/leadimages/LeadImagesHandler.java +++ b/wikipedia/src/main/java/org/wikipedia/page/leadimages/LeadImagesHandler.java @@ -29,7 +29,10 @@ import org.wikipedia.ViewAnimations; import org.wikipedia.WikipediaApp; import org.wikipedia.bridge.CommunicationBridge; +import org.wikipedia.page.Page; +import org.wikipedia.page.PageProperties; import org.wikipedia.page.PageViewFragment; +import org.wikipedia.page.PageViewFragmentInternal; import org.wikipedia.views.ObservableWebView; import org.wikipedia.wikidata.WikidataCache; @@ -262,7 +265,7 @@ * @param listener Listener that will receive an event when the layout is completed. */ public void beginLayout(OnLeadImageLayoutListener listener) { -String thumbUrl = parentFragment.getFragment().getPage().getPageProperties().getLeadImageUrl(); +String thumbUrl = getLeadImageUrl(); if (!WikipediaApp.getInstance().showImages() || displayHeight MIN_SCREEN_HEIGHT_DP || WikipediaApp.getInstance().getReleaseType() == WikipediaApp.RELEASE_PROD) { @@ -281,6 +284,23 @@ // kick off the (asynchronous) laying out of the page title text layoutPageTitle((int)(parentFragment.getResources().getDimension(R.dimen.titleTextSize) / displayDensity), listener); +} + +// NPE, you shall not pass: https://phabricator.wikimedia.org/T78501 +private String getLeadImageUrl() { +final PageViewFragmentInternal internalFragment = parentFragment.getFragment(); +if (internalFragment == null) { +return null; +} +final Page page = internalFragment.getPage(); +if (page == null) { +return null; +} +final PageProperties pageProperties = page.getPageProperties(); +if (pageProperties == null) { +return null; +} +return pageProperties.getLeadImageUrl(); } /** @@ -435,7 +455,7 @@ bridge.sendMessage(setPaddingTop, payload); // and start fetching the lead image, if we have one -String thumbUrl = parentFragment.getFragment().getPage().getPageProperties().getLeadImageUrl(); +String thumbUrl = getLeadImageUrl(); if (!isMainPage thumbUrl != null leadImagesEnabled) { thumbUrl = WikipediaApp.getInstance().getNetworkProtocol() + : + thumbUrl; Picasso.with(parentFragment.getActivity()) -- To view, visit https://gerrit.wikimedia.org/r/180321 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Idc1b027ceca932bf83b8a3ec3760937bca5caf55 Gerrit-PatchSet: 1 Gerrit-Project: apps/android/wikipedia Gerrit-Branch: master Gerrit-Owner: BearND bsitzm...@wikimedia.org Gerrit-Reviewer: Brion VIBBER br...@wikimedia.org Gerrit-Reviewer: Dbrant dbr...@wikimedia.org Gerrit-Reviewer: jenkins-bot ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits