Fixed some NullPointerExceptions

These were happening on some handsets when onPrepareOptionsMenu was getting called.

It is sometimes called before the menu is actually loaded, causing us to not find the
MenuItem we're looking for.

This solves the symptom, if not the cause.

After making this change the number of failures reported on Apkudo dropped from 20 devices to just 6.
This commit is contained in:
Tom Hennen 2015-04-17 17:29:00 -04:00
parent c712fcf4e2
commit 91fb7e6c2a
2 changed files with 8 additions and 2 deletions

View File

@ -219,7 +219,10 @@ public class AllEpisodesFragment extends Fragment {
public void onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);
if (itemsLoaded && !MenuItemUtils.isActivityDrawerOpen((NavDrawerActivity) getActivity())) {
menu.findItem(R.id.mark_all_read_item).setVisible(unreadItems != null && !unreadItems.isEmpty());
MenuItem menuItem = menu.findItem(R.id.mark_all_read_item);
if (menuItem != null) {
menuItem.setVisible(unreadItems != null && !unreadItems.isEmpty());
}
}
}

View File

@ -146,7 +146,10 @@ public class PlaybackHistoryFragment extends ListFragment {
public void onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);
if (itemsLoaded && !MenuItemUtils.isActivityDrawerOpen((NavDrawerActivity) getActivity())) {
menu.findItem(R.id.clear_history_item).setVisible(playbackHistory != null && !playbackHistory.isEmpty());
MenuItem menuItem = menu.findItem(R.id.clear_history_item);
if (menuItem != null) {
menuItem.setVisible(playbackHistory != null && !playbackHistory.isEmpty());
}
}
}