package edu.mit.mitmobile2.libraries;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import edu.mit.mitmobile2.MITMenuItem;
import edu.mit.mitmobile2.NewModule;
import edu.mit.mitmobile2.R;
import edu.mit.mitmobile2.SliderListNewModuleActivity;
import edu.mit.mitmobile2.SmallActivityCache;
public class BookDetailActivity extends SliderListNewModuleActivity {
private static final String KEY = "key";
private List<BookItem> mBooks = Collections.emptyList();
static SmallActivityCache<List<BookItem>> sBookHashMap = new SmallActivityCache<List<BookItem>>();
static void launchActivity(Context context, List<BookItem> items, int position) {
// load the activity that shows all the detail search results
Long key = sBookHashMap.put(items);
Intent intent = new Intent(context, BookDetailActivity.class);
intent.putExtra(BookDetailActivity.KEY, key);
intent.putExtra(BookDetailActivity.KEY_POSITION, position);
context.startActivity(intent);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle extras = getIntent().getExtras();
if (extras != null) {
List<BookItem> bookItems = null;
if (extras.containsKey(KEY)) {
bookItems = sBookHashMap.getItem(extras.getLong(KEY));
if(bookItems == null) {
finish();
return;
}
}
setBooks(bookItems);
}
}
private void setBooks(List<BookItem> books) {
mBooks = books;
for(BookItem book : mBooks) {
addScreen(new BookDetailView(BookDetailActivity.this, book), "Book Detail");
}
setPosition(getPositionValue());
}
@Override
protected NewModule getNewModule() {
return new LibrariesModule();
}
@Override
public boolean isModuleHomeActivity() {
return false;
}
@Override
public List<MITMenuItem> getPrimaryMenuItems() {
ArrayList<MITMenuItem> items = new ArrayList<MITMenuItem>();
items.add(new MITMenuItem("search", "Search", R.drawable.menu_search));
return items;
}
@Override
protected void onOptionSelected(String optionId) { }
}