Hide local menu items when nav drawer is shown

This commit is contained in:
daniel oeh 2014-07-15 01:00:42 +02:00
parent 1b0ee017ce
commit 99d68b2982
12 changed files with 224 additions and 137 deletions

View File

@ -12,6 +12,7 @@ import android.support.v4.app.FragmentTransaction;
import android.support.v4.app.ListFragment;
import android.support.v4.widget.DrawerLayout;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
@ -42,6 +43,8 @@ import de.danoeh.antennapod.fragment.ItemDescriptionFragment;
import de.danoeh.antennapod.preferences.UserPreferences;
import de.danoeh.antennapod.service.playback.PlaybackService;
import de.danoeh.antennapod.storage.DBReader;
import de.danoeh.antennapod.util.menuhandler.MenuItemUtils;
import de.danoeh.antennapod.util.menuhandler.NavDrawerActivity;
import de.danoeh.antennapod.util.playback.ExternalMedia;
import de.danoeh.antennapod.util.playback.Playable;
import de.danoeh.antennapod.util.playback.PlaybackController;
@ -49,7 +52,8 @@ import de.danoeh.antennapod.util.playback.PlaybackController;
/**
* Activity for playing audio files.
*/
public class AudioplayerActivity extends MediaplayerActivity implements ItemDescriptionFragment.ItemDescriptionFragmentCallback {
public class AudioplayerActivity extends MediaplayerActivity implements ItemDescriptionFragment.ItemDescriptionFragmentCallback,
NavDrawerActivity {
private static final int POS_COVER = 0;
private static final int POS_DESCR = 1;
private static final int POS_CHAPTERS = 2;
@ -437,6 +441,7 @@ public class AudioplayerActivity extends MediaplayerActivity implements ItemDesc
};
typedArray.recycle();
drawerToggle.setDrawerIndicatorEnabled(false);
drawerLayout.setDrawerListener(drawerToggle);
navAdapter = new NavListAdapter(itemAccess, this);
navList.setAdapter(navAdapter);
@ -618,6 +623,29 @@ public class AudioplayerActivity extends MediaplayerActivity implements ItemDesc
return controller;
}
@Override
public boolean isDrawerOpen() {
return drawerLayout != null && navList != null && drawerLayout.isDrawerOpen(navList);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
if (!MenuItemUtils.isActivityDrawerOpen(this)) {
return super.onCreateOptionsMenu(menu);
} else {
return false;
}
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
if (!MenuItemUtils.isActivityDrawerOpen(this)) {
return super.onPrepareOptionsMenu(menu);
} else {
return false;
}
}
public interface AudioplayerContentFragment {
public void onDataSetChanged(Playable media);
}

View File

@ -31,13 +31,14 @@ import de.danoeh.antennapod.fragment.*;
import de.danoeh.antennapod.preferences.UserPreferences;
import de.danoeh.antennapod.storage.DBReader;
import de.danoeh.antennapod.util.StorageUtils;
import de.danoeh.antennapod.util.menuhandler.NavDrawerActivity;
import java.util.List;
/**
* The activity that is shown when the user launches the app.
*/
public class MainActivity extends ActionBarActivity {
public class MainActivity extends ActionBarActivity implements NavDrawerActivity{
private static final String TAG = "MainActivity";
private static final int EVENTS = EventDistributor.DOWNLOAD_HANDLED
| EventDistributor.DOWNLOAD_QUEUED
@ -64,7 +65,7 @@ public class MainActivity extends ActionBarActivity {
private ListView navList;
private NavListAdapter navAdapter;
private ActionBarDrawerToggle drawerToogle;
private ActionBarDrawerToggle drawerToggle;
private CharSequence drawerTitle;
private CharSequence currentTitle;
@ -85,7 +86,7 @@ public class MainActivity extends ActionBarActivity {
navList = (ListView) findViewById(R.id.nav_list);
TypedArray typedArray = obtainStyledAttributes(new int[]{R.attr.nav_drawer_toggle});
drawerToogle = new ActionBarDrawerToggle(this, drawerLayout, typedArray.getResourceId(0, 0), R.string.drawer_open, R.string.drawer_close) {
drawerToggle = new ActionBarDrawerToggle(this, drawerLayout, typedArray.getResourceId(0, 0), R.string.drawer_open, R.string.drawer_close) {
@Override
public void onDrawerOpened(View drawerView) {
super.onDrawerOpened(drawerView);
@ -104,7 +105,7 @@ public class MainActivity extends ActionBarActivity {
};
typedArray.recycle();
drawerLayout.setDrawerListener(drawerToogle);
drawerLayout.setDrawerListener(drawerToggle);
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction transaction = fm.beginTransaction();
@ -150,6 +151,10 @@ public class MainActivity extends ActionBarActivity {
return getSupportActionBar();
}
public boolean isDrawerOpen() {
return drawerLayout != null && navList != null && drawerLayout.isDrawerOpen(navList);
}
public List<Feed> getFeeds() {
return (navDrawerData != null) ? navDrawerData.feeds : null;
}
@ -247,7 +252,7 @@ public class MainActivity extends ActionBarActivity {
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
drawerToogle.syncState();
drawerToggle.syncState();
if (savedInstanceState != null) {
currentTitle = savedInstanceState.getString("title");
if (!drawerLayout.isDrawerOpen(navList)) {
@ -260,7 +265,7 @@ public class MainActivity extends ActionBarActivity {
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
drawerToogle.onConfigurationChanged(newConfig);
drawerToggle.onConfigurationChanged(newConfig);
}
@Override
@ -299,7 +304,7 @@ public class MainActivity extends ActionBarActivity {
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (drawerToogle.onOptionsItemSelected(item)) {
if (drawerToggle.onOptionsItemSelected(item)) {
return true;
}
switch (item.getItemId()) {
@ -314,7 +319,6 @@ public class MainActivity extends ActionBarActivity {
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);
return true;
}

View File

@ -12,7 +12,11 @@ import android.support.v4.app.ListFragment;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.widget.SearchView;
import android.util.Log;
import android.view.*;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.ListView;
@ -20,6 +24,8 @@ import android.widget.TextView;
import org.apache.commons.lang3.Validate;
import java.util.List;
import de.danoeh.antennapod.BuildConfig;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.FeedInfoActivity;
@ -44,8 +50,7 @@ import de.danoeh.antennapod.storage.DownloadRequester;
import de.danoeh.antennapod.util.QueueAccess;
import de.danoeh.antennapod.util.menuhandler.FeedMenuHandler;
import de.danoeh.antennapod.util.menuhandler.MenuItemUtils;
import java.util.List;
import de.danoeh.antennapod.util.menuhandler.NavDrawerActivity;
/**
* Displays a list of FeedItems.
@ -158,31 +163,36 @@ public class ItemlistFragment extends ListFragment {
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
FeedMenuHandler.onCreateOptionsMenu(inflater, menu);
final SearchView sv = new SearchView(getActivity());
MenuItemUtils.addSearchItem(menu, sv);
sv.setQueryHint(getString(R.string.search_hint));
sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
sv.clearFocus();
if (itemsLoaded) {
((MainActivity) getActivity()).loadChildFragment(SearchFragment.newInstance(s, feed.getId()));
if (!MenuItemUtils.isActivityDrawerOpen((NavDrawerActivity) getActivity())) {
FeedMenuHandler.onCreateOptionsMenu(inflater, menu);
final SearchView sv = new SearchView(getActivity());
MenuItemUtils.addSearchItem(menu, sv);
sv.setQueryHint(getString(R.string.search_hint));
sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
sv.clearFocus();
if (itemsLoaded) {
((MainActivity) getActivity()).loadChildFragment(SearchFragment.newInstance(s, feed.getId()));
}
return true;
}
return true;
}
@Override
public boolean onQueryTextChange(String s) {
return false;
}
});
@Override
public boolean onQueryTextChange(String s) {
return false;
}
});
}
}
@Override
public void onPrepareOptionsMenu(Menu menu) {
FeedMenuHandler.onPrepareOptionsMenu(menu, feed);
if (!MenuItemUtils.isActivityDrawerOpen((NavDrawerActivity) getActivity())) {
FeedMenuHandler.onPrepareOptionsMenu(menu, feed);
}
}
@Override

View File

@ -34,6 +34,7 @@ import de.danoeh.antennapod.storage.DBWriter;
import de.danoeh.antennapod.storage.DownloadRequester;
import de.danoeh.antennapod.util.QueueAccess;
import de.danoeh.antennapod.util.menuhandler.MenuItemUtils;
import de.danoeh.antennapod.util.menuhandler.NavDrawerActivity;
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
@ -138,31 +139,35 @@ public class NewEpisodesFragment extends Fragment {
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.new_episodes, menu);
if (!MenuItemUtils.isActivityDrawerOpen((NavDrawerActivity) getActivity())) {
inflater.inflate(R.menu.new_episodes, menu);
final SearchView sv = new SearchView(getActivity());
MenuItemUtils.addSearchItem(menu, sv);
sv.setQueryHint(getString(R.string.search_hint));
sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
sv.clearFocus();
((MainActivity) getActivity()).loadChildFragment(SearchFragment.newInstance(s));
return true;
}
final SearchView sv = new SearchView(getActivity());
MenuItemUtils.addSearchItem(menu, sv);
sv.setQueryHint(getString(R.string.search_hint));
sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
sv.clearFocus();
((MainActivity) getActivity()).loadChildFragment(SearchFragment.newInstance(s));
return true;
}
@Override
public boolean onQueryTextChange(String s) {
return false;
}
});
@Override
public boolean onQueryTextChange(String s) {
return false;
}
});
}
}
@Override
public void onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);
menu.findItem(R.id.mark_all_read_item).setVisible(unreadItems != null && !unreadItems.isEmpty());
menu.findItem(R.id.episode_filter_item).setChecked(showOnlyNewEpisodes);
if (!MenuItemUtils.isActivityDrawerOpen((NavDrawerActivity) getActivity())) {
menu.findItem(R.id.mark_all_read_item).setVisible(unreadItems != null && !unreadItems.isEmpty());
menu.findItem(R.id.episode_filter_item).setChecked(showOnlyNewEpisodes);
}
}
@Override

View File

@ -25,6 +25,8 @@ import de.danoeh.antennapod.service.download.Downloader;
import de.danoeh.antennapod.storage.DBReader;
import de.danoeh.antennapod.storage.DBWriter;
import de.danoeh.antennapod.util.QueueAccess;
import de.danoeh.antennapod.util.menuhandler.MenuItemUtils;
import de.danoeh.antennapod.util.menuhandler.NavDrawerActivity;
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
@ -129,17 +131,21 @@ public class PlaybackHistoryFragment extends ListFragment {
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
MenuItem clearHistory = menu.add(Menu.NONE, R.id.clear_history_item, Menu.CATEGORY_CONTAINER, R.string.clear_history_label);
MenuItemCompat.setShowAsAction(clearHistory, MenuItemCompat.SHOW_AS_ACTION_IF_ROOM);
TypedArray drawables = getActivity().obtainStyledAttributes(new int[] {R.attr.content_discard});
clearHistory.setIcon(drawables.getDrawable(0));
drawables.recycle();
if (!MenuItemUtils.isActivityDrawerOpen((NavDrawerActivity) getActivity())) {
MenuItem clearHistory = menu.add(Menu.NONE, R.id.clear_history_item, Menu.CATEGORY_CONTAINER, R.string.clear_history_label);
MenuItemCompat.setShowAsAction(clearHistory, MenuItemCompat.SHOW_AS_ACTION_IF_ROOM);
TypedArray drawables = getActivity().obtainStyledAttributes(new int[]{R.attr.content_discard});
clearHistory.setIcon(drawables.getDrawable(0));
drawables.recycle();
}
}
@Override
public void onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);
menu.findItem(R.id.clear_history_item).setVisible(playbackHistory != null && !playbackHistory.isEmpty());
if (!MenuItemUtils.isActivityDrawerOpen((NavDrawerActivity) getActivity())) {
menu.findItem(R.id.clear_history_item).setVisible(playbackHistory != null && !playbackHistory.isEmpty());
}
}
@Override

View File

@ -38,6 +38,7 @@ import de.danoeh.antennapod.storage.DBReader;
import de.danoeh.antennapod.storage.DBWriter;
import de.danoeh.antennapod.util.QueueAccess;
import de.danoeh.antennapod.util.menuhandler.MenuItemUtils;
import de.danoeh.antennapod.util.menuhandler.NavDrawerActivity;
/**
* Shows all items in the queue
@ -136,22 +137,24 @@ public class QueueFragment extends Fragment {
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
final SearchView sv = new SearchView(getActivity());
MenuItemUtils.addSearchItem(menu, sv);
sv.setQueryHint(getString(R.string.search_hint));
sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
sv.clearFocus();
((MainActivity) getActivity()).loadChildFragment(SearchFragment.newInstance(s));
return true;
}
if (!MenuItemUtils.isActivityDrawerOpen((NavDrawerActivity) getActivity())) {
final SearchView sv = new SearchView(getActivity());
MenuItemUtils.addSearchItem(menu, sv);
sv.setQueryHint(getString(R.string.search_hint));
sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
sv.clearFocus();
((MainActivity) getActivity()).loadChildFragment(SearchFragment.newInstance(s));
return true;
}
@Override
public boolean onQueryTextChange(String s) {
return false;
}
});
@Override
public boolean onQueryTextChange(String s) {
return false;
}
});
}
}
@Override

View File

@ -20,6 +20,8 @@ import de.danoeh.antennapod.feed.*;
import de.danoeh.antennapod.storage.DBReader;
import de.danoeh.antennapod.storage.FeedSearcher;
import de.danoeh.antennapod.util.QueueAccess;
import de.danoeh.antennapod.util.menuhandler.MenuItemUtils;
import de.danoeh.antennapod.util.menuhandler.NavDrawerActivity;
import java.util.List;
@ -131,26 +133,28 @@ public class SearchFragment extends ListFragment {
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
MenuItem item = menu.add(Menu.NONE, R.id.search_item, Menu.NONE, R.string.search_label);
MenuItemCompat.setShowAsAction(item, MenuItemCompat.SHOW_AS_ACTION_IF_ROOM);
final SearchView sv = new SearchView(getActivity());
sv.setQueryHint(getString(R.string.search_hint));
sv.setQuery(getArguments().getString(ARG_QUERY), false);
sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
getArguments().putString(ARG_QUERY, s);
itemsLoaded = false;
startSearchTask();
return true;
}
if (!MenuItemUtils.isActivityDrawerOpen((NavDrawerActivity) getActivity())) {
MenuItem item = menu.add(Menu.NONE, R.id.search_item, Menu.NONE, R.string.search_label);
MenuItemCompat.setShowAsAction(item, MenuItemCompat.SHOW_AS_ACTION_IF_ROOM);
final SearchView sv = new SearchView(getActivity());
sv.setQueryHint(getString(R.string.search_hint));
sv.setQuery(getArguments().getString(ARG_QUERY), false);
sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
getArguments().putString(ARG_QUERY, s);
itemsLoaded = false;
startSearchTask();
return true;
}
@Override
public boolean onQueryTextChange(String s) {
return false;
}
});
MenuItemCompat.setActionView(item, sv);
@Override
public boolean onQueryTextChange(String s) {
return false;
}
});
MenuItemCompat.setActionView(item, sv);
}
}
private final EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() {

View File

@ -21,6 +21,7 @@ import de.danoeh.antennapod.gpoddernet.GpodnetService;
import de.danoeh.antennapod.gpoddernet.GpodnetServiceException;
import de.danoeh.antennapod.gpoddernet.model.GpodnetPodcast;
import de.danoeh.antennapod.util.menuhandler.MenuItemUtils;
import de.danoeh.antennapod.util.menuhandler.NavDrawerActivity;
import java.util.List;
@ -44,22 +45,24 @@ public abstract class PodcastListFragment extends Fragment {
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
final android.support.v7.widget.SearchView sv = new android.support.v7.widget.SearchView(getActivity());
MenuItemUtils.addSearchItem(menu, sv);
sv.setQueryHint(getString(R.string.gpodnet_search_hint));
sv.setOnQueryTextListener(new android.support.v7.widget.SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
sv.clearFocus();
((MainActivity) getActivity()).loadChildFragment(SearchListFragment.newInstance(s));
return true;
}
if (!MenuItemUtils.isActivityDrawerOpen((NavDrawerActivity) getActivity())) {
final android.support.v7.widget.SearchView sv = new android.support.v7.widget.SearchView(getActivity());
MenuItemUtils.addSearchItem(menu, sv);
sv.setQueryHint(getString(R.string.gpodnet_search_hint));
sv.setOnQueryTextListener(new android.support.v7.widget.SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
sv.clearFocus();
((MainActivity) getActivity()).loadChildFragment(SearchListFragment.newInstance(s));
return true;
}
@Override
public boolean onQueryTextChange(String s) {
return false;
}
});
@Override
public boolean onQueryTextChange(String s) {
return false;
}
});
}
}
@Override

View File

@ -7,15 +7,14 @@ import android.view.MenuInflater;
import org.apache.commons.lang3.Validate;
import java.util.List;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.fragment.SearchFragment;
import de.danoeh.antennapod.gpoddernet.GpodnetService;
import de.danoeh.antennapod.gpoddernet.GpodnetServiceException;
import de.danoeh.antennapod.gpoddernet.model.GpodnetPodcast;
import de.danoeh.antennapod.util.menuhandler.MenuItemUtils;
import java.util.List;
import de.danoeh.antennapod.util.menuhandler.NavDrawerActivity;
/**
* Performs a search on the gpodder.net directory and displays the results.
@ -47,22 +46,24 @@ public class SearchListFragment extends PodcastListFragment {
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
final SearchView sv = new SearchView(getActivity());
MenuItemUtils.addSearchItem(menu, sv);
sv.setQueryHint(getString(R.string.gpodnet_search_hint));
sv.setQuery(query, false);
sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
sv.clearFocus();
changeQuery(s);
return true;
}
if (!MenuItemUtils.isActivityDrawerOpen((NavDrawerActivity) getActivity())) {
MenuItemUtils.addSearchItem(menu, sv);
sv.setQueryHint(getString(R.string.gpodnet_search_hint));
sv.setQuery(query, false);
sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
sv.clearFocus();
changeQuery(s);
return true;
}
@Override
public boolean onQueryTextChange(String s) {
return false;
}
});
@Override
public boolean onQueryTextChange(String s) {
return false;
}
});
}
}
@Override

View File

@ -18,6 +18,7 @@ import de.danoeh.antennapod.gpoddernet.GpodnetService;
import de.danoeh.antennapod.gpoddernet.GpodnetServiceException;
import de.danoeh.antennapod.gpoddernet.model.GpodnetTag;
import de.danoeh.antennapod.util.menuhandler.MenuItemUtils;
import de.danoeh.antennapod.util.menuhandler.NavDrawerActivity;
import java.util.ArrayList;
import java.util.List;
@ -35,22 +36,24 @@ public class TagListFragment extends ListFragment {
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
final SearchView sv = new SearchView(getActivity());
MenuItemUtils.addSearchItem(menu, sv);
sv.setQueryHint(getString(R.string.gpodnet_search_hint));
sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
sv.clearFocus();
((MainActivity) getActivity()).loadChildFragment(SearchListFragment.newInstance(s));
return true;
}
if (!MenuItemUtils.isActivityDrawerOpen((NavDrawerActivity) getActivity())) {
final SearchView sv = new SearchView(getActivity());
MenuItemUtils.addSearchItem(menu, sv);
sv.setQueryHint(getString(R.string.gpodnet_search_hint));
sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
sv.clearFocus();
((MainActivity) getActivity()).loadChildFragment(SearchListFragment.newInstance(s));
return true;
}
@Override
public boolean onQueryTextChange(String s) {
return false;
}
});
@Override
public boolean onQueryTextChange(String s) {
return false;
}
});
}
}
@Override

View File

@ -4,6 +4,7 @@ import android.support.v4.view.MenuItemCompat;
import android.support.v7.widget.SearchView;
import android.view.Menu;
import android.view.MenuItem;
import de.danoeh.antennapod.R;
/**
@ -17,4 +18,14 @@ public class MenuItemUtils {
MenuItemCompat.setActionView(item, searchView);
return item;
}
/**
* Checks if the navigation drawer of the DrawerActivity is opened. This can be useful for Fragments
* that hide their menu if the navigation drawer is open.
*
* @return True if the drawer is open, false otherwise (also if the parameter is null)
*/
public static boolean isActivityDrawerOpen(NavDrawerActivity activity) {
return activity != null && activity.isDrawerOpen();
}
}

View File

@ -0,0 +1,9 @@
package de.danoeh.antennapod.util.menuhandler;
/**
* Defines useful methods for activities that have a navigation drawer
*/
public interface NavDrawerActivity {
public boolean isDrawerOpen();
}