From b0dbaa95fa493ad8ae325cdab12fd2439ba36a02 Mon Sep 17 00:00:00 2001 From: Kazuki Yamaguchi Date: Wed, 7 Dec 2016 23:24:27 +0900 Subject: 投稿が成功しなかったら入力欄を空にしない MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../net/lacolaco/smileessence/twitter/task/TweetTask.java | 15 +++------------ .../view/dialog/SendMessageDialogFragment.java | 8 +++++--- .../net/lacolaco/smileessence/view/page/PostFragment.java | 13 +++++++++---- 3 files changed, 17 insertions(+), 19 deletions(-) (limited to 'app/src/main/java/net') diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/TweetTask.java b/app/src/main/java/net/lacolaco/smileessence/twitter/task/TweetTask.java index c60d5ffc..33bb526f 100644 --- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/TweetTask.java +++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/TweetTask.java @@ -102,7 +102,7 @@ public class TweetTask extends BackgroundTask { // ------------------------ OVERRIDE METHODS ------------------------ @Override - protected Tweet doInBackground() { + protected Tweet doInBackground() throws TwitterException { try { if (!TextUtils.isEmpty(mediaPath)) { File mediaFile = getMediaFile(); @@ -110,20 +110,11 @@ public class TweetTask extends BackgroundTask { update.setMedia(mediaFile); } } - Tweet tweet = Tweet.fromTwitter(account.getTwitter().tweets().updateStatus(update), account.getUserId()); + return Tweet.fromTwitter(account.getTwitter().tweets().updateStatus(update), account.getUserId()); + } finally { if (tempFilePath != null) { new File(tempFilePath).delete(); } - if (tweet != null) { - Notificator.getInstance().publish(R.string.notice_tweet_succeeded); - } else { - Notificator.getInstance().alert(R.string.notice_tweet_failed); - } - return tweet; - } catch (TwitterException e) { - e.printStackTrace(); - Logger.error(e.toString()); - return null; } } } diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/SendMessageDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/SendMessageDialogFragment.java index a7e5add0..05c32bc1 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/SendMessageDialogFragment.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/SendMessageDialogFragment.java @@ -145,9 +145,11 @@ public class SendMessageDialogFragment extends StackableDialogFragment implement SystemServiceHelper.hideIM(getActivity(), editText); String text = editText.getText().toString(); new SendMessageTask(Application.getInstance().getCurrentAccount(), screenName, text) - .onDone(x -> Notificator.getInstance().publish(R.string.notice_message_send_succeeded)) - .onFail(x -> Notificator.getInstance().alert(R.string.notice_message_send_failed)) + .onDoneUI(m -> { + Notificator.getInstance().publish(R.string.notice_message_send_succeeded); + dismiss(); + }) + .onFail(e -> Notificator.getInstance().alert(R.string.notice_message_send_failed, e)) .execute(); - dismiss(); } } diff --git a/app/src/main/java/net/lacolaco/smileessence/view/page/PostFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/page/PostFragment.java index 9fe3cac1..96133293 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/page/PostFragment.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/page/PostFragment.java @@ -43,6 +43,7 @@ import net.lacolaco.smileessence.activity.MainActivity; import net.lacolaco.smileessence.data.PostState; import net.lacolaco.smileessence.entity.Tweet; import net.lacolaco.smileessence.logging.Logger; +import net.lacolaco.smileessence.notification.Notificator; import net.lacolaco.smileessence.preference.UserPreferenceHelper; import net.lacolaco.smileessence.twitter.task.TweetTask; import net.lacolaco.smileessence.util.BitmapThumbnailTask; @@ -327,9 +328,13 @@ public class PostFragment extends PageFragment implements TextWatcher, View.OnFo PostState state = PostState.getState(); MainActivity mainActivity = (MainActivity) getActivity(); boolean resizeFlag = UserPreferenceHelper.getInstance().get(R.string.key_setting_resize_post_image, false); - TweetTask tweetTask = new TweetTask(Application.getInstance().getCurrentAccount(), state.toStatusUpdate(), state.getMediaFilePath(), resizeFlag); - tweetTask.execute(); - PostState.newState().beginTransaction().commit(); - mainActivity.openHomePage(); + new TweetTask(Application.getInstance().getCurrentAccount(), state.toStatusUpdate(), state.getMediaFilePath(), resizeFlag) + .onDoneUI(t -> { + Notificator.getInstance().publish(R.string.notice_tweet_succeeded); + PostState.newState().beginTransaction().commit(); + mainActivity.openHomePage(); + }) + .onFail(e -> Notificator.getInstance().alert(R.string.notice_tweet_failed, e)) + .execute(); } } -- cgit v1.2.3