summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorTom Hennen <tom.hennen@gmail.com>2015-08-24 20:39:01 -0400
committerTom Hennen <tom.hennen@gmail.com>2015-08-24 20:39:01 -0400
commit34b572545e9a7b3d771ca942a3e797e9b32f1d39 (patch)
tree537eed572ff23c17ea05b42fee425509d402444b /app
parentd921ab6f22ab0d4325906027305293a803f9cacb (diff)
downloadAntennaPod-34b572545e9a7b3d771ca942a3e797e9b32f1d39.zip
Protect use of menuInfo:
fixes AntennaPod/AntennaPod#1128
Diffstat (limited to 'app')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java9
-rw-r--r--app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java9
2 files changed, 18 insertions, 0 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java
index 294acd427..b975d482a 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java
@@ -75,6 +75,7 @@ public class AudioplayerActivity extends MediaplayerActivity implements ItemDesc
private DrawerLayout drawerLayout;
private NavListAdapter navAdapter;
private ListView navList;
+ private AdapterView.AdapterContextMenuInfo lastMenuInfo = null;
private View navDrawer;
private ActionBarDrawerToggle drawerToggle;
@@ -663,11 +664,19 @@ public class AudioplayerActivity extends MediaplayerActivity implements ItemDesc
Feed feed = navDrawerData.feeds.get(position - navAdapter.getSubscriptionOffset());
menu.setHeaderTitle(feed.getTitle());
// episodes are not loaded, so we cannot check if the podcast has new or unplayed ones!
+
+ // we may need to reference this elsewhere...
+ lastMenuInfo = (AdapterView.AdapterContextMenuInfo) menuInfo;
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo menuInfo = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
+
+ if(menuInfo == null) {
+ menuInfo = lastMenuInfo;
+ }
+
if(menuInfo.targetView.getParent() instanceof ListView == false
|| ((ListView)menuInfo.targetView.getParent()).getId() != R.id.nav_list) {
return false;
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
index 7eee1558b..e10e8041e 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
@@ -96,6 +96,7 @@ public class MainActivity extends ActionBarActivity implements NavDrawerActivity
private View navDrawer;
private ListView navList;
private NavListAdapter navAdapter;
+ private AdapterView.AdapterContextMenuInfo lastMenuInfo = null;
private ActionBarDrawerToggle drawerToggle;
@@ -505,11 +506,19 @@ public class MainActivity extends ActionBarActivity implements NavDrawerActivity
Feed feed = navDrawerData.feeds.get(position - navAdapter.getSubscriptionOffset());
menu.setHeaderTitle(feed.getTitle());
// episodes are not loaded, so we cannot check if the podcast has new or unplayed ones!
+
+ // we may need to reference this elsewhere...
+ lastMenuInfo = (AdapterView.AdapterContextMenuInfo) menuInfo;
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo menuInfo = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
+
+ if(menuInfo == null) {
+ menuInfo = lastMenuInfo;
+ }
+
if(menuInfo.targetView.getParent() instanceof ListView == false
|| ((ListView)menuInfo.targetView.getParent()).getId() != R.id.nav_list) {
return false;