[MediaWiki-commits] [Gerrit] Fix NPE in LeadImagesHandler.beginLayout - change (apps...wikipedia)

2014-12-16 Thread BearND (Code Review)
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)

2014-12-16 Thread Dbrant (Code Review)
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