From 99d68b2982516a5bdc88a2aeb57e58267291e05f Mon Sep 17 00:00:00 2001 From: daniel oeh Date: Tue, 15 Jul 2014 01:00:42 +0200 Subject: Hide local menu items when nav drawer is shown --- .../antennapod/activity/AudioplayerActivity.java | 30 +++++++++++++++++++++- .../danoeh/antennapod/activity/MainActivity.java | 20 +++++++++------ 2 files changed, 41 insertions(+), 9 deletions(-) (limited to 'src/de/danoeh/antennapod/activity') diff --git a/src/de/danoeh/antennapod/activity/AudioplayerActivity.java b/src/de/danoeh/antennapod/activity/AudioplayerActivity.java index 92094ec5a..c0af60168 100644 --- a/src/de/danoeh/antennapod/activity/AudioplayerActivity.java +++ b/src/de/danoeh/antennapod/activity/AudioplayerActivity.java @@ -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); } diff --git a/src/de/danoeh/antennapod/activity/MainActivity.java b/src/de/danoeh/antennapod/activity/MainActivity.java index 7e83c5d95..b7014dab2 100644 --- a/src/de/danoeh/antennapod/activity/MainActivity.java +++ b/src/de/danoeh/antennapod/activity/MainActivity.java @@ -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 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; } -- cgit v1.2.3