package edu.mit.mitmobile2.maps;
import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import edu.mit.mitmobile2.Global;
import edu.mit.mitmobile2.NewModule;
import edu.mit.mitmobile2.NewModuleActivity;
import edu.mit.mitmobile2.R;
import edu.mit.mitmobile2.SimpleArrayAdapter;
import edu.mit.mitmobile2.TwoLineActionRow;
import edu.mit.mitmobile2.objs.MapCatItem;
public class MITMapBrowseSubCatsActivity extends NewModuleActivity {
static final String TAG = "MITMapBrowseSubCatsActivity";
private static String MENU_BOOKMARKS = "bookmarks";
static final String CATEGORY_NAME_KEY = "category_name";
private String mCategoryName;
Context mContext;
ArrayList<MapCatItem> mSubCats;
List<String> subcategory_names;
/****************************************************/
@Override
public void onCreate(Bundle savedInstanceState) {
Log.d(TAG,"onCreate()");
super.onCreate(savedInstanceState);
mContext = this;
Bundle extras = getIntent().getExtras();
if (extras!=null){
mCategoryName = extras.getString(CATEGORY_NAME_KEY);
}
mSubCats = Global.curSubCats;
if (mSubCats == null) {
// categories flushed from memory
finish();
return;
}
createView();
}
void createView() {
setContentView(R.layout.map_browse_cats);
addSecondaryTitle("Browse by " + mCategoryName);
// hide loader
findViewById(R.id.boringListLoader).setVisibility(View.GONE);
ListView listView = (ListView) findViewById(R.id.boringListLV);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View row, int position, long id) {
Intent i = new Intent(MITMapBrowseSubCatsActivity.this, MITMapBrowseResultsActivity.class);
i.putExtra(MITMapBrowseResultsActivity.KEY_CAT, mSubCats.get(position).categoryId);
i.putExtra(MITMapBrowseResultsActivity.CATEGORY_NAME_KEY, mSubCats.get(position).categoryName);
startActivity(i);
}
});
listView.setVisibility(View.VISIBLE);
ArrayAdapter<MapCatItem> subCategoriesAdapter = new SubCategoriesAdapter(this, mSubCats);
listView.setAdapter(subCategoriesAdapter);
}
private static class SubCategoriesAdapter extends SimpleArrayAdapter<MapCatItem> {
public SubCategoriesAdapter(Context context, List<MapCatItem> items) {
super(context, items, R.layout.boring_action_row);
}
@Override
public void updateView(MapCatItem catItem, View view) {
TwoLineActionRow row = (TwoLineActionRow) view;
row.setTitle(catItem.categoryName);
}
}
@Override
protected NewModule getNewModule() {
return new MapBrowseCatsModule();
}
@Override
protected boolean isScrollable() {
// TODO Auto-generated method stub
return false;
}
@Override
protected void onOptionSelected(String id) {
if (id.equals(MENU_BOOKMARKS)) {
Intent i = new Intent(mContext, MapBookmarksActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
mContext.startActivity(i);
}
}
@Override
protected boolean isModuleHomeActivity() {
// TODO Auto-generated method stub
return false;
}
}