[MediaWiki-commits] [Gerrit] Fix crashes with NavDrawer when running in Strict Mode - change (apps...wikipedia)
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)
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