aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/net/lacolaco/smileessence/view
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2015-09-21 21:22:43 +0900
committerKazuki Yamaguchi <k@rhe.jp>2015-09-21 21:22:43 +0900
commit13efd820c264ff60b4e70a1af7d0208e8f5cd5cf (patch)
tree6134d4a362581a7bdf916d9f9dfc7d992a3c1e08 /app/src/main/java/net/lacolaco/smileessence/view
parentc0a2acb9bbcb4b97189b64d5b4bf1eb02723017f (diff)
downloadSmileEssence-13efd820c264ff60b4e70a1af7d0208e8f5cd5cf.tar.gz
にゃーん
Diffstat (limited to 'app/src/main/java/net/lacolaco/smileessence/view')
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/CustomListFragment.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/DialogHelper.java1
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/HistoryFragment.java3
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/HomeFragment.java69
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/MentionsFragment.java59
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/MessagesFragment.java72
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/PostFragment.java18
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/SearchFragment.java94
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/SettingFragment.java1
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/UserListFragment.java75
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/adapter/CustomListAdapter.java1
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/adapter/EventListAdapter.java1
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/adapter/MessageListAdapter.java1
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/adapter/PageListAdapter.java5
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/adapter/StatusListAdapter.java1
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/ChooseTemplateDialogFragment.java1
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/ConfirmDialogFragment.java1
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/EditTextDialogFragment.java1
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/HashtagDialogFragment.java1
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/MenuDialogFragment.java1
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageDetailDialogFragment.java22
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageMenuDialogFragment.java13
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/PostMenuDialogFragment.java1
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/QuoteDialogFragment.java5
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/ReviewDialogFragment.java4
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/SearchOnGoogleDialogFragment.java1
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectImageDialogFragment.java1
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectSearchQueryDialogFragment.java1
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectUserListDialogFragment.java1
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/SendMessageDialogFragment.java19
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/SimpleDialogFragment.java1
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/StackableDialogFragment.java1
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusDetailDialogFragment.java64
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusMenuDialogFragment.java10
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/TalkChainDialogFragment.java5
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/UserDetailDialogFragment.java115
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/UserMenuDialogFragment.java1
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/listener/ListItemClickListener.java1
38 files changed, 239 insertions, 435 deletions
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/CustomListFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/CustomListFragment.java
index 464d75c2..4cdd7d3f 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/CustomListFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/CustomListFragment.java
@@ -30,10 +30,8 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.ListView;
-
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
-
import net.lacolaco.smileessence.R;
import net.lacolaco.smileessence.notification.Notificator;
import net.lacolaco.smileessence.view.adapter.CustomListAdapter;
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/DialogHelper.java b/app/src/main/java/net/lacolaco/smileessence/view/DialogHelper.java
index 6f8af2f5..31c63963 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/DialogHelper.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/DialogHelper.java
@@ -25,7 +25,6 @@
package net.lacolaco.smileessence.view;
import android.app.Activity;
-
import net.lacolaco.smileessence.view.dialog.StackableDialogFragment;
import java.util.LinkedHashSet;
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/HistoryFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/HistoryFragment.java
index 6e6d96bd..78b8d103 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/HistoryFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/HistoryFragment.java
@@ -26,10 +26,7 @@ package net.lacolaco.smileessence.view;
import android.os.Bundle;
import android.widget.ListView;
-
import com.handmark.pulltorefresh.library.PullToRefreshBase;
-import net.lacolaco.smileessence.R;
-import net.lacolaco.smileessence.activity.MainActivity;
import net.lacolaco.smileessence.twitter.StatusFilter;
import net.lacolaco.smileessence.view.adapter.EventListAdapter;
import net.lacolaco.smileessence.viewmodel.EventViewModel;
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/HomeFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/HomeFragment.java
index e1291a8d..4ae0c142 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/HomeFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/HomeFragment.java
@@ -26,9 +26,7 @@ package net.lacolaco.smileessence.view;
import android.os.Bundle;
import android.widget.ListView;
-
import com.handmark.pulltorefresh.library.PullToRefreshBase;
-
import net.lacolaco.smileessence.activity.MainActivity;
import net.lacolaco.smileessence.entity.Account;
import net.lacolaco.smileessence.entity.Tweet;
@@ -38,11 +36,8 @@ import net.lacolaco.smileessence.twitter.util.TwitterUtils;
import net.lacolaco.smileessence.util.UIHandler;
import net.lacolaco.smileessence.view.adapter.StatusListAdapter;
import net.lacolaco.smileessence.viewmodel.StatusViewModel;
-
import twitter4j.Paging;
-import twitter4j.Twitter;
-import java.util.List;
import java.util.ListIterator;
public class HomeFragment extends CustomListFragment<StatusListAdapter> {
@@ -66,20 +61,16 @@ public class HomeFragment extends CustomListFragment<StatusListAdapter> {
adapter.addToTop(tweet);
adapter.update();
});
- final Twitter twitter = ((MainActivity) getActivity()).getCurrentAccount().getTwitter();
+ final Account account = ((MainActivity) getActivity()).getCurrentAccount();
final Paging paging = TwitterUtils.getPaging(((MainActivity) getActivity()).getRequestCountPerPage());
- new HomeTimelineTask(twitter, paging) {
- @Override
- protected void onPostExecute(List<Tweet> tweets) {
- super.onPostExecute(tweets);
- for (Tweet tweet : tweets) {
- StatusViewModel statusViewModel = new StatusViewModel(tweet);
- adapter.addToBottom(statusViewModel);
- StatusFilter.getInstance().filter(statusViewModel);
- }
- adapter.updateForce();
+ new HomeTimelineTask(account, paging).onDoneUI(tweets -> {
+ for (Tweet tweet : tweets) {
+ StatusViewModel statusViewModel = new StatusViewModel(tweet);
+ adapter.addToBottom(statusViewModel);
+ StatusFilter.getInstance().filter(statusViewModel);
}
- }.execute();
+ adapter.updateForce();
+ }).execute();
}
@@ -97,25 +88,20 @@ public class HomeFragment extends CustomListFragment<StatusListAdapter> {
return;
}
final Account currentAccount = activity.getCurrentAccount();
- Twitter twitter = currentAccount.getTwitter();
Paging paging = TwitterUtils.getPaging(activity.getRequestCountPerPage());
if (adapter.getCount() > 0) {
paging.setSinceId(adapter.getTopID());
}
- new HomeTimelineTask(twitter, paging) {
- @Override
- protected void onPostExecute(List<Tweet> tweets) {
- super.onPostExecute(tweets);
- ListIterator<Tweet> li = tweets.listIterator(tweets.size());
- while (li.hasPrevious()) {
- StatusViewModel viewModel = new StatusViewModel(li.previous());
- adapter.addToTop(viewModel);
- StatusFilter.getInstance().filter(viewModel);
- }
- updateListViewWithNotice(refreshView.getRefreshableView(), true);
- refreshView.onRefreshComplete();
+ new HomeTimelineTask(currentAccount, paging).onDoneUI(tweets -> {
+ ListIterator<Tweet> li = tweets.listIterator(tweets.size());
+ while (li.hasPrevious()) {
+ StatusViewModel viewModel = new StatusViewModel(li.previous());
+ adapter.addToTop(viewModel);
+ StatusFilter.getInstance().filter(viewModel);
}
- }.execute();
+ updateListViewWithNotice(refreshView.getRefreshableView(), true);
+ refreshView.onRefreshComplete();
+ }).execute();
}
@Override
@@ -123,23 +109,18 @@ public class HomeFragment extends CustomListFragment<StatusListAdapter> {
final MainActivity activity = (MainActivity) getActivity();
final StatusListAdapter adapter = getAdapter();
final Account currentAccount = activity.getCurrentAccount();
- Twitter twitter = currentAccount.getTwitter();
Paging paging = TwitterUtils.getPaging(activity.getRequestCountPerPage());
if (adapter.getCount() > 0) {
paging.setMaxId(adapter.getLastID() - 1);
}
- new HomeTimelineTask(twitter, paging) {
- @Override
- protected void onPostExecute(List<Tweet> tweets) {
- super.onPostExecute(tweets);
- for (Tweet tweet : tweets) {
- StatusViewModel viewModel = new StatusViewModel(tweet);
- adapter.addToBottom(viewModel);
- StatusFilter.getInstance().filter(viewModel);
- }
- updateListViewWithNotice(refreshView.getRefreshableView(), false);
- refreshView.onRefreshComplete();
+ new HomeTimelineTask(currentAccount, paging).onDoneUI(tweets -> {
+ for (Tweet tweet : tweets) {
+ StatusViewModel viewModel = new StatusViewModel(tweet);
+ adapter.addToBottom(viewModel);
+ StatusFilter.getInstance().filter(viewModel);
}
- }.execute();
+ updateListViewWithNotice(refreshView.getRefreshableView(), false);
+ refreshView.onRefreshComplete();
+ }).execute();
}
}
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/MentionsFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/MentionsFragment.java
index 865322f0..affc18be 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/MentionsFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/MentionsFragment.java
@@ -26,9 +26,7 @@ package net.lacolaco.smileessence.view;
import android.os.Bundle;
import android.widget.ListView;
-
import com.handmark.pulltorefresh.library.PullToRefreshBase;
-
import net.lacolaco.smileessence.activity.MainActivity;
import net.lacolaco.smileessence.entity.Account;
import net.lacolaco.smileessence.entity.ExtractionWord;
@@ -38,11 +36,8 @@ import net.lacolaco.smileessence.twitter.task.MentionsTimelineTask;
import net.lacolaco.smileessence.twitter.util.TwitterUtils;
import net.lacolaco.smileessence.view.adapter.StatusListAdapter;
import net.lacolaco.smileessence.viewmodel.StatusViewModel;
-
import twitter4j.Paging;
-import twitter4j.Twitter;
-import java.util.List;
import java.util.regex.Pattern;
public class MentionsFragment extends CustomListFragment<StatusListAdapter> {
@@ -71,21 +66,17 @@ public class MentionsFragment extends CustomListFragment<StatusListAdapter> {
}
}
});
- final Twitter twitter = ((MainActivity) getActivity()).getCurrentAccount().getTwitter();
+ final Account account = ((MainActivity) getActivity()).getCurrentAccount();
final Paging paging = TwitterUtils.getPaging(((MainActivity) getActivity()).getRequestCountPerPage());
final StatusListAdapter adapter_ = adapter;
- new MentionsTimelineTask(twitter, paging) {
- @Override
- protected void onPostExecute(List<Tweet> tweets) {
- super.onPostExecute(tweets);
- for (Tweet tweet : tweets) {
- StatusViewModel statusViewModel = new StatusViewModel(tweet);
- adapter_.addToBottom(statusViewModel);
- StatusFilter.getInstance().filter(statusViewModel);
- }
- adapter_.updateForce();
+ new MentionsTimelineTask(account, paging).onDoneUI(tweets -> {
+ for (Tweet tweet : tweets) {
+ StatusViewModel statusViewModel = new StatusViewModel(tweet);
+ adapter_.addToBottom(statusViewModel);
+ StatusFilter.getInstance().filter(statusViewModel);
}
- }.execute();
+ adapter_.updateForce();
+ }).execute();
}
// --------------------- Interface OnRefreshListener2 ---------------------
@@ -95,22 +86,17 @@ public class MentionsFragment extends CustomListFragment<StatusListAdapter> {
final MainActivity activity = (MainActivity) getActivity();
final Account currentAccount = activity.getCurrentAccount();
final StatusListAdapter adapter = getAdapter();
- Twitter twitter = currentAccount.getTwitter();
Paging paging = TwitterUtils.getPaging(activity.getRequestCountPerPage());
if (adapter.getCount() > 0) {
paging.setSinceId(adapter.getTopID());
}
- new MentionsTimelineTask(twitter, paging) {
- @Override
- protected void onPostExecute(List<Tweet> tweets) {
- super.onPostExecute(tweets);
- for (int i = tweets.size() - 1; i >= 0; i--) {
- adapter.addToTop(new StatusViewModel(tweets.get(i)));
- }
- updateListViewWithNotice(refreshView.getRefreshableView(), true);
- refreshView.onRefreshComplete();
+ new MentionsTimelineTask(currentAccount, paging).onDoneUI(tweets -> {
+ for (int i = tweets.size() - 1; i >= 0; i--) {
+ adapter.addToTop(new StatusViewModel(tweets.get(i)));
}
- }.execute();
+ updateListViewWithNotice(refreshView.getRefreshableView(), true);
+ refreshView.onRefreshComplete();
+ }).execute();
}
@Override
@@ -118,21 +104,16 @@ public class MentionsFragment extends CustomListFragment<StatusListAdapter> {
final MainActivity activity = (MainActivity) getActivity();
final Account currentAccount = activity.getCurrentAccount();
final StatusListAdapter adapter = getAdapter();
- Twitter twitter = currentAccount.getTwitter();
Paging paging = TwitterUtils.getPaging(activity.getRequestCountPerPage());
if (adapter.getCount() > 0) {
paging.setMaxId(adapter.getLastID() - 1);
}
- new MentionsTimelineTask(twitter, paging) {
- @Override
- protected void onPostExecute(List<Tweet> tweets) {
- super.onPostExecute(tweets);
- for (Tweet tweet : tweets) {
- adapter.addToBottom(new StatusViewModel(tweet));
- }
- updateListViewWithNotice(refreshView.getRefreshableView(), false);
- refreshView.onRefreshComplete();
+ new MentionsTimelineTask(currentAccount, paging).onDoneUI(tweets -> {
+ for (Tweet tweet : tweets) {
+ adapter.addToBottom(new StatusViewModel(tweet));
}
- }.execute();
+ updateListViewWithNotice(refreshView.getRefreshableView(), false);
+ refreshView.onRefreshComplete();
+ }).execute();
}
}
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/MessagesFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/MessagesFragment.java
index 31fdd7db..f055d53c 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/MessagesFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/MessagesFragment.java
@@ -26,23 +26,17 @@ package net.lacolaco.smileessence.view;
import android.os.Bundle;
import android.widget.ListView;
-
import com.handmark.pulltorefresh.library.PullToRefreshBase;
-
import net.lacolaco.smileessence.activity.MainActivity;
import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.entity.DirectMessage;
import net.lacolaco.smileessence.twitter.StatusFilter;
import net.lacolaco.smileessence.twitter.task.DirectMessagesTask;
import net.lacolaco.smileessence.twitter.task.SentDirectMessagesTask;
import net.lacolaco.smileessence.twitter.util.TwitterUtils;
import net.lacolaco.smileessence.view.adapter.MessageListAdapter;
import net.lacolaco.smileessence.viewmodel.MessageViewModel;
-
-import net.lacolaco.smileessence.entity.DirectMessage;
import twitter4j.Paging;
-import twitter4j.Twitter;
-
-import java.util.List;
/**
* Fragment of messages list
@@ -68,28 +62,20 @@ public class MessagesFragment extends CustomListFragment<MessageListAdapter> {
adapter.addToTop(message);
adapter.update();
});
- final Twitter twitter = ((MainActivity) getActivity()).getCurrentAccount().getTwitter();
+ final Account account = ((MainActivity) getActivity()).getCurrentAccount();
final Paging paging = TwitterUtils.getPaging(((MainActivity) getActivity()).getRequestCountPerPage());
- new DirectMessagesTask(twitter, paging) {
- @Override
- protected void onPostExecute(List<DirectMessage> directMessages) {
- super.onPostExecute(directMessages);
- for (DirectMessage message : directMessages) {
- adapter.addToBottom(new MessageViewModel(message));
- }
- adapter.notifyDataSetChanged();
+ new DirectMessagesTask(account, paging).onDoneUI(directMessages -> {
+ for (DirectMessage message : directMessages) {
+ adapter.addToBottom(new MessageViewModel(message));
}
- }.execute();
- new SentDirectMessagesTask(twitter, paging) {
- @Override
- protected void onPostExecute(List<DirectMessage> directMessages) {
- super.onPostExecute(directMessages);
- for (DirectMessage message : directMessages) {
- adapter.addToBottom(new MessageViewModel(message));
- }
- adapter.notifyDataSetChanged();
+ adapter.notifyDataSetChanged();
+ }).execute();
+ new SentDirectMessagesTask(account, paging).onDoneUI(directMessages -> {
+ for (DirectMessage message : directMessages) {
+ adapter.addToBottom(new MessageViewModel(message));
}
- }.execute();
+ adapter.notifyDataSetChanged();
+ }).execute();
}
// --------------------- Interface OnRefreshListener2 ---------------------
@@ -98,45 +84,35 @@ public class MessagesFragment extends CustomListFragment<MessageListAdapter> {
public void onPullDownToRefresh(final PullToRefreshBase<ListView> refreshView) {
final MainActivity activity = (MainActivity) getActivity();
final Account currentAccount = activity.getCurrentAccount();
- Twitter twitter = currentAccount.getTwitter();
final MessageListAdapter adapter = getAdapter();
Paging paging = TwitterUtils.getPaging(activity.getRequestCountPerPage());
if (adapter.getCount() > 0) {
paging.setSinceId(adapter.getTopID());
}
- new DirectMessagesTask(twitter, paging) {
- @Override
- protected void onPostExecute(List<DirectMessage> directMessages) {
- super.onPostExecute(directMessages);
- for (int i = directMessages.size() - 1; i >= 0; i--) {
- adapter.addToTop(new MessageViewModel(directMessages.get(i)));
- }
- updateListViewWithNotice(refreshView.getRefreshableView(), true);
- refreshView.onRefreshComplete();
+ new DirectMessagesTask(currentAccount, paging).onDoneUI(directMessages -> {
+ for (int i = directMessages.size() - 1; i >= 0; i--) {
+ adapter.addToTop(new MessageViewModel(directMessages.get(i)));
}
- }.execute();
+ updateListViewWithNotice(refreshView.getRefreshableView(), true);
+ refreshView.onRefreshComplete();
+ }).execute();
}
@Override
public void onPullUpToRefresh(final PullToRefreshBase<ListView> refreshView) {
final MainActivity activity = (MainActivity) getActivity();
final Account currentAccount = activity.getCurrentAccount();
- Twitter twitter = currentAccount.getTwitter();
final MessageListAdapter adapter = getAdapter();
Paging paging = TwitterUtils.getPaging(activity.getRequestCountPerPage());
if (adapter.getCount() > 0) {
paging.setMaxId(adapter.getLastID() - 1);
}
- new DirectMessagesTask(twitter, paging) {
- @Override
- protected void onPostExecute(List<DirectMessage> directMessages) {
- super.onPostExecute(directMessages);
- for (DirectMessage directMessage : directMessages) {
- adapter.addToBottom(new MessageViewModel(directMessage));
- }
- updateListViewWithNotice(refreshView.getRefreshableView(), false);
- refreshView.onRefreshComplete();
+ new DirectMessagesTask(currentAccount, paging).onDoneUI(directMessages -> {
+ for (DirectMessage directMessage : directMessages) {
+ adapter.addToBottom(new MessageViewModel(directMessage));
}
- }.execute();
+ updateListViewWithNotice(refreshView.getRefreshableView(), false);
+ refreshView.onRefreshComplete();
+ }).execute();
}
}
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/PostFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/PostFragment.java
index 7826f457..01925833 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/PostFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/PostFragment.java
@@ -36,24 +36,20 @@ import android.text.method.ArrowKeyMovementMethod;
import android.view.*;
import android.view.inputmethod.InputMethodManager;
import android.widget.*;
-
import com.twitter.Validator;
-
import net.lacolaco.smileessence.R;
import net.lacolaco.smileessence.activity.MainActivity;
+import net.lacolaco.smileessence.data.PostState;
import net.lacolaco.smileessence.entity.Account;
-import net.lacolaco.smileessence.entity.Tweet;
import net.lacolaco.smileessence.logging.Logger;
import net.lacolaco.smileessence.preference.UserPreferenceHelper;
import net.lacolaco.smileessence.twitter.task.TweetTask;
import net.lacolaco.smileessence.util.BitmapThumbnailTask;
import net.lacolaco.smileessence.util.IntentUtils;
import net.lacolaco.smileessence.util.UIHandler;
-import net.lacolaco.smileessence.data.PostState;
import net.lacolaco.smileessence.view.dialog.PostMenuDialogFragment;
import net.lacolaco.smileessence.view.dialog.SelectImageDialogFragment;
import net.lacolaco.smileessence.viewmodel.StatusViewModel;
-
import twitter4j.StatusUpdate;
import java.io.File;
@@ -138,17 +134,13 @@ public class PostFragment extends PageFragment implements TextWatcher, View.OnFo
if (postState.getInReplyToStatusID() >= 0) {
viewGroupReply.setVisibility(View.VISIBLE);
final Account account = activity.getCurrentAccount();
- account.tryGetStatus(postState.getInReplyToStatusID(), new Account.StatusCallback() {
- @Override
- public void success(Tweet tweet) {
+ account.fetchTweet(postState.getInReplyToStatusID(), tweet -> {
+ if (tweet != null) {
View header = viewGroupReply.findViewById(R.id.layout_post_reply_status);
header = new StatusViewModel(tweet).getView(activity, activity.getLayoutInflater(), header);
header.setBackgroundColor(getResources().getColor(R.color.transparent));
header.setClickable(false);
- }
-
- @Override
- public void error() {
+ } else {
viewGroupReply.setVisibility(View.GONE);
}
});
@@ -368,7 +360,7 @@ public class PostFragment extends PageFragment implements TextWatcher, View.OnFo
StatusUpdate statusUpdate = state.toStatusUpdate();
MainActivity mainActivity = (MainActivity) getActivity();
boolean resizeFlag = UserPreferenceHelper.getInstance().get(R.string.key_setting_resize_post_image, false);
- TweetTask tweetTask = new TweetTask(mainActivity.getCurrentAccount().getTwitter(), statusUpdate, state.getMediaFilePath(), resizeFlag);
+ TweetTask tweetTask = new TweetTask(mainActivity.getCurrentAccount(), statusUpdate, state.getMediaFilePath(), resizeFlag);
tweetTask.execute();
PostState.newState().beginTransaction().commit();
mainActivity.openHomePage();
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/SearchFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/SearchFragment.java
index edcb0a07..e14a3371 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/SearchFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/SearchFragment.java
@@ -36,10 +36,8 @@ import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ListView;
import android.widget.TextView;
-
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
-
import net.lacolaco.smileessence.R;
import net.lacolaco.smileessence.activity.MainActivity;
import net.lacolaco.smileessence.command.Command;
@@ -55,9 +53,7 @@ import net.lacolaco.smileessence.util.UIHandler;
import net.lacolaco.smileessence.view.adapter.SearchListAdapter;
import net.lacolaco.smileessence.view.dialog.SelectSearchQueryDialogFragment;
import net.lacolaco.smileessence.viewmodel.StatusViewModel;
-
import twitter4j.Query;
-import twitter4j.QueryResult;
import twitter4j.Twitter;
import java.util.List;
@@ -86,10 +82,9 @@ public class SearchFragment extends CustomListFragment<SearchListAdapter> implem
setAdapter(adapter);
final MainActivity activity = (MainActivity) getActivity();
- final Twitter twitter = activity.getCurrentAccount().getTwitter();
String lastUsedSearchQuery = activity.getLastSearch();
if (!TextUtils.isEmpty(lastUsedSearchQuery)) {
- startSearch(twitter, lastUsedSearchQuery);
+ startSearch(activity.getCurrentAccount(), lastUsedSearchQuery);
}
}
@@ -136,7 +131,6 @@ public class SearchFragment extends CustomListFragment<SearchListAdapter> implem
public void onPullDownToRefresh(final PullToRefreshBase<ListView> refreshView) {
final MainActivity activity = (MainActivity) getActivity();
final Account currentAccount = activity.getCurrentAccount();
- Twitter twitter = currentAccount.getTwitter();
final SearchListAdapter adapter = getAdapter();
String queryString = adapter.getQuery();
if (TextUtils.isEmpty(queryString)) {
@@ -153,26 +147,22 @@ public class SearchFragment extends CustomListFragment<SearchListAdapter> implem
if (adapter.getCount() > 0) {
query.setSinceId(adapter.getTopID());
}
- new SearchTask(twitter, query) {
- @Override
- protected void onPostExecute(QueryResult queryResult) {
- super.onPostExecute(queryResult);
- if (queryResult != null) {
- List<twitter4j.Status> tweets = queryResult.getTweets();
- for (int i = tweets.size() - 1; i >= 0; i--) {
- twitter4j.Status status = tweets.get(i);
- if (!status.isRetweet()) {
- StatusViewModel viewModel = new StatusViewModel(Tweet.fromTwitter(status));
- adapter.addToTop(viewModel);
- StatusFilter.getInstance().filter(viewModel);
- }
+ new SearchTask(currentAccount, query).onDoneUI(queryResult -> {
+ if (queryResult != null) {
+ List<twitter4j.Status> tweets = queryResult.getTweets();
+ for (int i = tweets.size() - 1; i >= 0; i--) {
+ twitter4j.Status status = tweets.get(i);
+ if (!status.isRetweet()) {
+ StatusViewModel viewModel = new StatusViewModel(Tweet.fromTwitter(status));
+ adapter.addToTop(viewModel);
+ StatusFilter.getInstance().filter(viewModel);
}
- updateListViewWithNotice(refreshView.getRefreshableView(), true);
- adapter.setTopID(queryResult.getMaxId());
- refreshView.onRefreshComplete();
}
+ updateListViewWithNotice(refreshView.getRefreshableView(), true);
+ adapter.setTopID(queryResult.getMaxId());
+ refreshView.onRefreshComplete();
}
- }.execute();
+ }).execute();
}
@Override
@@ -196,24 +186,20 @@ public class SearchFragment extends CustomListFragment<SearchListAdapter> implem
if (adapter.getCount() > 0) {
query.setMaxId(adapter.getLastID() - 1);
}
- new SearchTask(twitter, query) {
- @Override
- protected void onPostExecute(QueryResult queryResult) {
- super.onPostExecute(queryResult);
- if (queryResult != null) {
- List<twitter4j.Status> tweets = queryResult.getTweets();
- for (twitter4j.Status status : tweets) {
- if (!status.isRetweet()) {
- StatusViewModel viewModel = new StatusViewModel(Tweet.fromTwitter(status));
- adapter.addToBottom(viewModel);
- StatusFilter.getInstance().filter(viewModel);
- }
+ new SearchTask(currentAccount, query).onDoneUI(queryResult -> {
+ if (queryResult != null) {
+ List<twitter4j.Status> tweets = queryResult.getTweets();
+ for (twitter4j.Status status : tweets) {
+ if (!status.isRetweet()) {
+ StatusViewModel viewModel = new StatusViewModel(Tweet.fromTwitter(status));
+ adapter.addToBottom(viewModel);
+ StatusFilter.getInstance().filter(viewModel);
}
- updateListViewWithNotice(refreshView.getRefreshableView(), false);
- refreshView.onRefreshComplete();
}
+ updateListViewWithNotice(refreshView.getRefreshableView(), false);
+ refreshView.onRefreshComplete();
}
- }.execute();
+ }).execute();
}
// ------------------------ OVERRIDE METHODS ------------------------
@@ -339,7 +325,7 @@ public class SearchFragment extends CustomListFragment<SearchListAdapter> implem
}
}
- public void startSearch(final Twitter twitter, final String queryString) {
+ public void startSearch(final Account account, final String queryString) {
((MainActivity) getActivity()).setLastSearch(queryString);
if (!TextUtils.isEmpty(queryString)) {
final SearchListAdapter adapter = getAdapter();
@@ -350,25 +336,21 @@ public class SearchFragment extends CustomListFragment<SearchListAdapter> implem
query.setQuery(queryString);
query.setCount(((MainActivity) getActivity()).getRequestCountPerPage());
query.setResultType(Query.RECENT);
- new SearchTask(twitter, query) {
- @Override
- protected void onPostExecute(QueryResult queryResult) {
- super.onPostExecute(queryResult);
- if (queryResult != null) {
- List<twitter4j.Status> tweets = queryResult.getTweets();
- for (int i = tweets.size() - 1; i >= 0; i--) {
- twitter4j.Status status = tweets.get(i);
- if (!status.isRetweet()) {
- StatusViewModel viewModel = new StatusViewModel(Tweet.fromTwitter(status));
- adapter.addToTop(viewModel);
- StatusFilter.getInstance().filter(viewModel);
- }
+ new SearchTask(account, query).onDoneUI(queryResult -> {
+ if (queryResult != null) {
+ List<twitter4j.Status> tweets = queryResult.getTweets();
+ for (int i = tweets.size() - 1; i >= 0; i--) {
+ twitter4j.Status status = tweets.get(i);
+ if (!status.isRetweet()) {
+ StatusViewModel viewModel = new StatusViewModel(Tweet.fromTwitter(status));
+ adapter.addToTop(viewModel);
+ StatusFilter.getInstance().filter(viewModel);
}
- adapter.setTopID(queryResult.getMaxId());
- adapter.updateForce();
}
+ adapter.setTopID(queryResult.getMaxId());
+ adapter.updateForce();
}
- }.execute();
+ }).execute();
}
}
}
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/SettingFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/SettingFragment.java
index 894461a0..ce0bcd28 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/SettingFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/SettingFragment.java
@@ -32,7 +32,6 @@ import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.PreferenceFragment;
import android.text.TextUtils;
-
import net.lacolaco.smileessence.R;
import net.lacolaco.smileessence.activity.LicenseActivity;
import net.lacolaco.smileessence.entity.Account;
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/UserListFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/UserListFragment.java
index da2c89ea..ccdf89f7 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/UserListFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/UserListFragment.java
@@ -33,10 +33,8 @@ import android.view.ViewGroup;
import android.widget.ImageButton;
import android.widget.ListView;
import android.widget.TextView;
-
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
-
import net.lacolaco.smileessence.R;
import net.lacolaco.smileessence.activity.MainActivity;
import net.lacolaco.smileessence.entity.Account;
@@ -49,11 +47,7 @@ import net.lacolaco.smileessence.util.UIHandler;
import net.lacolaco.smileessence.view.dialog.SelectUserListDialogFragment;
import net.lacolaco.smileessence.viewmodel.StatusViewModel;
import net.lacolaco.smileessence.viewmodel.UserListListAdapter;
-
import twitter4j.Paging;
-import twitter4j.Twitter;
-
-import java.util.List;
public class UserListFragment extends CustomListFragment<UserListListAdapter> implements View.OnClickListener {
@@ -74,16 +68,15 @@ public class UserListFragment extends CustomListFragment<UserListListAdapter> im
// ------------------------ INTERFACE METHODS ------------------------
- @Override // onCreate って Fragment のインスタンスが作られるときは必ず呼ばれるって認識でいいんだよね?
+ @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
UserListListAdapter adapter = new UserListListAdapter(getActivity());
setAdapter(adapter);
- final Twitter twitter = ((MainActivity) getActivity()).getCurrentAccount().getTwitter();
String lastUserList = getMainActivity().getLastUserList();
if (!TextUtils.isEmpty(lastUserList)) {
- startUserList(twitter, lastUserList);
+ startUserList(((MainActivity) getActivity()).getCurrentAccount(), lastUserList);
}
}
// --------------------- Interface OnClickListener ---------------------
@@ -105,8 +98,7 @@ public class UserListFragment extends CustomListFragment<UserListListAdapter> im
public void onPullDownToRefresh(final PullToRefreshBase<ListView> refreshView) {
final MainActivity activity = getMainActivity();
final Account currentAccount = activity.getCurrentAccount();
- Twitter twitter = currentAccount.getTwitter();
- final UserListListAdapter adapter = (UserListListAdapter) getAdapter();
+ final UserListListAdapter adapter = getAdapter();
String listFullName = adapter.getListFullName();
if (TextUtils.isEmpty(listFullName)) {
new UIHandler().post(() -> {
@@ -119,26 +111,21 @@ public class UserListFragment extends CustomListFragment<UserListListAdapter> im
if (adapter.getCount() > 0) {
paging.setSinceId(adapter.getTopID());
}
- new UserListStatusesTask(twitter, listFullName, paging) {
- @Override
- protected void onPostExecute(List<Tweet> tweets) {
- super.onPostExecute(tweets);
- for (int i = tweets.size() - 1; i >= 0; i--) {
- StatusViewModel statusViewModel = new StatusViewModel(tweets.get(i));
- adapter.addToTop(statusViewModel);
- StatusFilter.getInstance().filter(statusViewModel);
- }
- updateListViewWithNotice(refreshView.getRefreshableView(), true);
- refreshView.onRefreshComplete();
+ new UserListStatusesTask(currentAccount, listFullName, paging).onDoneUI(tweets -> {
+ for (int i = tweets.size() - 1; i >= 0; i--) {
+ StatusViewModel statusViewModel = new StatusViewModel(tweets.get(i));
+ adapter.addToTop(statusViewModel);
+ StatusFilter.getInstance().filter(statusViewModel);
}
- }.execute();
+ updateListViewWithNotice(refreshView.getRefreshableView(), true);
+ refreshView.onRefreshComplete();
+ }).execute();
}
@Override
public void onPullUpToRefresh(final PullToRefreshBase<ListView> refreshView) {
final MainActivity activity = getMainActivity();
final Account currentAccount = activity.getCurrentAccount();
- Twitter twitter = currentAccount.getTwitter();
final UserListListAdapter adapter = getAdapter();
String listFullName = adapter.getListFullName();
if (TextUtils.isEmpty(listFullName)) {
@@ -152,19 +139,15 @@ public class UserListFragment extends CustomListFragment<UserListListAdapter> im
if (adapter.getCount() > 0) {
paging.setMaxId(adapter.getLastID() - 1);
}
- new UserListStatusesTask(twitter, listFullName, paging) {
- @Override
- protected void onPostExecute(List<Tweet> tweets) {
- super.onPostExecute(tweets);
- for (int i = 0; i < tweets.size(); i++) {
- StatusViewModel statusViewModel = new StatusViewModel(tweets.get(i));
- adapter.addToBottom(statusViewModel);
- StatusFilter.getInstance().filter(statusViewModel);
- }
- updateListViewWithNotice(refreshView.getRefreshableView(), false);
- refreshView.onRefreshComplete();
+ new UserListStatusesTask(currentAccount, listFullName, paging).onDoneUI(tweets -> {
+ for (int i = 0; i < tweets.size(); i++) {
+ StatusViewModel statusViewModel = new StatusViewModel(tweets.get(i));
+ adapter.addToBottom(statusViewModel);
+ StatusFilter.getInstance().filter(statusViewModel);
}
- }.execute();
+ updateListViewWithNotice(refreshView.getRefreshableView(), false);
+ refreshView.onRefreshComplete();
+ }).execute();
}
// ------------------------ OVERRIDE METHODS ------------------------
@@ -212,23 +195,19 @@ public class UserListFragment extends CustomListFragment<UserListListAdapter> im
});
}
- public void startUserList(Twitter twitter, String listFullName) {
+ public void startUserList(Account account, String listFullName) {
getMainActivity().setLastUserList(listFullName);
final UserListListAdapter adapter = getAdapter();
adapter.setListFullName(listFullName);
adapter.clear();
adapter.updateForce();
- new UserListStatusesTask(twitter, listFullName, TwitterUtils.getPaging(getMainActivity().getRequestCountPerPage())) {
- @Override
- protected void onPostExecute(List<Tweet> tweets) {
- super.onPostExecute(tweets);
- for (Tweet tweet : tweets) {
- StatusViewModel statusViewModel = new StatusViewModel(tweet);
- adapter.addToBottom(statusViewModel);
- StatusFilter.getInstance().filter(statusViewModel);
- }
- adapter.updateForce();
+ new UserListStatusesTask(account, listFullName, TwitterUtils.getPaging(getMainActivity().getRequestCountPerPage())).onDoneUI(tweets -> {
+ for (Tweet tweet : tweets) {
+ StatusViewModel statusViewModel = new StatusViewModel(tweet);
+ adapter.addToBottom(statusViewModel);
+ StatusFilter.getInstance().filter(statusViewModel);
}
- }.execute();
+ adapter.updateForce();
+ }).execute();
}
}
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/adapter/CustomListAdapter.java b/app/src/main/java/net/lacolaco/smileessence/view/adapter/CustomListAdapter.java
index 9c68b2e9..239b51b3 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/adapter/CustomListAdapter.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/adapter/CustomListAdapter.java
@@ -28,7 +28,6 @@ import android.app.Activity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
-
import net.lacolaco.smileessence.util.UIHandler;
import net.lacolaco.smileessence.viewmodel.IViewModel;
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/adapter/EventListAdapter.java b/app/src/main/java/net/lacolaco/smileessence/view/adapter/EventListAdapter.java
index 3bd4e1c0..d381e9ae 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/adapter/EventListAdapter.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/adapter/EventListAdapter.java
@@ -25,7 +25,6 @@
package net.lacolaco.smileessence.view.adapter;
import android.app.Activity;
-
import net.lacolaco.smileessence.viewmodel.EventViewModel;
public class EventListAdapter extends CustomListAdapter<EventViewModel> {
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/adapter/MessageListAdapter.java b/app/src/main/java/net/lacolaco/smileessence/view/adapter/MessageListAdapter.java
index f9731a94..6a9d4215 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/adapter/MessageListAdapter.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/adapter/MessageListAdapter.java
@@ -25,7 +25,6 @@
package net.lacolaco.smileessence.view.adapter;
import android.app.Activity;
-
import net.lacolaco.smileessence.viewmodel.MessageViewModel;
import java.util.Collections;
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/adapter/PageListAdapter.java b/app/src/main/java/net/lacolaco/smileessence/view/adapter/PageListAdapter.java
index 737c03aa..4fa2a8d2 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/adapter/PageListAdapter.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/adapter/PageListAdapter.java
@@ -30,18 +30,13 @@ import android.content.Context;
import android.os.Bundle;
import android.support.v13.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
-
-import android.widget.Adapter;
import android.widget.ArrayAdapter;
import net.lacolaco.smileessence.R;
import net.lacolaco.smileessence.activity.MainActivity;
import net.lacolaco.smileessence.logging.Logger;
-import net.lacolaco.smileessence.view.HomeFragment;
import net.lacolaco.smileessence.view.PageFragment;
import java.lang.ref.WeakReference;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/adapter/StatusListAdapter.java b/app/src/main/java/net/lacolaco/smileessence/view/adapter/StatusListAdapter.java
index e69e5214..5abcc3bb 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/adapter/StatusListAdapter.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/adapter/StatusListAdapter.java
@@ -25,7 +25,6 @@
package net.lacolaco.smileessence.view.adapter;
import android.app.Activity;
-
import net.lacolaco.smileessence.entity.MuteUserIds;
import net.lacolaco.smileessence.viewmodel.StatusViewModel;
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/ChooseTemplateDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/ChooseTemplateDialogFragment.java
index c69b02cc..efe2aeab 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/ChooseTemplateDialogFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/ChooseTemplateDialogFragment.java
@@ -25,7 +25,6 @@
package net.lacolaco.smileessence.view.dialog;
import android.app.Activity;
-
import net.lacolaco.smileessence.activity.MainActivity;
import net.lacolaco.smileessence.command.Command;
import net.lacolaco.smileessence.command.post.PostCommandUseTemplate;
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/ConfirmDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/ConfirmDialogFragment.java
index f86f0a5f..3ff84013 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/ConfirmDialogFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/ConfirmDialogFragment.java
@@ -29,7 +29,6 @@ import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
-
import net.lacolaco.smileessence.R;
import net.lacolaco.smileessence.preference.UserPreferenceHelper;
import net.lacolaco.smileessence.view.DialogHelper;
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/EditTextDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/EditTextDialogFragment.java
index 70b6e7d7..f801a0d8 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/EditTextDialogFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/EditTextDialogFragment.java
@@ -30,7 +30,6 @@ import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
-
import net.lacolaco.smileessence.R;
public abstract class EditTextDialogFragment extends StackableDialogFragment {
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/HashtagDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/HashtagDialogFragment.java
index 63ae6c54..d947758e 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/HashtagDialogFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/HashtagDialogFragment.java
@@ -27,7 +27,6 @@ package net.lacolaco.smileessence.view.dialog;
import android.app.Activity;
import android.app.Dialog;
import android.os.Bundle;
-
import net.lacolaco.smileessence.activity.MainActivity;
import net.lacolaco.smileessence.command.Command;
import net.lacolaco.smileessence.command.CommandPasteToPost;
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/MenuDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/MenuDialogFragment.java
index bcd5e479..2a72579d 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/MenuDialogFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/MenuDialogFragment.java
@@ -30,7 +30,6 @@ import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
-
import net.lacolaco.smileessence.R;
import net.lacolaco.smileessence.activity.MainActivity;
import net.lacolaco.smileessence.command.Command;
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageDetailDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageDetailDialogFragment.java
index 8ad43c3c..1121e3b8 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageDetailDialogFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageDetailDialogFragment.java
@@ -33,12 +33,13 @@ import android.view.View;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.ListView;
-
import net.lacolaco.smileessence.R;
import net.lacolaco.smileessence.activity.MainActivity;
import net.lacolaco.smileessence.command.Command;
import net.lacolaco.smileessence.command.CommandOpenURL;
import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.entity.DirectMessage;
+import net.lacolaco.smileessence.notification.NotificationType;
import net.lacolaco.smileessence.notification.Notificator;
import net.lacolaco.smileessence.twitter.task.DeleteMessageTask;
import net.lacolaco.smileessence.view.DialogHelper;
@@ -48,10 +49,6 @@ import net.lacolaco.smileessence.viewmodel.MessageViewModel;
import java.util.ArrayList;
-import net.lacolaco.smileessence.entity.DirectMessage;
-import twitter4j.MediaEntity;
-import twitter4j.URLEntity;
-
public class MessageDetailDialogFragment extends StackableDialogFragment implements View.OnClickListener {
// ------------------------------ FIELDS ------------------------------
@@ -168,12 +165,15 @@ public class MessageDetailDialogFragment extends StackableDialogFragment impleme
// -------------------------- OTHER METHODS --------------------------
public void deleteMessage(final Account account, final DirectMessage message) {
- ConfirmDialogFragment.show(getActivity(), getString(R.string.dialog_confirm_commands), new Runnable() {
- @Override
- public void run() {
- new DeleteMessageTask(account.getTwitter(), message.getId()).execute();
- dismiss();
- }
+ ConfirmDialogFragment.show(getActivity(), getString(R.string.dialog_confirm_commands), () -> {
+ new DeleteMessageTask(account, message.getId()).onDoneUI(user -> {
+ if (message != null) {
+ Notificator.getInstance().publish(R.string.notice_message_delete_succeeded);
+ } else {
+ Notificator.getInstance().publish(R.string.notice_message_delete_failed, NotificationType.ALERT);
+ }
+ }).execute();
+ dismiss();
});
}
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageMenuDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageMenuDialogFragment.java
index 8996ad02..8e9ee6d0 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageMenuDialogFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageMenuDialogFragment.java
@@ -26,24 +26,15 @@ package net.lacolaco.smileessence.view.dialog;
import android.app.Activity;
import android.os.Bundle;
-
import net.lacolaco.smileessence.activity.MainActivity;
-import net.lacolaco.smileessence.command.Command;
-import net.lacolaco.smileessence.command.CommandOpenHashtagDialog;
-import net.lacolaco.smileessence.command.CommandOpenURL;
-import net.lacolaco.smileessence.command.CommandOpenUserDetail;
-import net.lacolaco.smileessence.command.CommandSaveAsTemplate;
+import net.lacolaco.smileessence.command.*;
import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.entity.DirectMessage;
import net.lacolaco.smileessence.view.adapter.CustomListAdapter;
import java.util.ArrayList;
import java.util.List;
-import net.lacolaco.smileessence.entity.DirectMessage;
-import twitter4j.HashtagEntity;
-import twitter4j.MediaEntity;
-import twitter4j.URLEntity;
-
public class MessageMenuDialogFragment extends MenuDialogFragment {
// ------------------------------ FIELDS ------------------------------
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/PostMenuDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/PostMenuDialogFragment.java
index bfb1d36e..2563ad46 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/PostMenuDialogFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/PostMenuDialogFragment.java
@@ -25,7 +25,6 @@
package net.lacolaco.smileessence.view.dialog;
import android.app.Activity;
-
import net.lacolaco.smileessence.R;
import net.lacolaco.smileessence.activity.MainActivity;
import net.lacolaco.smileessence.command.Command;
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/QuoteDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/QuoteDialogFragment.java
index c41fd22c..80054abb 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/QuoteDialogFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/QuoteDialogFragment.java
@@ -26,21 +26,16 @@ package net.lacolaco.smileessence.view.dialog;
import android.app.Activity;
import android.os.Bundle;
-
import net.lacolaco.smileessence.activity.MainActivity;
import net.lacolaco.smileessence.command.Command;
import net.lacolaco.smileessence.command.status.StatusCommandTextQuote;
import net.lacolaco.smileessence.command.status.StatusCommandURLQuote;
-import net.lacolaco.smileessence.entity.Account;
import net.lacolaco.smileessence.entity.Tweet;
-import net.lacolaco.smileessence.twitter.util.TwitterUtils;
import net.lacolaco.smileessence.view.adapter.CustomListAdapter;
import java.util.ArrayList;
import java.util.List;
-import twitter4j.Status;
-
public class QuoteDialogFragment extends MenuDialogFragment {
// ------------------------------ FIELDS ------------------------------
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/ReviewDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/ReviewDialogFragment.java
index df72ca35..92f95a7b 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/ReviewDialogFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/ReviewDialogFragment.java
@@ -32,12 +32,10 @@ import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.RatingBar;
-
import net.lacolaco.smileessence.R;
import net.lacolaco.smileessence.activity.MainActivity;
-import net.lacolaco.smileessence.entity.Tweet;
import net.lacolaco.smileessence.data.PostState;
-
+import net.lacolaco.smileessence.entity.Tweet;
import net.lacolaco.smileessence.viewmodel.StatusViewModel;
public class ReviewDialogFragment extends StackableDialogFragment implements View.OnClickListener {
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/SearchOnGoogleDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/SearchOnGoogleDialogFragment.java
index 795f4851..bb8fa6f3 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/SearchOnGoogleDialogFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/SearchOnGoogleDialogFragment.java
@@ -37,7 +37,6 @@ import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
-
import net.lacolaco.smileessence.R;
import net.lacolaco.smileessence.view.DialogHelper;
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectImageDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectImageDialogFragment.java
index 82d00472..329def30 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectImageDialogFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectImageDialogFragment.java
@@ -30,7 +30,6 @@ import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
-
import net.lacolaco.smileessence.R;
import net.lacolaco.smileessence.activity.MainActivity;
import net.lacolaco.smileessence.command.Command;
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectSearchQueryDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectSearchQueryDialogFragment.java
index 78d8fb3e..df0a399f 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectSearchQueryDialogFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectSearchQueryDialogFragment.java
@@ -30,7 +30,6 @@ import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
-
import net.lacolaco.smileessence.R;
import net.lacolaco.smileessence.activity.MainActivity;
import net.lacolaco.smileessence.command.Command;
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectUserListDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectUserListDialogFragment.java
index 514131f3..e31f1b28 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectUserListDialogFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectUserListDialogFragment.java
@@ -26,7 +26,6 @@ package net.lacolaco.smileessence.view.dialog;
import android.app.Dialog;
import android.os.Bundle;
-
import net.lacolaco.smileessence.R;
import net.lacolaco.smileessence.activity.MainActivity;
import net.lacolaco.smileessence.command.Command;
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 acd9420b..aa90b3a6 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
@@ -37,15 +37,13 @@ import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.TextView;
-
import com.twitter.Validator;
-
import net.lacolaco.smileessence.R;
import net.lacolaco.smileessence.activity.MainActivity;
-import net.lacolaco.smileessence.twitter.task.SendMessageTask;
import net.lacolaco.smileessence.data.PostState;
-
-import twitter4j.Twitter;
+import net.lacolaco.smileessence.notification.NotificationType;
+import net.lacolaco.smileessence.notification.Notificator;
+import net.lacolaco.smileessence.twitter.task.SendMessageTask;
public class SendMessageDialogFragment extends StackableDialogFragment implements TextWatcher, View.OnClickListener {
@@ -153,11 +151,16 @@ public class SendMessageDialogFragment extends StackableDialogFragment implement
}
private void sendMessage() {
+ hideIME();
MainActivity activity = (MainActivity) getActivity();
- Twitter twitter = activity.getCurrentAccount().getTwitter();
String text = editText.getText().toString();
- new SendMessageTask(twitter, screenName, text).execute();
- hideIME();
+ new SendMessageTask(activity.getCurrentAccount(), screenName, text).onDone(message -> {
+ if (message != null) {
+ Notificator.getInstance().publish(R.string.notice_message_send_succeeded);
+ } else {
+ Notificator.getInstance().publish(R.string.notice_message_send_failed, NotificationType.ALERT);
+ }
+ }).execute();
dismiss();
}
}
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/SimpleDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/SimpleDialogFragment.java
index 304bb001..50cfce00 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/SimpleDialogFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/SimpleDialogFragment.java
@@ -30,7 +30,6 @@ import android.content.DialogInterface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
-
import net.lacolaco.smileessence.R;
public class SimpleDialogFragment extends StackableDialogFragment {
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/StackableDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/StackableDialogFragment.java
index 925017b7..9f6d276b 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/StackableDialogFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/StackableDialogFragment.java
@@ -1,7 +1,6 @@
package net.lacolaco.smileessence.view.dialog;
import android.app.DialogFragment;
-
import net.lacolaco.smileessence.view.DialogHelper;
public class StackableDialogFragment extends DialogFragment {
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusDetailDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusDetailDialogFragment.java
index 72db5583..ce9227b5 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusDetailDialogFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusDetailDialogFragment.java
@@ -30,34 +30,29 @@ import android.app.Dialog;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.View;
-import android.widget.ImageButton;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.ListView;
-import android.widget.TextView;
-
+import android.widget.*;
import net.lacolaco.smileessence.R;
import net.lacolaco.smileessence.activity.MainActivity;
import net.lacolaco.smileessence.command.Command;
import net.lacolaco.smileessence.command.CommandOpenURL;
+import net.lacolaco.smileessence.data.PostState;
import net.lacolaco.smileessence.entity.Account;
import net.lacolaco.smileessence.entity.Tweet;
import net.lacolaco.smileessence.entity.User;
+import net.lacolaco.smileessence.notification.NotificationType;
+import net.lacolaco.smileessence.notification.Notificator;
import net.lacolaco.smileessence.twitter.TweetBuilder;
import net.lacolaco.smileessence.twitter.task.DeleteStatusTask;
import net.lacolaco.smileessence.twitter.task.FavoriteTask;
import net.lacolaco.smileessence.twitter.task.RetweetTask;
import net.lacolaco.smileessence.twitter.task.UnfavoriteTask;
import net.lacolaco.smileessence.view.DialogHelper;
-import net.lacolaco.smileessence.data.PostState;
import net.lacolaco.smileessence.view.adapter.StatusListAdapter;
import net.lacolaco.smileessence.view.listener.ListItemClickListener;
import net.lacolaco.smileessence.viewmodel.StatusViewModel;
import java.util.ArrayList;
-import twitter4j.MediaEntity;
-
public class StatusDetailDialogFragment extends StackableDialogFragment implements View.OnClickListener {
// ------------------------------ FIELDS ------------------------------
@@ -133,17 +128,12 @@ public class StatusDetailDialogFragment extends StackableDialogFragment implemen
if (inReplyToStatusId == -1) {
listView.setVisibility(View.GONE);
} else {
- account.tryGetStatus(inReplyToStatusId, new Account.StatusCallback() {
- @Override
- public void success(Tweet tweet) {
- adapter.addToTop(new StatusViewModel(tweet));
+ account.fetchTweet(inReplyToStatusId, replyTo -> {
+ if (replyTo != null) {
+ adapter.addToTop(new StatusViewModel(replyTo));
adapter.updateForce();
}
-
- @Override
- public void error() {
- }
- });
+ }, true);
}
return new AlertDialog.Builder(getActivity()).setView(header).create();
}
@@ -153,12 +143,15 @@ public class StatusDetailDialogFragment extends StackableDialogFragment implemen
}
private void deleteStatus(final MainActivity activity, final Account account, final Tweet tweet) {
- confirm(activity, new Runnable() {
- @Override
- public void run() {
- new DeleteStatusTask(account.getTwitter(), tweet.getOriginalTweet().getId()).execute();
- dismiss();
- }
+ confirm(activity, () -> {
+ new DeleteStatusTask(account, tweet.getOriginalTweet().getId()).onDoneUI(t -> {
+ if (t != null) {
+ Notificator.getInstance().publish(R.string.notice_status_delete_succeeded);
+ } else {
+ Notificator.getInstance().publish(R.string.notice_status_delete_failed, NotificationType.ALERT);
+ }
+ }).execute();
+ dismiss();
});
}
@@ -283,21 +276,24 @@ public class StatusDetailDialogFragment extends StackableDialogFragment implemen
private void toggleFavorite(MainActivity activity, Account account, Tweet tweet, Boolean isFavorited) {
long statusID = tweet.getOriginalTweet().getId();
if (isFavorited) {
- new UnfavoriteTask(account.getTwitter(), statusID).execute();
+ new UnfavoriteTask(account, statusID).onDone(t -> {
+ if (t != null) {
+ Notificator.getInstance().publish(R.string.notice_unfavorite_succeeded);
+ } else {
+ Notificator.getInstance().publish(R.string.notice_unfavorite_failed, NotificationType.ALERT);
+ }
+ }).execute();
} else {
- new FavoriteTask(account.getTwitter(), statusID).execute();
+ new FavoriteTask(account, statusID).execute();
}
}
private void toggleRetweet(final MainActivity activity, final Account account, final Tweet tweet, final Long retweetID) {
- confirm(activity, new Runnable() {
- @Override
- public void run() {
- if (retweetID != -1L) {
- new DeleteStatusTask(account.getTwitter(), retweetID).execute();
- } else {
- new RetweetTask(account.getTwitter(), tweet.getOriginalTweet().getId()).execute();
- }
+ confirm(activity, () -> {
+ if (retweetID != -1L) {
+ deleteStatus(activity, account, tweet);
+ } else {
+ new RetweetTask(account, tweet.getOriginalTweet().getId()).execute();
}
});
}
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusMenuDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusMenuDialogFragment.java
index 55959e36..5d4b2662 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusMenuDialogFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusMenuDialogFragment.java
@@ -26,13 +26,8 @@ package net.lacolaco.smileessence.view.dialog;
import android.app.Activity;
import android.os.Bundle;
-
import net.lacolaco.smileessence.activity.MainActivity;
-import net.lacolaco.smileessence.command.Command;
-import net.lacolaco.smileessence.command.CommandOpenHashtagDialog;
-import net.lacolaco.smileessence.command.CommandOpenURL;
-import net.lacolaco.smileessence.command.CommandOpenUserDetail;
-import net.lacolaco.smileessence.command.CommandSaveAsTemplate;
+import net.lacolaco.smileessence.command.*;
import net.lacolaco.smileessence.entity.Account;
import net.lacolaco.smileessence.entity.Tweet;
import net.lacolaco.smileessence.view.adapter.CustomListAdapter;
@@ -41,9 +36,6 @@ import java.util.ArrayList;
import java.util.LinkedHashSet;
import java.util.List;
-import twitter4j.HashtagEntity;
-import twitter4j.MediaEntity;
-
public class StatusMenuDialogFragment extends MenuDialogFragment {
// ------------------------------ FIELDS ------------------------------
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/TalkChainDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/TalkChainDialogFragment.java
index f31d6930..4c3a7daf 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/TalkChainDialogFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/TalkChainDialogFragment.java
@@ -29,17 +29,12 @@ import android.app.Dialog;
import android.os.Bundle;
import android.view.View;
import android.widget.ListView;
-
import net.lacolaco.smileessence.R;
import net.lacolaco.smileessence.activity.MainActivity;
import net.lacolaco.smileessence.entity.Account;
-import net.lacolaco.smileessence.entity.Tweet;
import net.lacolaco.smileessence.twitter.task.GetTalkTask;
-import net.lacolaco.smileessence.util.UIHandler;
import net.lacolaco.smileessence.view.adapter.StatusListAdapter;
-
import net.lacolaco.smileessence.viewmodel.StatusViewModel;
-import twitter4j.Twitter;
public class TalkChainDialogFragment extends StackableDialogFragment {
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/UserDetailDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/UserDetailDialogFragment.java
index 2333bd4a..6751cee5 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/UserDetailDialogFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/UserDetailDialogFragment.java
@@ -33,16 +33,10 @@ import android.text.Html;
import android.text.TextUtils;
import android.text.method.LinkMovementMethod;
import android.view.View;
-import android.widget.AbsListView;
-import android.widget.Button;
-import android.widget.ListView;
-import android.widget.TabHost;
-import android.widget.TextView;
-
+import android.widget.*;
import com.android.volley.toolbox.NetworkImageView;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
-
import net.lacolaco.smileessence.R;
import net.lacolaco.smileessence.activity.MainActivity;
import net.lacolaco.smileessence.command.Command;
@@ -52,6 +46,8 @@ import net.lacolaco.smileessence.entity.Account;
import net.lacolaco.smileessence.entity.Tweet;
import net.lacolaco.smileessence.entity.User;
import net.lacolaco.smileessence.logging.Logger;
+import net.lacolaco.smileessence.notification.NotificationType;
+import net.lacolaco.smileessence.notification.Notificator;
import net.lacolaco.smileessence.twitter.task.FollowTask;
import net.lacolaco.smileessence.twitter.task.ShowFriendshipTask;
import net.lacolaco.smileessence.twitter.task.UnfollowTask;
@@ -63,12 +59,7 @@ import net.lacolaco.smileessence.view.DialogHelper;
import net.lacolaco.smileessence.view.adapter.CustomListAdapter;
import net.lacolaco.smileessence.view.adapter.StatusListAdapter;
import net.lacolaco.smileessence.viewmodel.StatusViewModel;
-
import twitter4j.Paging;
-import twitter4j.Relationship;
-import twitter4j.Twitter;
-
-import java.util.List;
public class UserDetailDialogFragment extends StackableDialogFragment implements View.OnClickListener,
PullToRefreshBase.OnRefreshListener2<ListView> {
@@ -172,44 +163,34 @@ public class UserDetailDialogFragment extends StackableDialogFragment implements
public void onPullDownToRefresh(final PullToRefreshBase<ListView> refreshView) {
final MainActivity activity = (MainActivity) getActivity();
final Account currentAccount = activity.getCurrentAccount();
- Twitter twitter = currentAccount.getTwitter();
Paging paging = TwitterUtils.getPaging(activity.getRequestCountPerPage());
if (adapter.getCount() > 0) {
paging.setSinceId(adapter.getTopID());
}
- new UserTimelineTask(twitter, getUserID(), paging) {
- @Override
- protected void onPostExecute(List<Tweet> tweets) {
- super.onPostExecute(tweets);
- for (int i = tweets.size()- 1; i >= 0; i--) {
- adapter.addToTop(new StatusViewModel(tweets.get(i)));
- }
- updateListView(refreshView.getRefreshableView(), adapter, true);
- refreshView.onRefreshComplete();
+ new UserTimelineTask(currentAccount, getUserID(), paging).onDoneUI(tweets -> {
+ for (int i = tweets.size() - 1; i >= 0; i--) {
+ adapter.addToTop(new StatusViewModel(tweets.get(i)));
}
- }.execute();
+ updateListView(refreshView.getRefreshableView(), adapter, true);
+ refreshView.onRefreshComplete();
+ }).execute();
}
@Override
public void onPullUpToRefresh(final PullToRefreshBase<ListView> refreshView) {
final MainActivity activity = (MainActivity) getActivity();
final Account currentAccount = activity.getCurrentAccount();
- Twitter twitter = currentAccount.getTwitter();
Paging paging = TwitterUtils.getPaging(activity.getRequestCountPerPage());
if (adapter.getCount() > 0) {
paging.setMaxId(adapter.getLastID() - 1);
}
- new UserTimelineTask(twitter, getUserID(), paging) {
- @Override
- protected void onPostExecute(List<Tweet> tweets) {
- super.onPostExecute(tweets);
- for (Tweet tweet : tweets) {
- adapter.addToBottom(new StatusViewModel(tweet));
- }
- updateListView(refreshView.getRefreshableView(), adapter, false);
- refreshView.onRefreshComplete();
+ new UserTimelineTask(currentAccount, getUserID(), paging).onDoneUI(tweets -> {
+ for (Tweet tweet : tweets) {
+ adapter.addToBottom(new StatusViewModel(tweet));
}
- }.execute();
+ updateListView(refreshView.getRefreshableView(), adapter, false);
+ refreshView.onRefreshComplete();
+ }).execute();
}
// ------------------------ OVERRIDE METHODS ------------------------
@@ -276,18 +257,13 @@ public class UserDetailDialogFragment extends StackableDialogFragment implements
private void executeUserTimelineTask(final User user, final Account account, final StatusListAdapter adapter) {
tabHost.getTabWidget().getChildTabViewAt(1).setVisibility(View.GONE);
- Twitter twitter = account.getTwitter();
- new UserTimelineTask(twitter, user.getId()) {
- @Override
- protected void onPostExecute(List<Tweet> tweets) {
- super.onPostExecute(tweets);
- for (Tweet tweet : tweets) {
- adapter.addToBottom(new StatusViewModel(tweet));
- }
- adapter.updateForce();
- tabHost.getTabWidget().getChildTabViewAt(1).setVisibility(View.VISIBLE);
+ new UserTimelineTask(account, user.getId()).onDoneUI(tweets -> {
+ for (Tweet tweet : tweets) {
+ adapter.addToBottom(new StatusViewModel(tweet));
}
- }.execute();
+ adapter.updateForce();
+ tabHost.getTabWidget().getChildTabViewAt(1).setVisibility(View.VISIBLE);
+ }).execute();
}
private String getHtmlDescription(String description) {
@@ -369,25 +345,26 @@ public class UserDetailDialogFragment extends StackableDialogFragment implements
private void toggleFollowing(final User user, final Account account, final Activity activity) {
lockFollowButton(activity);
Boolean isFollowing = buttonFollow.getTag() != null ? (Boolean) buttonFollow.getTag() : false;
- Twitter twitter = account.getTwitter();
if (isFollowing) {
- new UnfollowTask(twitter, user.getId()) {
- @Override
- public void onPostExecute(User result) {
- super.onPostExecute(result);
- updateRelationship(activity, user.getId());
- buttonFollow.setEnabled(true);
+ new UnfollowTask(account, user.getId()).onDoneUI(result -> {
+ if (result != null) {
+ Notificator.getInstance().publish(R.string.notice_unfollow_succeeded);
+ } else {
+ Notificator.getInstance().publish(R.string.notice_unfollow_failed, NotificationType.ALERT);
}
- }.execute();
+ updateRelationship(activity, user.getId());
+ buttonFollow.setEnabled(true);
+ }).execute();
} else {
- new FollowTask(twitter, user.getId()) {
- @Override
- public void onPostExecute(User result) {
- super.onPostExecute(result);
- updateRelationship(activity, user.getId());
- buttonFollow.setEnabled(true);
+ new FollowTask(account, user.getId()).onDoneUI(result -> {
+ if (result != null) {
+ Notificator.getInstance().publish(R.string.notice_follow_succeeded);
+ } else {
+ Notificator.getInstance().publish(R.string.notice_follow_failed, NotificationType.ALERT);
}
- }.execute();
+ updateRelationship(activity, user.getId());
+ buttonFollow.setEnabled(true);
+ }).execute();
}
}
@@ -417,7 +394,6 @@ public class UserDetailDialogFragment extends StackableDialogFragment implements
private void updateRelationship(Activity activity, final long userId) {
MainActivity mainActivity = (MainActivity) activity;
Account account = mainActivity.getCurrentAccount();
- Twitter twitter = account.getTwitter();
if (userId == account.userID) {
textViewFollowed.setText(R.string.user_detail_followed_is_me);
buttonFollow.setVisibility(View.GONE);
@@ -427,17 +403,14 @@ public class UserDetailDialogFragment extends StackableDialogFragment implements
textViewFollowed.setText(R.string.user_detail_loading);
final Drawable red = Themes.getStyledDrawable(activity, theme, R.attr.button_round_red);
final Drawable blue = Themes.getStyledDrawable(activity, theme, R.attr.button_round_blue);
- new ShowFriendshipTask(twitter, userId) {
- @Override
- protected void onPostExecute(Relationship relationship) {
- if (relationship != null) {
- boolean isFollowing = relationship.isSourceFollowingTarget();
- boolean isFollowed = relationship.isSourceFollowedByTarget();
- setFollowButtonState(isFollowing, red, blue);
- textViewFollowed.setText(isFollowed ? R.string.user_detail_followed : R.string.user_detail_not_followed);
- }
+ new ShowFriendshipTask(account, userId).onDoneUI(relationship -> {
+ if (relationship != null) {
+ boolean isFollowing = relationship.isSourceFollowingTarget();
+ boolean isFollowed = relationship.isSourceFollowedByTarget();
+ setFollowButtonState(isFollowing, red, blue);
+ textViewFollowed.setText(isFollowed ? R.string.user_detail_followed : R.string.user_detail_not_followed);
}
- }.execute();
+ }).execute();
}
}
}
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/UserMenuDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/UserMenuDialogFragment.java
index c8005e62..cf306402 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/UserMenuDialogFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/UserMenuDialogFragment.java
@@ -26,7 +26,6 @@ package net.lacolaco.smileessence.view.dialog;
import android.app.Activity;
import android.os.Bundle;
-
import net.lacolaco.smileessence.activity.MainActivity;
import net.lacolaco.smileessence.command.Command;
import net.lacolaco.smileessence.command.CommandSearchOnTwitter;
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/listener/ListItemClickListener.java b/app/src/main/java/net/lacolaco/smileessence/view/listener/ListItemClickListener.java
index 93a20c33..13f1b49c 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/listener/ListItemClickListener.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/listener/ListItemClickListener.java
@@ -27,7 +27,6 @@ package net.lacolaco.smileessence.view.listener;
import android.app.Activity;
import android.graphics.drawable.ColorDrawable;
import android.view.View;
-
import net.lacolaco.smileessence.R;
import net.lacolaco.smileessence.util.UIHandler;