package com.buddycloud.model;
import org.json.JSONObject;
import android.content.Context;
import com.buddycloud.http.BuddycloudHTTPHelper;
import com.buddycloud.preferences.Preferences;
public class TopicChannelModel extends AbstractModel<JSONObject, Void, String> {
private static TopicChannelModel instance;
private TopicChannelModel() {}
public static TopicChannelModel getInstance() {
if (instance == null) {
instance = new TopicChannelModel();
}
return instance;
}
public void getFromServer(final Context context, final ModelCallback<JSONObject> callback, String... p) {
}
private static String url(Context context, String channelJid) {
String apiAddress = Preferences.getPreference(context, Preferences.API_ADDRESS);
return apiAddress + "/" + channelJid;
}
@Override
public void save(final Context context, Void object,
final ModelCallback<Void> callback, String... p) {
if (p == null || p.length < 1) {
return;
}
BuddycloudHTTPHelper.post(url(context, p[0]), true, false, null, context, new ModelCallback<JSONObject>() {
@Override
public void success(JSONObject response) {
SubscribedChannelsModel.getInstance().fill(context, callback);
}
@Override
public void error(Throwable throwable) {
callback.error(throwable);
}
});
}
@Override
public JSONObject getFromCache(Context context, String... p) {
// TODO Auto-generated method stub
return null;
}
@Override
public void fill(Context context, ModelCallback<Void> callback, String... p) {
// TODO Auto-generated method stub
}
@Override
public void delete(final Context context, final ModelCallback<Void> callback, final String... p) {
if (p == null || p.length < 1) {
return;
}
BuddycloudHTTPHelper.delete(url(context, p[0]), true, false, context,
new ModelCallback<JSONObject>() {
@Override
public void success(JSONObject response) {
SubscribedChannelsModel.getInstance().fill(context, callback);
}
@Override
public void error(Throwable throwable) {
callback.error(throwable);
}
});
}
}