package com.pinthecloud.athere.activity;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarDrawerToggle;
import android.view.MenuItem;
import android.view.View;
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;
import com.pinthecloud.athere.R;
import com.pinthecloud.athere.fragment.SquareListFragment;
public class SquareListActivity extends AhActivity {
private DrawerLayout drawerLayout;
private ActionBarDrawerToggle drawerToggle;
private SlidingMenu slidingMenu;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_square_list);
setActionBar();
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
setFragment(fragmentTransaction);
slidingMenu = app.getSlidingMenu(thisActivity, fragmentTransaction);
setDrawerIndicator();
fragmentTransaction.commit();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
slidingMenu.toggle();
break;
}
return super.onOptionsItemSelected(item);
}
@Override
public void onBackPressed() {
if(slidingMenu.isMenuShowing()){
slidingMenu.toggle();
return;
}
super.onBackPressed();
}
private void setActionBar(){
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setHomeButtonEnabled(true);
}
private void setFragment(FragmentTransaction fragmentTransaction){
SquareListFragment fragment = new SquareListFragment ();
fragmentTransaction.add(R.id.square_list_layout, fragment);
}
private void setDrawerIndicator() {
drawerLayout = (DrawerLayout) findViewById(R.id.square_list_drawer_layout);
drawerToggle = new ActionBarDrawerToggle(thisActivity, /* host Activity */
drawerLayout, /* DrawerLayout object */
R.string.drawer_open, /* "open drawer" description for accessibility */
R.string.drawer_close /* "close drawer" description for accessibility */
)
{
@Override
public void onDrawerOpened(View drawerView) {
super.onDrawerOpened(drawerView);
invalidateOptionsMenu(); // calls onPrepareOptionsMenu()
}
@Override
public void onDrawerClosed(View drawerView) {
super.onDrawerClosed(drawerView);
invalidateOptionsMenu(); // calls onPrepareOptionsMenu()
}
};
drawerLayout.setDrawerListener(drawerToggle);
// Defer code dependent on restoration of previous instance state.
drawerLayout.post(new Runnable() {
@Override
public void run() {
drawerToggle.syncState();
}
});
}
}