package wb.android.dialog;
import android.app.Dialog;
import java.util.HashMap;
public class DialogCache {
final HashMap<Integer, Dialog> cache;
private Dialog _lastHolder;
private int _lastID = -1;
public DialogCache() {
cache = new HashMap<Integer, Dialog>();
}
public DialogCache(int capacity) {
cache = new HashMap<Integer, Dialog>(capacity);
}
public DialogCache(DialogCache dialogCache) {
cache = new HashMap<Integer, Dialog>(dialogCache.cache);
}
public final Dialog get(int dialogID) {
if (_lastID == dialogID)
return _lastHolder;
if (cache.containsKey(dialogID))
return cache.get(dialogID);
else
return null;
}
public final boolean show(int dialogID) {
if (_lastID == dialogID) {
_lastHolder.show();
return true;
}
if (cache.containsKey(dialogID)) {
cache.get(dialogID).show();
return true;
}
else
return false;
}
public final boolean contains(int dialogID) {
return cache.containsKey(dialogID);
}
public final void put(Dialog dialog, int dialogID) {
cache.put(dialogID, dialog);
_lastID = dialogID;
_lastHolder = dialog;
}
public final Dialog remove(int dialogID) {
return cache.remove(dialogID);
}
}