package com.example.twitterclient.handlers; import com.example.twitterclient.models.Tweet; import com.example.twitterclient.utils.HandlesErrors; import com.loopj.android.http.JsonHttpResponseHandler; import org.json.JSONException; import org.json.JSONObject; import java.text.ParseException; /** * Created on 10/22/13. */ public class AsyncStatusUpdateHandler extends JsonHttpResponseHandler { public static interface CanReceiveTweet extends HandlesErrors { public void receiveTweet(Tweet tweet); } private CanReceiveTweet receiver; public AsyncStatusUpdateHandler(CanReceiveTweet receiver) { this.receiver = receiver; } @Override public void onSuccess(JSONObject jsonObject) { try { receiver.receiveTweet(Tweet.fromJsonObject(jsonObject)); } catch (JSONException e) { onFailure(e, jsonObject); } catch (ParseException e) { onFailure(e, jsonObject); } } @Override public void onFailure(Throwable throwable, JSONObject jsonObject) { receiver.onError(throwable); } }