aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlaco0416 <laco0416@gmail.com>2014-06-05 22:07:38 +0900
committerlaco0416 <laco0416@gmail.com>2014-06-05 22:08:23 +0900
commit1bd18a7495c9f76f0e0443807beac8cdc5a6989e (patch)
treee9b04cf298ba8eef1c7c8615e1963565f9ccfa36
parent6325d415b010cff1319164a0e6a4b5688d0b1da7 (diff)
downloadSmileEssence-1bd18a7495c9f76f0e0443807beac8cdc5a6989e.tar.gz
Close #4 SE-ツイートの削除通知の時は強制的にListAdapterをnotifyする
-rw-r--r--src/net/lacolaco/smileessence/activity/MainActivity.java35
-rw-r--r--src/net/lacolaco/smileessence/twitter/UserStreamListener.java5
-rw-r--r--src/net/lacolaco/smileessence/view/adapter/MessageListAdapter.java1
-rw-r--r--src/net/lacolaco/smileessence/view/adapter/StatusListAdapter.java1
-rw-r--r--src/net/lacolaco/smileessence/view/dialog/UserDetailDialogFragment.java12
5 files changed, 33 insertions, 21 deletions
diff --git a/src/net/lacolaco/smileessence/activity/MainActivity.java b/src/net/lacolaco/smileessence/activity/MainActivity.java
index cdccf745..61ba84e9 100644
--- a/src/net/lacolaco/smileessence/activity/MainActivity.java
+++ b/src/net/lacolaco/smileessence/activity/MainActivity.java
@@ -72,6 +72,7 @@ import net.lacolaco.smileessence.viewmodel.menu.MainActivityMenuHelper;
import twitter4j.*;
import twitter4j.auth.AccessToken;
+import java.util.Collection;
import java.util.HashMap;
import java.util.List;
@@ -162,9 +163,9 @@ public class MainActivity extends Activity
return getAppPreferenceHelper().getValue(KEY_LAST_USER_LIST, "");
}
- public int getPageIndexHistory()
+ public Collection<CustomListAdapter<?>> getListAdapters()
{
- return pageIndexHistory;
+ return adapterMap.values();
}
public int getPageHome()
@@ -172,9 +173,9 @@ public class MainActivity extends Activity
return ADAPTER_HOME;
}
- public int getPageMentions()
+ public int getPageIndexHistory()
{
- return ADAPTER_MENTIONS;
+ return pageIndexHistory;
}
public int getPageIndexMessages()
@@ -182,24 +183,29 @@ public class MainActivity extends Activity
return pageIndexMessages;
}
- public int getPagePost()
+ public int getPageIndexSearch()
{
- return PAGE_POST;
+ return pageIndexSearch;
}
- public PageListAdapter getPagerAdapter()
+ public int getPageIndexUserlist()
{
- return pagerAdapter;
+ return pageIndexUserlist;
}
- public int getPageIndexSearch()
+ public int getPageMentions()
{
- return pageIndexSearch;
+ return ADAPTER_MENTIONS;
}
- public int getPageIndexUserlist()
+ public int getPagePost()
{
- return pageIndexUserlist;
+ return PAGE_POST;
+ }
+
+ public PageListAdapter getPagerAdapter()
+ {
+ return pagerAdapter;
}
public int getThemeIndex()
@@ -889,6 +895,11 @@ public class MainActivity extends Activity
openUserListPage();
}
+ public void setListAdapter(int adapterIndex, CustomListAdapter<?> adapter)
+ {
+ adapterMap.put(adapterIndex, adapter);
+ }
+
private void openUserListPage()
{
setSelectedPageIndex(pageIndexUserlist);
diff --git a/src/net/lacolaco/smileessence/twitter/UserStreamListener.java b/src/net/lacolaco/smileessence/twitter/UserStreamListener.java
index e84a2618..0d92b5dd 100644
--- a/src/net/lacolaco/smileessence/twitter/UserStreamListener.java
+++ b/src/net/lacolaco/smileessence/twitter/UserStreamListener.java
@@ -121,13 +121,13 @@ public class UserStreamListener implements twitter4j.UserStreamListener, Connect
@Override
public void onDeletionNotice(StatusDeletionNotice statusDeletionNotice)
{
- for(int i = 0; i < getPagerCount(); i++)
+ for(CustomListAdapter<?> adapter : activity.getListAdapters())
{
- CustomListAdapter adapter = activity.getListAdapter(i);
if(adapter != null && adapter instanceof StatusListAdapter)
{
StatusListAdapter statusListAdapter = (StatusListAdapter) adapter;
statusListAdapter.removeByStatusID(statusDeletionNotice.getStatusId());
+ statusListAdapter.updateForce();
}
}
}
@@ -162,6 +162,7 @@ public class UserStreamListener implements twitter4j.UserStreamListener, Connect
{
MessageListAdapter messages = (MessageListAdapter) activity.getListAdapter(MainActivity.ADAPTER_MESSAGES);
messages.removeByMessageID(directMessageId);
+ messages.updateForce();
}
@Override
diff --git a/src/net/lacolaco/smileessence/view/adapter/MessageListAdapter.java b/src/net/lacolaco/smileessence/view/adapter/MessageListAdapter.java
index 9895ec10..f273630c 100644
--- a/src/net/lacolaco/smileessence/view/adapter/MessageListAdapter.java
+++ b/src/net/lacolaco/smileessence/view/adapter/MessageListAdapter.java
@@ -84,7 +84,6 @@ public class MessageListAdapter extends CustomListAdapter<MessageViewModel>
if(message.getID() == messageID)
{
iterator.remove();
- update();
return message;
}
}
diff --git a/src/net/lacolaco/smileessence/view/adapter/StatusListAdapter.java b/src/net/lacolaco/smileessence/view/adapter/StatusListAdapter.java
index 98899641..066fb8ef 100644
--- a/src/net/lacolaco/smileessence/view/adapter/StatusListAdapter.java
+++ b/src/net/lacolaco/smileessence/view/adapter/StatusListAdapter.java
@@ -91,7 +91,6 @@ public class StatusListAdapter extends CustomListAdapter<StatusViewModel>
if(statusViewModel.getID() == statusID)
{
iterator.remove();
- update();
return statusViewModel;
}
}
diff --git a/src/net/lacolaco/smileessence/view/dialog/UserDetailDialogFragment.java b/src/net/lacolaco/smileessence/view/dialog/UserDetailDialogFragment.java
index 1f7f84a6..170c262f 100644
--- a/src/net/lacolaco/smileessence/view/dialog/UserDetailDialogFragment.java
+++ b/src/net/lacolaco/smileessence/view/dialog/UserDetailDialogFragment.java
@@ -64,6 +64,7 @@ public class UserDetailDialogFragment extends DialogFragment implements View.OnC
public static final String TAG = "userDialog";
private static final String KEY_USER_ID = "userID";
+ private static final int ADAPTER_INDEX = 100;
private TextView textViewScreenName;
private TextView textViewName;
private TextView textViewURL;
@@ -239,9 +240,10 @@ public class UserDetailDialogFragment extends DialogFragment implements View.OnC
textViewDescription.setMovementMethod(LinkMovementMethod.getInstance());
ImageCache.getInstance().setImageToView(user.getBiggerProfileImageURL(), imageViewIcon);
ImageCache.getInstance().setImageToView(user.getProfileBannerURL(), imageViewHeader);
- final StatusListAdapter adapter = new StatusListAdapter(getActivity());
+ MainActivity activity = (MainActivity) getActivity();
+ final StatusListAdapter adapter = new StatusListAdapter(activity);
listViewTimeline.setAdapter(adapter);
-
+ activity.setListAdapter(ADAPTER_INDEX, adapter);
Twitter twitter = new TwitterApi(account).getTwitter();
if(user.getId() == account.userID)
{
@@ -250,9 +252,9 @@ public class UserDetailDialogFragment extends DialogFragment implements View.OnC
}
else
{
- int theme = ((MainActivity) getActivity()).getThemeIndex();
- final Drawable blue = Themes.getStyledDrawable(getActivity(), theme, R.attr.button_round_blue);
- final Drawable red = Themes.getStyledDrawable(getActivity(), theme, R.attr.button_round_red);
+ int theme = ((MainActivity) activity).getThemeIndex();
+ final Drawable blue = Themes.getStyledDrawable(activity, theme, R.attr.button_round_blue);
+ final Drawable red = Themes.getStyledDrawable(activity, theme, R.attr.button_round_red);
new ShowFriendshipTask(twitter, user.getId())
{