[MediaWiki-commits] [Gerrit] Fix crashes with NavDrawer when running in Strict Mode - change (apps...wikipedia)

2014-02-18 Thread Brion VIBBER (Code Review)
Brion VIBBER has submitted this change and it was merged.

Change subject: Fix crashes with NavDrawer when running in Strict Mode
..


Fix crashes with NavDrawer when running in Strict Mode

Change-Id: I8ecdbcf81c1db284e40e07bdd9fe20bc11fe947a
---
M wikipedia/src/main/java/org/wikipedia/NavDrawerFragment.java
1 file changed, 18 insertions(+), 7 deletions(-)

Approvals:
  Brion VIBBER: Verified; Looks good to me, approved



diff --git a/wikipedia/src/main/java/org/wikipedia/NavDrawerFragment.java 
b/wikipedia/src/main/java/org/wikipedia/NavDrawerFragment.java
index 4039581..2cb3ce8 100644
--- a/wikipedia/src/main/java/org/wikipedia/NavDrawerFragment.java
+++ b/wikipedia/src/main/java/org/wikipedia/NavDrawerFragment.java
@@ -34,8 +34,13 @@
 
 @Override
 public View onCreateView(LayoutInflater inflater, ViewGroup container, 
Bundle savedInstanceState) {
-View parentView = inflater.inflate(R.layout.fragment_navdrawer, 
container, false);
-navList = (ListView) parentView.findViewById(R.id.nav_list);
+return inflater.inflate(R.layout.fragment_navdrawer, container, false);
+}
+
+@Override
+public void onActivityCreated(Bundle savedInstanceState) {
+super.onActivityCreated(savedInstanceState);
+navList = (ListView) getView().findViewById(R.id.nav_list);
 adapter = new NavListAdapter();
 app = (WikipediaApp)getActivity().getApplicationContext();
 
@@ -43,8 +48,6 @@
 
 navList.setAdapter(adapter);
 navList.setOnItemClickListener(this);
-
-return parentView;
 }
 
 @Override
@@ -77,9 +80,17 @@
 
 @Override
 public void onActivityResult(int requestCode, int resultCode, Intent data) 
{
-if (resultCode == LoginActivity.LOG_IN_SUCCESSFUL) {
-setupDynamicItems();
-((NavListAdapter)navList.getAdapter()).notifyDataSetChanged();
+// Okay, so this is really, really stupid, but
+// sometimes if the previous activity was destroyed before the 
callback is done
+// onActivityResult may be called *before* the onCreate, 
onActivityAttach, etc are called
+// This, of course, is fucking stupid. However, in this particular 
case (updating the login status)
+// we can just ignore it if that is the case and keep going.
+// BUGS! GRR!
+if (getView() != null) {
+if (resultCode == LoginActivity.LOG_IN_SUCCESSFUL) {
+setupDynamicItems();
+((NavListAdapter)navList.getAdapter()).notifyDataSetChanged();
+}
 }
 }
 

-- 
To view, visit https://gerrit.wikimedia.org/r/113367
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I8ecdbcf81c1db284e40e07bdd9fe20bc11fe947a
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Yuvipanda 
Gerrit-Reviewer: Brion VIBBER 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Fix crashes with NavDrawer when running in Strict Mode - change (apps...wikipedia)

2014-02-14 Thread Yuvipanda (Code Review)
Yuvipanda has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/113367

Change subject: Fix crashes with NavDrawer when running in Strict Mode
..

Fix crashes with NavDrawer when running in Strict Mode

Change-Id: I8ecdbcf81c1db284e40e07bdd9fe20bc11fe947a
---
M wikipedia/src/main/java/org/wikipedia/NavDrawerFragment.java
1 file changed, 18 insertions(+), 7 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia 
refs/changes/67/113367/1

diff --git a/wikipedia/src/main/java/org/wikipedia/NavDrawerFragment.java 
b/wikipedia/src/main/java/org/wikipedia/NavDrawerFragment.java
index 4039581..2cb3ce8 100644
--- a/wikipedia/src/main/java/org/wikipedia/NavDrawerFragment.java
+++ b/wikipedia/src/main/java/org/wikipedia/NavDrawerFragment.java
@@ -34,8 +34,13 @@
 
 @Override
 public View onCreateView(LayoutInflater inflater, ViewGroup container, 
Bundle savedInstanceState) {
-View parentView = inflater.inflate(R.layout.fragment_navdrawer, 
container, false);
-navList = (ListView) parentView.findViewById(R.id.nav_list);
+return inflater.inflate(R.layout.fragment_navdrawer, container, false);
+}
+
+@Override
+public void onActivityCreated(Bundle savedInstanceState) {
+super.onActivityCreated(savedInstanceState);
+navList = (ListView) getView().findViewById(R.id.nav_list);
 adapter = new NavListAdapter();
 app = (WikipediaApp)getActivity().getApplicationContext();
 
@@ -43,8 +48,6 @@
 
 navList.setAdapter(adapter);
 navList.setOnItemClickListener(this);
-
-return parentView;
 }
 
 @Override
@@ -77,9 +80,17 @@
 
 @Override
 public void onActivityResult(int requestCode, int resultCode, Intent data) 
{
-if (resultCode == LoginActivity.LOG_IN_SUCCESSFUL) {
-setupDynamicItems();
-((NavListAdapter)navList.getAdapter()).notifyDataSetChanged();
+// Okay, so this is really, really stupid, but
+// sometimes if the previous activity was destroyed before the 
callback is done
+// onActivityResult may be called *before* the onCreate, 
onActivityAttach, etc are called
+// This, of course, is fucking stupid. However, in this particular 
case (updating the login status)
+// we can just ignore it if that is the case and keep going.
+// BUGS! GRR!
+if (getView() != null) {
+if (resultCode == LoginActivity.LOG_IN_SUCCESSFUL) {
+setupDynamicItems();
+((NavListAdapter)navList.getAdapter()).notifyDataSetChanged();
+}
 }
 }
 

-- 
To view, visit https://gerrit.wikimedia.org/r/113367
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I8ecdbcf81c1db284e40e07bdd9fe20bc11fe947a
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Yuvipanda 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits