package com.ese2013.mensaunibe.mensa;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import com.ese2013.mensaunibe.R;
import com.ese2013.mensaunibe.map.MapActivityAllMensas;
import com.ese2013.mensaunibe.map.MyLocation;
import com.ese2013.mensaunibe.menu.MenuActivity;
import com.ese2013.mensaunibe.model.data.ForceReloadTask;
import com.ese2013.mensaunibe.model.utils.AppUtils;
import com.ese2013.mensaunibe.notification.NotificationActivity;
import com.ese2013.mensaunibe.settings.SettingsActivity;
/**
* @author group7
* @author Andreas Hohler
*/
public class MensaActivity extends ActionBarActivity implements MensaListFragment.OnListItemClickListener{
private MyLocation mLocation;
private MensaListFragment fragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_mensa_list);
if(mLocation == null){
mLocation = MyLocation.getInstance();
mLocation.setActivity(this);
}
fragment = (MensaListFragment) getSupportFragmentManager().findFragmentByTag(AppUtils.TAG_MENSALIST_FRAGMENT);
if (fragment == null) {
fragment = new MensaListFragment();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.add(android.R.id.content, fragment, AppUtils.TAG_MENSALIST_FRAGMENT);
ft.commit();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.actionbar_mensa_list, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public void onListItemSelected(int mensaId) {
Intent intent = new Intent();
intent.setClass(getApplicationContext(), MenuActivity.class);
intent.putExtra("int_value", mensaId);
startActivity(intent);
}
public boolean onOptionsItemSelected(MenuItem item) {
// Handle presses on the action bar items
switch (item.getItemId()) {
case R.id.action_refresh:
Log.v(AppUtils.TAG_MENSALIST_FRAGMENT, "Refresh data...");
ForceReloadTask task = new ForceReloadTask(this, (MensaListAdapter) fragment.getListAdapter());
task.execute();
return true;
case R.id.action_map:
startActivity(new Intent(getApplicationContext(), MapActivityAllMensas.class));
return true;
case R.id.action_notification:
startActivity(new Intent(getApplicationContext(), NotificationActivity.class));
return true;
case R.id.action_settings:
startActivity(new Intent(getApplicationContext(), SettingsActivity.class));
return true;
default:
return super.onOptionsItemSelected(item);
}
}
@Override
public void onStop() {
mLocation.callOnStop();
super.onStop();
}
@Override
public void onPause() {
mLocation.callOnPause();
super.onPause();
}
@Override
public void onStart() {
super.onStart();
mLocation.callOnStart();
}
@Override
public void onResume() {
super.onResume();
mLocation.callOnResume();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
mLocation.callOnActivityResult(requestCode, resultCode, intent);
}
}