Skip to content

Commit a582b70

Browse files
committed
more data to persist
1 parent bdf3d98 commit a582b70

File tree

2 files changed

+24
-12
lines changed

2 files changed

+24
-12
lines changed

app/src/main/java/com/birbit/android/livecode/twitter/activity/MainActivity.java

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -75,14 +75,16 @@ public void onClick(View v) {
7575
};
7676

7777
private void sendTweet(final String trimmed) {
78-
new AsyncTaskWithProgress<Tweet>(this, R.string.post_tweet_progress_msg) {
78+
new AsyncTaskWithProgress<Void>(this, R.string.post_tweet_progress_msg) {
7979
@Override
80-
protected Tweet safeDoInBackground(Void... params) {
81-
return twitterService.postStatus(trimmed);
80+
protected Void safeDoInBackground(Void... params) {
81+
Tweet tweet = twitterService.postStatus(trimmed);
82+
tweetModel.saveTweet(tweet);
83+
return null;
8284
}
8385

8486
@Override
85-
protected void safeOnPostExecute(Tweet tweet) {
87+
protected void safeOnPostExecute(Void res) {
8688
//reload tweet
8789
reloadTweets();
8890
}
@@ -177,18 +179,19 @@ public void onFavorite(final Tweet tweet) {
177179

178180
@Override
179181
protected Void safeDoInBackground(Void... params) {
182+
Tweet result;
180183
if(favorite) {
181-
twitterService.favorite(tweet.getId());
184+
result = twitterService.favorite(tweet.getId());
182185
} else {
183-
twitterService.removeFavorite(tweet.getId());
186+
result = twitterService.removeFavorite(tweet.getId());
184187
}
185-
tweet.setFavorited(favorite);
188+
tweetModel.saveTweet(result);
186189
return null;
187190
}
188191

189192
@Override
190193
protected void safeOnPostExecute(Void aVoid) {
191-
notifyDataSetChanged();
194+
reloadTweets();
192195
}
193196
}.execute();
194197
}
@@ -202,14 +205,13 @@ public void onRetweet(final Tweet tweet) {
202205

203206
@Override
204207
protected Void safeDoInBackground(Void... params) {
205-
twitterService.retweet(tweet.getId());
206-
tweet.setRetweeted(true);
208+
Tweet result = twitterService.retweet(tweet.getId());
209+
tweetModel.saveTweet(result);
207210
return null;
208211
}
209212

210213
@Override
211214
protected void safeOnPostExecute(Void aVoid) {
212-
notifyDataSetChanged();
213215
reloadTweets();
214216
}
215217
}.execute();

app/src/main/java/com/birbit/android/livecode/twitter/business/exceptions/TwitterApiException.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,21 @@
1414
public class TwitterApiException extends RuntimeException {
1515
private final RetrofitError retrofitError;
1616
TwitterApiException(RetrofitError retrofitError) {
17-
super(retrofitError.getMessage());
17+
super(createExceptionMessage(retrofitError));
1818
setStackTrace(retrofitError.getStackTrace());
1919
this.retrofitError = retrofitError;
2020
}
2121

22+
private static String createExceptionMessage(RetrofitError retrofitError) {
23+
if(retrofitError.getMessage() != null) {
24+
return retrofitError.getMessage();
25+
}
26+
if(retrofitError.getResponse() != null) {
27+
return "Status: "+ retrofitError.getResponse().getStatus();
28+
}
29+
return "unknown error";
30+
}
31+
2232
public boolean canRetry() {
2333
int status = retrofitError.getResponse().getStatus();
2434
return status < 400 || status > 499;

0 commit comments

Comments
 (0)