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 <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits