package com.android.smap.activities;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.widget.DrawerLayout;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import com.android.smap.R;
import com.android.smap.adapters.MenuDrawerAdapter;
import com.android.smap.fragments.BaseFragment;
import com.android.smap.fragments.ContactsFragment;
import com.android.smap.fragments.SettingsFragment;
import com.android.smap.fragments.SurveysFragment;
import com.android.smap.sms.GatewayService;
import com.android.smap.ui.ViewQuery;
public class MainActivity extends BaseActivity implements OnItemClickListener {
private ViewQuery mQuery;
private ViewQuery mMenuQuery;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setupActionBar();
setInitialFragment(SurveysFragment.class);
setContentView(R.layout.activity_main);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
mQuery = new ViewQuery(this);
mMenuQuery = mQuery.find(R.id.drawer_left);
mMenuQuery.adapter(new MenuDrawerAdapter(this)).onItemClicked(this);
}
@Override
public void setupActionBar() {
super.setupActionBar();
getActionBar().setDisplayShowCustomEnabled(true);
getActionBar().setDisplayHomeAsUpEnabled(false);
getActionBar().setHomeButtonEnabled(true);
}
private void setInitialFragment(Class<? extends BaseFragment> fclass) {
Fragment f = Fragment.instantiate(this, fclass.getName());
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.container, f);
ft.commit();
}
@Override
protected void onResume() {
super.onResume();
startService(new Intent(this, GatewayService.class));
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
toggleDraw();
return true;
}
return super.onOptionsItemSelected(item);
}
private void toggleDraw() {
DrawerLayout drawer = mQuery.find(R.id.layout_drawer).get(
DrawerLayout.class);
View menuView = mMenuQuery.get();
if (drawer.isDrawerOpen(menuView)) {
drawer.closeDrawer(menuView);
} else {
drawer.openDrawer(menuView);
}
}
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position,
long arg3) {
toggleDraw();
switch (position) {
case 0:
setInitialFragment(SurveysFragment.class);
return;
case 1:
setInitialFragment(ContactsFragment.class);
return;
case 2:
return;
case 3:
setInitialFragment(SettingsFragment.class);
return;
case 4:
return;
case 5:
return;
default:
return;
}
}
}