Merge pull request #925 from Bars107/drawer

Added back button and menu iteraction for drawer
This commit is contained in:
vshcherb 2014-10-20 11:14:53 +02:00
commit e548429eca
2 changed files with 31 additions and 4 deletions

View file

@ -272,6 +272,13 @@ public class MapActivity extends AccessibleActivity {
setIntent(intent);
}
@Override
public void onBackPressed() {
if (!mapActions.onBackPressed()){
super.onBackPressed();
}
}
@Override
protected void onResume() {
super.onResume();
@ -465,7 +472,7 @@ public class MapActivity extends AccessibleActivity {
}
return true;
} else if (keyCode == KeyEvent.KEYCODE_MENU && event.getRepeatCount() == 0) {
mapActions.createOptionsMenuAsDrawer(true);
mapActions.onMenuPressed();
return true;
} else if (keyCode == KeyEvent.KEYCODE_SEARCH && event.getRepeatCount() == 0) {
Intent newIntent = new Intent(MapActivity.this, getMyApplication().getAppCustomization().getSearchActivity());

View file

@ -93,6 +93,9 @@ public class MapActivityActions implements DialogProvider {
private OsmandSettings settings;
private RoutingHelper routingHelper;
DrawerLayout mDrawerLayout;
ListView mDrawerList;
public MapActivityActions(MapActivity mapActivity){
this.mapActivity = mapActivity;
@ -724,10 +727,27 @@ public class MapActivityActions implements DialogProvider {
}
}
public boolean onBackPressed(){
if (mDrawerLayout.isDrawerOpen(mDrawerList)){
mDrawerLayout.closeDrawer(mDrawerList);
return true;
}
return false;
}
public void onMenuPressed(){
if (mDrawerLayout.isDrawerOpen(mDrawerList)){
mDrawerLayout.closeDrawer(mDrawerList);
} else {
createOptionsMenuAsDrawer(true);
}
}
public void createOptionsMenuAsDrawer(boolean show){
final ContextMenuAdapter cm = createOptionsMenu();
final DrawerLayout mDrawerLayout = (DrawerLayout) mapActivity.findViewById(R.id.drawer_layout);
final ListView mDrawerList = (ListView) mapActivity.findViewById(R.id.left_drawer);
mDrawerLayout = (DrawerLayout) mapActivity.findViewById(R.id.drawer_layout);
mDrawerList = (ListView) mapActivity.findViewById(R.id.left_drawer);
mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
ListAdapter listAdapter;
if(Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB){