From bef82da590975eeb7b7360e7612e073c8a4abbc0 Mon Sep 17 00:00:00 2001 From: nuclearfog Date: Thu, 26 Dec 2019 11:40:09 +0100 Subject: [PATCH] restructured adapter, bug fix --- .../twidda/activity/MainActivity.java | 17 ++++---- .../twidda/adapter/FragmentAdapter.java | 4 +- .../twidda/adapter/ImageAdapter.java | 5 ++- .../twidda/adapter/ListAdapter.java | 23 +++++----- .../twidda/adapter/MessageAdapter.java | 40 ++++++------------ .../twidda/adapter/TrendAdapter.java | 16 +++---- .../twidda/adapter/TweetAdapter.java | 42 +++++++------------ .../twidda/adapter/UserAdapter.java | 23 ++++------ .../twidda/backend/TwitterEngine.java | 12 +++--- .../twidda/backend/items/TwitterList.java | 8 +++- .../twidda/fragment/ListFragment.java | 5 +-- .../twidda/fragment/MessageFragment.java | 9 ++-- .../twidda/fragment/TrendFragment.java | 19 +++------ .../twidda/fragment/TweetFragment.java | 22 +++------- .../twidda/fragment/UserFragment.java | 8 +--- 15 files changed, 96 insertions(+), 157 deletions(-) diff --git a/app/src/main/java/org/nuclearfog/twidda/activity/MainActivity.java b/app/src/main/java/org/nuclearfog/twidda/activity/MainActivity.java index ce632ae5..0cf1c4ef 100644 --- a/app/src/main/java/org/nuclearfog/twidda/activity/MainActivity.java +++ b/app/src/main/java/org/nuclearfog/twidda/activity/MainActivity.java @@ -37,6 +37,7 @@ public class MainActivity extends AppCompatActivity implements OnTabSelectedList @Nullable private FragmentAdapter adapter; private TabLayout tablayout; + private GlobalSettings settings; private ViewPager pager; private View root; private long homeId; @@ -61,6 +62,9 @@ public class MainActivity extends AppCompatActivity implements OnTabSelectedList if (getSupportActionBar() != null) getSupportActionBar().setDisplayShowTitleEnabled(false); + settings = GlobalSettings.getInstance(this); + root.setBackgroundColor(settings.getBackgroundColor()); + tablayout.setSelectedTabIndicatorColor(settings.getHighlightColor()); tablayout.setupWithViewPager(pager); tablayout.addOnTabSelectedListener(this); pager.setOffscreenPageLimit(3); @@ -70,7 +74,7 @@ public class MainActivity extends AppCompatActivity implements OnTabSelectedList @Override protected void onStart() { super.onStart(); - GlobalSettings settings = GlobalSettings.getInstance(this); + if (!settings.getLogin()) { Intent loginIntent = new Intent(this, LoginPage.class); startActivityForResult(loginIntent, LOGIN); @@ -89,8 +93,6 @@ public class MainActivity extends AppCompatActivity implements OnTabSelectedList mnTab.setIcon(R.drawable.mention); } } - root.setBackgroundColor(settings.getBackgroundColor()); - tablayout.setSelectedTabIndicatorColor(settings.getHighlightColor()); } @@ -103,14 +105,15 @@ public class MainActivity extends AppCompatActivity implements OnTabSelectedList break; case SETTING: + root.setBackgroundColor(settings.getBackgroundColor()); + tablayout.setSelectedTabIndicatorColor(settings.getHighlightColor()); if (adapter != null) { - if (returnCode == DB_CLEARED) { + if (returnCode == DB_CLEARED) adapter.clearData(); - } else if (returnCode == APP_LOGOUT) { + else if (returnCode == APP_LOGOUT) adapter = null; - } else { + else adapter.notifySettingsChanged(); - } } break; } diff --git a/app/src/main/java/org/nuclearfog/twidda/adapter/FragmentAdapter.java b/app/src/main/java/org/nuclearfog/twidda/adapter/FragmentAdapter.java index 92886727..a8917804 100644 --- a/app/src/main/java/org/nuclearfog/twidda/adapter/FragmentAdapter.java +++ b/app/src/main/java/org/nuclearfog/twidda/adapter/FragmentAdapter.java @@ -5,7 +5,7 @@ import android.os.Bundle; import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; -import androidx.fragment.app.FragmentPagerAdapter; +import androidx.fragment.app.FragmentStatePagerAdapter; import org.nuclearfog.twidda.fragment.ListFragment; import org.nuclearfog.twidda.fragment.MessageFragment; @@ -25,7 +25,7 @@ import static org.nuclearfog.twidda.fragment.UserFragment.KEY_FRAG_USER_ID; import static org.nuclearfog.twidda.fragment.UserFragment.KEY_FRAG_USER_MODE; import static org.nuclearfog.twidda.fragment.UserFragment.KEY_FRAG_USER_SEARCH; -public class FragmentAdapter extends FragmentPagerAdapter { +public class FragmentAdapter extends FragmentStatePagerAdapter { public enum AdapterType { PROFILE_TAB, diff --git a/app/src/main/java/org/nuclearfog/twidda/adapter/ImageAdapter.java b/app/src/main/java/org/nuclearfog/twidda/adapter/ImageAdapter.java index 28d424d1..95831028 100644 --- a/app/src/main/java/org/nuclearfog/twidda/adapter/ImageAdapter.java +++ b/app/src/main/java/org/nuclearfog/twidda/adapter/ImageAdapter.java @@ -29,16 +29,17 @@ public class ImageAdapter extends Adapter { private List images; private boolean loading; - public ImageAdapter(OnImageClickListener l) { itemClickListener = new WeakReference<>(l); images = new LinkedList<>(); - loading = true; + loading = false; } @MainThread public void addLast(@NonNull Bitmap image) { int imagePos = images.size(); + if (imagePos == 0) + loading = true; images.add(image); notifyItemInserted(imagePos); } diff --git a/app/src/main/java/org/nuclearfog/twidda/adapter/ListAdapter.java b/app/src/main/java/org/nuclearfog/twidda/adapter/ListAdapter.java index e3c691e2..1e03bd52 100644 --- a/app/src/main/java/org/nuclearfog/twidda/adapter/ListAdapter.java +++ b/app/src/main/java/org/nuclearfog/twidda/adapter/ListAdapter.java @@ -1,6 +1,5 @@ package org.nuclearfog.twidda.adapter; -import android.graphics.Color; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; @@ -20,6 +19,7 @@ import org.nuclearfog.twidda.R; import org.nuclearfog.twidda.backend.helper.StringTools; import org.nuclearfog.twidda.backend.items.TwitterList; import org.nuclearfog.twidda.backend.items.TwitterUser; +import org.nuclearfog.twidda.database.GlobalSettings; import java.lang.ref.WeakReference; import java.text.NumberFormat; @@ -34,13 +34,13 @@ public class ListAdapter extends Adapter { private WeakReference listener; private List data; private NumberFormat formatter; - private int fontColor; + private GlobalSettings settings; - public ListAdapter(ListClickListener l) { + public ListAdapter(ListClickListener l, GlobalSettings settings) { data = new ArrayList<>(); listener = new WeakReference<>(l); formatter = NumberFormat.getIntegerInstance(); - fontColor = Color.WHITE; + this.settings = settings; } @MainThread @@ -59,10 +59,6 @@ public class ListAdapter extends Adapter { } } - public void setColor(int fontColor) { - this.fontColor = fontColor; - } - @Override public int getItemCount() { return data.size(); @@ -85,11 +81,12 @@ public class ListAdapter extends Adapter { vh.createdAt.setText(StringTools.getTimeString(item.getCreatedAt())); vh.memberCount.setText(formatter.format(item.getMemberCount())); vh.subscriberCount.setText(formatter.format(item.getSubscriberCount())); - vh.title.setTextColor(fontColor); - vh.ownername.setTextColor(fontColor); - vh.description.setTextColor(fontColor); - vh.createdAt.setTextColor(fontColor); - Picasso.get().load(owner.getImageLink() + "_mini").into(vh.pb_image); + vh.title.setTextColor(settings.getFontColor()); + vh.ownername.setTextColor(settings.getFontColor()); + vh.description.setTextColor(settings.getFontColor()); + vh.createdAt.setTextColor(settings.getFontColor()); + if (settings.getImageLoad()) + Picasso.get().load(owner.getImageLink() + "_mini").into(vh.pb_image); vh.pb_image.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { diff --git a/app/src/main/java/org/nuclearfog/twidda/adapter/MessageAdapter.java b/app/src/main/java/org/nuclearfog/twidda/adapter/MessageAdapter.java index 955c753d..02180444 100644 --- a/app/src/main/java/org/nuclearfog/twidda/adapter/MessageAdapter.java +++ b/app/src/main/java/org/nuclearfog/twidda/adapter/MessageAdapter.java @@ -1,6 +1,5 @@ package org.nuclearfog.twidda.adapter; -import android.graphics.Color; import android.text.Spanned; import android.text.method.LinkMovementMethod; import android.view.LayoutInflater; @@ -23,6 +22,7 @@ import org.nuclearfog.twidda.R; import org.nuclearfog.twidda.backend.helper.StringTools; import org.nuclearfog.twidda.backend.items.Message; import org.nuclearfog.twidda.backend.items.TwitterUser; +import org.nuclearfog.twidda.database.GlobalSettings; import java.lang.ref.WeakReference; import java.util.ArrayList; @@ -32,17 +32,12 @@ public class MessageAdapter extends Adapter { private WeakReference itemClickListener; private List messages; - private int highlight; - private int fontColor; - private boolean loadImage; + private GlobalSettings settings; - - public MessageAdapter(OnItemSelected l) { + public MessageAdapter(OnItemSelected l, GlobalSettings settings) { itemClickListener = new WeakReference<>(l); messages = new ArrayList<>(); - fontColor = Color.WHITE; - highlight = Color.WHITE; - loadImage = true; + this.settings = settings; } @MainThread @@ -65,15 +60,6 @@ public class MessageAdapter extends Adapter { notifyItemRemoved(pos); } - public void setColor(int fontColor, int highlight) { - this.fontColor = fontColor; - this.highlight = highlight; - } - - public void setImage(boolean loadImage) { - this.loadImage = loadImage; - } - @Override public long getItemId(int index) { return messages.get(index).getId(); @@ -98,21 +84,21 @@ public class MessageAdapter extends Adapter { Message message = messages.get(index); TwitterUser sender = message.getSender(); if (itemClickListener.get() != null) - text = Tagger.makeText(message.getText(), highlight, itemClickListener.get()); + text = Tagger.makeText(message.getText(), settings.getHighlightColor(), itemClickListener.get()); else - text = Tagger.makeText(message.getText(), highlight); + text = Tagger.makeText(message.getText(), settings.getHighlightColor()); vh.message.setText(text); vh.message.setMovementMethod(LinkMovementMethod.getInstance()); - vh.message.setLinkTextColor(highlight); + vh.message.setLinkTextColor(settings.getHighlightColor()); vh.username.setText(sender.getUsername()); vh.screenname.setText(sender.getScreenname()); vh.createdAt.setText(StringTools.getTimeString(message.getTime())); vh.receivername.setText(message.getReceiver().getScreenname()); - vh.message.setTextColor(fontColor); - vh.username.setTextColor(fontColor); - vh.screenname.setTextColor(fontColor); - vh.receivername.setTextColor(fontColor); - vh.createdAt.setTextColor(fontColor); + vh.message.setTextColor(settings.getFontColor()); + vh.username.setTextColor(settings.getFontColor()); + vh.screenname.setTextColor(settings.getFontColor()); + vh.receivername.setTextColor(settings.getFontColor()); + vh.createdAt.setTextColor(settings.getFontColor()); vh.answer.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -142,7 +128,7 @@ public class MessageAdapter extends Adapter { vh.screenname.setCompoundDrawablesWithIntrinsicBounds(R.drawable.lock, 0, 0, 0); else vh.screenname.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0); - if (loadImage) + if (settings.getImageLoad()) Picasso.get().load(sender.getImageLink() + "_mini").into(vh.profile_img); } diff --git a/app/src/main/java/org/nuclearfog/twidda/adapter/TrendAdapter.java b/app/src/main/java/org/nuclearfog/twidda/adapter/TrendAdapter.java index e9200211..874d51cd 100644 --- a/app/src/main/java/org/nuclearfog/twidda/adapter/TrendAdapter.java +++ b/app/src/main/java/org/nuclearfog/twidda/adapter/TrendAdapter.java @@ -1,6 +1,5 @@ package org.nuclearfog.twidda.adapter; -import android.graphics.Color; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; @@ -14,6 +13,7 @@ import androidx.recyclerview.widget.RecyclerView.Adapter; import androidx.recyclerview.widget.RecyclerView.ViewHolder; import org.nuclearfog.twidda.R; +import org.nuclearfog.twidda.database.GlobalSettings; import java.lang.ref.WeakReference; import java.util.ArrayList; @@ -23,16 +23,12 @@ public class TrendAdapter extends Adapter { private WeakReference itemClickListener; private List trends; - private int font_color; + private GlobalSettings settings; - public TrendAdapter(OnItemClickListener l) { + public TrendAdapter(OnItemClickListener l, GlobalSettings settings) { itemClickListener = new WeakReference<>(l); trends = new ArrayList<>(); - font_color = Color.WHITE; - } - - public void setColor(int font_color) { - this.font_color = font_color; + this.settings = settings; } public String getData(int index) { @@ -83,8 +79,8 @@ public class TrendAdapter extends Adapter { String posStr = index + 1 + "."; vh.pos.setText(posStr); vh.trends.setText(trends.get(index)); - vh.pos.setTextColor(font_color); - vh.trends.setTextColor(font_color); + vh.pos.setTextColor(settings.getFontColor()); + vh.trends.setTextColor(settings.getFontColor()); } class ItemHolder extends ViewHolder { diff --git a/app/src/main/java/org/nuclearfog/twidda/adapter/TweetAdapter.java b/app/src/main/java/org/nuclearfog/twidda/adapter/TweetAdapter.java index 5457844d..146a5adc 100644 --- a/app/src/main/java/org/nuclearfog/twidda/adapter/TweetAdapter.java +++ b/app/src/main/java/org/nuclearfog/twidda/adapter/TweetAdapter.java @@ -1,6 +1,5 @@ package org.nuclearfog.twidda.adapter; -import android.graphics.Color; import android.text.Spanned; import android.view.LayoutInflater; import android.view.View; @@ -21,6 +20,7 @@ import org.nuclearfog.tag.Tagger; import org.nuclearfog.twidda.R; import org.nuclearfog.twidda.backend.helper.StringTools; import org.nuclearfog.twidda.backend.items.Tweet; +import org.nuclearfog.twidda.database.GlobalSettings; import java.lang.ref.WeakReference; import java.text.NumberFormat; @@ -32,26 +32,13 @@ public class TweetAdapter extends Adapter { private WeakReference itemClickListener; private NumberFormat formatter; private List tweets; - private int highlight; - private int font_color; - private boolean image_load; + private GlobalSettings settings; - public TweetAdapter(OnItemClickListener l) { + public TweetAdapter(OnItemClickListener l, GlobalSettings settings) { itemClickListener = new WeakReference<>(l); formatter = NumberFormat.getIntegerInstance(); tweets = new ArrayList<>(); - highlight = Color.WHITE; - font_color = Color.WHITE; - image_load = true; - } - - public void setColor(int highlight, int font_color) { - this.highlight = highlight; - this.font_color = font_color; - } - - public void setImage(boolean image_load) { - this.image_load = image_load; + this.settings = settings; } public Tweet get(int index) { @@ -72,10 +59,7 @@ public class TweetAdapter extends Adapter { notifyDataSetChanged(); } - public boolean isEmpty() { - return tweets.isEmpty(); - } - + @MainThread public void remove(long id) { int index = -1; for (int pos = 0; pos < tweets.size() && index < 0; pos++) { @@ -88,6 +72,10 @@ public class TweetAdapter extends Adapter { notifyItemRemoved(index); } + public boolean isEmpty() { + return tweets.isEmpty(); + } + @Override public long getItemId(int index) { return tweets.get(index).getId(); @@ -125,17 +113,17 @@ public class TweetAdapter extends Adapter { } else { vh.retweeter.setText(""); } - Spanned text = Tagger.makeText(tweet.getTweet(), highlight); + Spanned text = Tagger.makeText(tweet.getTweet(), settings.getHighlightColor()); vh.username.setText(tweet.getUser().getUsername()); vh.screenname.setText(tweet.getUser().getScreenname()); vh.tweet.setText(text); vh.retweet.setText(formatter.format(tweet.getRetweetCount())); vh.favorite.setText(formatter.format(tweet.getFavorCount())); vh.time.setText(StringTools.getTimeString(tweet.getTime())); - vh.username.setTextColor(font_color); - vh.screenname.setTextColor(font_color); - vh.tweet.setTextColor(font_color); - vh.time.setTextColor(font_color); + vh.username.setTextColor(settings.getFontColor()); + vh.screenname.setTextColor(settings.getFontColor()); + vh.tweet.setTextColor(settings.getFontColor()); + vh.time.setTextColor(settings.getFontColor()); if (tweet.retweeted()) vh.retweet.setCompoundDrawablesWithIntrinsicBounds(R.drawable.retweet_enabled, 0, 0, 0); else @@ -152,7 +140,7 @@ public class TweetAdapter extends Adapter { vh.screenname.setCompoundDrawablesWithIntrinsicBounds(R.drawable.lock, 0, 0, 0); else vh.screenname.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0); - if (image_load) + if (settings.getImageLoad()) Picasso.get().load(tweet.getUser().getImageLink() + "_mini").into(vh.profile); else vh.profile.setImageResource(0); diff --git a/app/src/main/java/org/nuclearfog/twidda/adapter/UserAdapter.java b/app/src/main/java/org/nuclearfog/twidda/adapter/UserAdapter.java index dc660d84..6f29ff71 100644 --- a/app/src/main/java/org/nuclearfog/twidda/adapter/UserAdapter.java +++ b/app/src/main/java/org/nuclearfog/twidda/adapter/UserAdapter.java @@ -1,6 +1,5 @@ package org.nuclearfog.twidda.adapter; -import android.graphics.Color; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; @@ -18,6 +17,7 @@ import com.squareup.picasso.Picasso; import org.nuclearfog.twidda.R; import org.nuclearfog.twidda.backend.items.TwitterUser; +import org.nuclearfog.twidda.database.GlobalSettings; import java.lang.ref.WeakReference; import java.util.ArrayList; @@ -27,14 +27,12 @@ public class UserAdapter extends Adapter { private WeakReference itemClickListener; private List users; - private int font_color; - private boolean loadImage; + private GlobalSettings settings; - public UserAdapter(OnItemClickListener l) { + public UserAdapter(OnItemClickListener l, GlobalSettings settings) { itemClickListener = new WeakReference<>(l); users = new ArrayList<>(); - font_color = Color.WHITE; - loadImage = true; + this.settings = settings; } public TwitterUser getData(int index) { @@ -48,13 +46,6 @@ public class UserAdapter extends Adapter { notifyDataSetChanged(); } - public void setColor(int font_color) { - this.font_color = font_color; - } - - public void setImage(boolean image) { - loadImage = image; - } @Override public int getItemCount() { @@ -86,11 +77,11 @@ public class UserAdapter extends Adapter { public void onBindViewHolder(@NonNull ItemHolder vh, int index) { TwitterUser user = users.get(index); vh.username.setText(user.getUsername()); - vh.username.setTextColor(font_color); + vh.username.setTextColor(settings.getFontColor()); vh.screenname.setText(user.getScreenname()); - vh.screenname.setTextColor(font_color); + vh.screenname.setTextColor(settings.getFontColor()); - if (loadImage) { + if (settings.getImageLoad()) { Picasso.get().load(user.getImageLink() + "_mini").into(vh.profileImg); } if (user.isVerified()) { diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/TwitterEngine.java b/app/src/main/java/org/nuclearfog/twidda/backend/TwitterEngine.java index 2e87f5b6..10e1bf0b 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/TwitterEngine.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/TwitterEngine.java @@ -791,11 +791,13 @@ public class TwitterEngine { TwitterList followUserList(long listId) throws EngineException { try { UserList list = twitter.showUserList(listId); - if (list.isFollowing()) - list = twitter.destroyUserListSubscription(listId); - else - list = twitter.createUserListSubscription(listId); - return new TwitterList(list, twitterID); + if (list.isFollowing()) { + twitter.destroyUserListSubscription(listId); + return new TwitterList(list, twitterID, false); + } else { + twitter.createUserListSubscription(listId); + return new TwitterList(list, twitterID, true); + } } catch (TwitterException err) { throw new EngineException(err); } diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/items/TwitterList.java b/app/src/main/java/org/nuclearfog/twidda/backend/items/TwitterList.java index 706a6f15..86a8805a 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/items/TwitterList.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/items/TwitterList.java @@ -21,17 +21,21 @@ public class TwitterList { private final int memberCount; private final int subscriberCnt; - public TwitterList(UserList list, long homeId) { + public TwitterList(UserList list, long homeId, boolean isFollowing) { id = list.getId(); title = list.getName(); createdAt = list.getCreatedAt().getTime(); description = list.getDescription(); owner = new TwitterUser(list.getUser()); - isFollowing = list.isFollowing(); isPrivate = !list.isPublic(); memberCount = list.getMemberCount(); subscriberCnt = list.getSubscriberCount(); enableFollow = homeId != owner.getId(); + this.isFollowing = isFollowing; + } + + public TwitterList(UserList list, long homeId) { + this(list, homeId, list.isFollowing()); } /** diff --git a/app/src/main/java/org/nuclearfog/twidda/fragment/ListFragment.java b/app/src/main/java/org/nuclearfog/twidda/fragment/ListFragment.java index 5ad23308..8585fc28 100644 --- a/app/src/main/java/org/nuclearfog/twidda/fragment/ListFragment.java +++ b/app/src/main/java/org/nuclearfog/twidda/fragment/ListFragment.java @@ -52,8 +52,7 @@ public class ListFragment extends Fragment implements OnRefreshListener, ListCli Context context = inflater.getContext(); GlobalSettings settings = GlobalSettings.getInstance(context); - adapter = new ListAdapter(this); - adapter.setColor(settings.getFontColor()); + adapter = new ListAdapter(this, settings); RecyclerView listView = new RecyclerView(inflater.getContext()); listView.setLayoutManager(new LinearLayoutManager(context)); @@ -62,8 +61,8 @@ public class ListFragment extends Fragment implements OnRefreshListener, ListCli reloadLayout = new SwipeRefreshLayout(context); reloadLayout.setProgressBackgroundColorSchemeColor(settings.getHighlightColor()); - reloadLayout.addView(listView); reloadLayout.setOnRefreshListener(this); + reloadLayout.addView(listView); return reloadLayout; } diff --git a/app/src/main/java/org/nuclearfog/twidda/fragment/MessageFragment.java b/app/src/main/java/org/nuclearfog/twidda/fragment/MessageFragment.java index ffac746a..32a58041 100644 --- a/app/src/main/java/org/nuclearfog/twidda/fragment/MessageFragment.java +++ b/app/src/main/java/org/nuclearfog/twidda/fragment/MessageFragment.java @@ -42,9 +42,7 @@ public class MessageFragment extends Fragment implements OnRefreshListener, OnIt Context context = inflater.getContext(); GlobalSettings settings = GlobalSettings.getInstance(context); - adapter = new MessageAdapter(this); - adapter.setColor(settings.getFontColor(), settings.getHighlightColor()); - adapter.setImage(settings.getImageLoad()); + adapter = new MessageAdapter(this, settings); RecyclerView list = new RecyclerView(context); list.setLayoutManager(new LinearLayoutManager(context)); @@ -52,10 +50,9 @@ public class MessageFragment extends Fragment implements OnRefreshListener, OnIt list.setAdapter(adapter); reload = new SwipeRefreshLayout(context); - reload.addView(list); - reload.setOnRefreshListener(this); reload.setProgressBackgroundColorSchemeColor(settings.getHighlightColor()); - + reload.setOnRefreshListener(this); + reload.addView(list); return reload; } diff --git a/app/src/main/java/org/nuclearfog/twidda/fragment/TrendFragment.java b/app/src/main/java/org/nuclearfog/twidda/fragment/TrendFragment.java index 63ff3fa9..c8c8b881 100644 --- a/app/src/main/java/org/nuclearfog/twidda/fragment/TrendFragment.java +++ b/app/src/main/java/org/nuclearfog/twidda/fragment/TrendFragment.java @@ -39,7 +39,7 @@ public class TrendFragment extends Fragment implements OnRefreshListener, OnItem Context context = inflater.getContext(); settings = GlobalSettings.getInstance(context); - adapter = new TrendAdapter(this); + adapter = new TrendAdapter(this, settings); list = new RecyclerView(context); list.setLayoutManager(new LinearLayoutManager(context)); @@ -47,10 +47,8 @@ public class TrendFragment extends Fragment implements OnRefreshListener, OnItem list.setAdapter(adapter); reload = new SwipeRefreshLayout(context); - reload.addView(list); reload.setOnRefreshListener(this); - - setColors(); + reload.addView(list); return reload; } @@ -60,6 +58,7 @@ public class TrendFragment extends Fragment implements OnRefreshListener, OnItem super.onStart(); if (trendTask == null) load(); + reload.setProgressBackgroundColorSchemeColor(settings.getHighlightColor()); } @@ -93,10 +92,8 @@ public class TrendFragment extends Fragment implements OnRefreshListener, OnItem @Override public void onSettingsChange() { - if (adapter != null && reload != null) { - adapter.clear(); - setColors(); - } + if (adapter != null) + adapter.notifyDataSetChanged(); trendTask = null; } @@ -140,10 +137,4 @@ public class TrendFragment extends Fragment implements OnRefreshListener, OnItem trendTask = new TrendLoader(this); trendTask.execute(settings.getTrendLocation().getWoeId()); } - - - private void setColors() { - reload.setProgressBackgroundColorSchemeColor(settings.getHighlightColor()); - adapter.setColor(settings.getFontColor()); - } } \ No newline at end of file diff --git a/app/src/main/java/org/nuclearfog/twidda/fragment/TweetFragment.java b/app/src/main/java/org/nuclearfog/twidda/fragment/TweetFragment.java index 87a8c7f4..d19a113f 100644 --- a/app/src/main/java/org/nuclearfog/twidda/fragment/TweetFragment.java +++ b/app/src/main/java/org/nuclearfog/twidda/fragment/TweetFragment.java @@ -71,19 +71,16 @@ public class TweetFragment extends Fragment implements OnRefreshListener, OnItem search = b.getString(KEY_FRAG_TWEET_SEARCH, ""); fixSize = b.getBoolean(KEY_FRAG_TWEET_FIX_LAYOUT, false); } - settings = GlobalSettings.getInstance(context); - adapter = new TweetAdapter(this); + adapter = new TweetAdapter(this, settings); list = new RecyclerView(context); list.setLayoutManager(new LinearLayoutManager(context)); list.setHasFixedSize(fixSize); list.setAdapter(adapter); reload = new SwipeRefreshLayout(context); - reload.addView(list); reload.setOnRefreshListener(this); - - setColors(); + reload.addView(list); return reload; } @@ -93,6 +90,7 @@ public class TweetFragment extends Fragment implements OnRefreshListener, OnItem super.onStart(); if (tweetTask == null) load(); + reload.setProgressBackgroundColorSchemeColor(settings.getHighlightColor()); } @@ -136,11 +134,8 @@ public class TweetFragment extends Fragment implements OnRefreshListener, OnItem @Override public void onSettingsChange() { - if (adapter != null && reload != null) { - adapter.clear(); - setColors(); - } - tweetTask = null; + if (adapter != null) + adapter.notifyDataSetChanged(); } @@ -221,11 +216,4 @@ public class TweetFragment extends Fragment implements OnRefreshListener, OnItem break; } } - - - private void setColors() { - reload.setProgressBackgroundColorSchemeColor(settings.getHighlightColor()); - adapter.setColor(settings.getHighlightColor(), settings.getFontColor()); - adapter.setImage(settings.getImageLoad()); - } } \ No newline at end of file diff --git a/app/src/main/java/org/nuclearfog/twidda/fragment/UserFragment.java b/app/src/main/java/org/nuclearfog/twidda/fragment/UserFragment.java index 85753534..52eaf664 100644 --- a/app/src/main/java/org/nuclearfog/twidda/fragment/UserFragment.java +++ b/app/src/main/java/org/nuclearfog/twidda/fragment/UserFragment.java @@ -66,20 +66,16 @@ public class UserFragment extends Fragment implements OnRefreshListener, OnItemC search = b.getString(KEY_FRAG_USER_SEARCH, ""); fixLayout = b.getBoolean(KEY_FRAG_USER_FIX_LAYOUT, true); } - adapter = new UserAdapter(this); - adapter.setColor(settings.getFontColor()); - adapter.setImage(settings.getImageLoad()); - + adapter = new UserAdapter(this, settings); list = new RecyclerView(context); list.setLayoutManager(new LinearLayoutManager(context)); list.setHasFixedSize(fixLayout); list.setAdapter(adapter); reload = new SwipeRefreshLayout(context); - reload.addView(list); reload.setProgressBackgroundColorSchemeColor(settings.getHighlightColor()); reload.setOnRefreshListener(this); - + reload.addView(list); return reload; }