package com.betaseries.betaseries.ui; import android.content.res.Configuration; import android.os.Bundle; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBarDrawerToggle; import android.view.MenuItem; import android.view.View; import com.betaseries.betaseries.R; import butterknife.Bind; /** * Created by florentchampigny on 02/08/15. */ public class AbstractDrawerActivity extends AbstractActivity { @Bind(R.id.drawerLayout) DrawerLayout drawerLayout; @Bind(R.id.drawerBackground) View drawerBackground; ActionBarDrawerToggle drawerToggle; @Override protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); if (drawerToggle == null && drawerLayout != null) { drawerToggle = new ActionBarDrawerToggle(this, drawerLayout, 0, 0); drawerLayout.setDrawerListener(new DrawerLayout.DrawerListener() { @Override public void onDrawerSlide(View drawerView, float slideOffset) { drawerToggle.onDrawerSlide(drawerView, slideOffset); } @Override public void onDrawerOpened(View drawerView) { drawerToggle.onDrawerOpened(drawerView); drawerOpened(); } @Override public void onDrawerClosed(View drawerView) { drawerToggle.onDrawerClosed(drawerView); } @Override public void onDrawerStateChanged(int newState) { drawerToggle.onDrawerStateChanged(newState); } }); drawerLayout.setOnClickListener(v -> { }); drawerBackground.setOnClickListener(v -> { }); } if (drawerToggle != null) drawerToggle.syncState(); } @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); if (drawerToggle != null) drawerToggle.onConfigurationChanged(newConfig); } @Override public boolean onOptionsItemSelected(MenuItem item) { return (drawerToggle != null && drawerToggle.onOptionsItemSelected(item)) || super.onOptionsItemSelected(item); } public void closeDrawer() { drawerLayout.postDelayed(() -> drawerLayout.closeDrawers(), 500); } public void drawerOpened() { } }