package edu.mit.mitmobile2.libraries;
import java.util.Collections;
import java.util.List;
import java.util.WeakHashMap;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import edu.mit.mitmobile2.NewModule;
import edu.mit.mitmobile2.SliderListNewModuleActivity;
public class LibraryDetailActivity extends SliderListNewModuleActivity {
private static final String KEY = "key";
private static final String KEY_POSITION = "key_position";
private List<LibraryItem> mLibraries = Collections.emptyList();
static WeakHashMap<Long, List<LibraryItem>> sLibraryHashMap = new WeakHashMap<Long, List<LibraryItem>>();
static void launchActivity(Context context, List<LibraryItem> items, int position) {
// load the activity that shows all the detail search results
Long key = System.currentTimeMillis();
sLibraryHashMap.put(key, items);
Intent intent = new Intent(context, LibraryDetailActivity.class);
intent.putExtra(LibraryDetailActivity.KEY, key);
intent.putExtra(LibraryDetailActivity.KEY_POSITION, position);
context.startActivity(intent);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle extras = getIntent().getExtras();
if (extras != null) {
List<LibraryItem> libraryItems = null;
int position = 0;
if (extras.containsKey(KEY)) {
libraryItems = sLibraryHashMap.get(extras.getLong(KEY));
if(libraryItems == null) {
finish();
}
}
if (extras.containsKey(KEY_POSITION)) {
position = extras.getInt(KEY_POSITION);
}
setLibraries(libraryItems, position);
}
}
private void setLibraries(List<LibraryItem> libraries, int position) {
mLibraries = libraries;
for(LibraryItem library : mLibraries) {
addScreen(new LibraryDetailView(LibraryDetailActivity.this, library), "Library Detail");
}
setPosition(position);
}
@Override
protected NewModule getNewModule() {
return new LibrariesModule();
}
@Override
public boolean isModuleHomeActivity() {
return false;
}
@Override
protected void onOptionSelected(String optionId) { }
}