package com.distantfuture.videos.services;
import android.os.Bundle;
import com.distantfuture.videos.misc.DUtils;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class ServiceRequest {
public static final String REQUEST_CLASS_TYPE_KEY = "rct_key";
private HashMap<String, Object> map;
protected ServiceRequest() {
super();
map = new HashMap();
}
public static Bundle toBundle(ServiceRequest request) {
Bundle result = new Bundle();
for (Map.Entry<String, Object> entry : request.map.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
if (value instanceof String)
result.putString(key, (String) value);
else if (value instanceof Integer)
result.putInt(key, (Integer) value);
else if (value instanceof Long)
result.putLong(key, (Long) value);
else if (value != null) // null is OK, so don't flag that
DUtils.log("toBundle not handled : " + value.getClass().toString());
}
return result;
}
public static ServiceRequest fromBundle(Bundle bundle) {
ServiceRequest result = new ServiceRequest();
Set<String> keySet = bundle.keySet();
for (String key : keySet) {
Object value = bundle.get(key);
result.map.put(key, value);
}
return result;
}
protected Object getData(String key) {
Object result = null;
if (map.containsKey(key))
result = map.get(key);
return result;
}
protected void putString(String key, String value) {
map.put(key, value);
}
protected void putInt(String key, int value) {
map.put(key, value);
}
}