package net.jessechen.fblisteners;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.MalformedURLException;
import net.jessechen.alarmclock.AlarmClockActivity;
import net.jessechen.models.AlarmModel;
import net.jessechen.friendlyalarmclock.R;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Handler;
import android.util.Log;
import com.facebook.android.AsyncFacebookRunner.RequestListener;
import com.facebook.android.FacebookError;
public class AddToTimelineListener implements RequestListener {
private AlarmModel mAlarmModel;
private ProgressDialog dialog;
private Handler mHandler;
private Context ctx;
public AddToTimelineListener(AlarmModel am, Context c, ProgressDialog dialog) {
this.ctx = c;
this.dialog = dialog;
mHandler = new Handler();
mAlarmModel = am;
}
@Override
public void onComplete(String response, Object state) {
dialog.dismiss();
try {
JSONObject json = new JSONObject(response);
long pid = Long.parseLong(json.getString("id"));
showAlertDialog("added to timeline!", json.toString(0));
mAlarmModel.setPid(pid);
} catch (JSONException e) {
Log.e(AlarmClockActivity.TAG, "Error: " + e.toString());
}
}
@Override
public void onIOException(IOException e, Object state) {
}
@Override
public void onFileNotFoundException(FileNotFoundException e, Object state) {
}
@Override
public void onMalformedURLException(MalformedURLException e, Object state) {
}
@Override
public void onFacebookError(FacebookError e, Object state) {
}
/*
* Show Alert Dialog
*/
public void showAlertDialog(final String title, final String message) {
mHandler.post(new Runnable() {
public void run() {
new AlertDialog.Builder(ctx)
.setTitle(title)
.setMessage(message)
.setPositiveButton(ctx.getString(R.string.ok),
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
return;
}
}).show();
}
});
}
}