stage 1
This commit is contained in:
parent
1e0accc412
commit
f36e7f4f91
|
@ -20,7 +20,7 @@ import android.widget.TabHost.OnTabChangeListener;
|
|||
import android.widget.TabHost.TabSpec;
|
||||
|
||||
import org.nuclearfog.twidda.adapter.OnItemClickListener;
|
||||
import org.nuclearfog.twidda.adapter.TimelineAdapter;
|
||||
import org.nuclearfog.twidda.adapter.TweetAdapter;
|
||||
import org.nuclearfog.twidda.adapter.TrendAdapter;
|
||||
import org.nuclearfog.twidda.backend.StartPage;
|
||||
import org.nuclearfog.twidda.backend.items.Tweet;
|
||||
|
@ -53,7 +53,7 @@ public class MainActivity extends AppCompatActivity implements OnRefreshListener
|
|||
|
||||
private SwipeRefreshLayout timelineReload, trendReload, mentionReload;
|
||||
private RecyclerView timelineList, trendList, mentionList;
|
||||
private TimelineAdapter timelineAdapter, mentionAdapter;
|
||||
private TweetAdapter timelineAdapter, mentionAdapter;
|
||||
private View tlUnderline, trUnderline, mnUnderline;
|
||||
private View lastTab, root;
|
||||
private TrendAdapter trendsAdapter;
|
||||
|
@ -126,9 +126,9 @@ public class MainActivity extends AppCompatActivity implements OnRefreshListener
|
|||
Intent i = new Intent(this, LoginPage.class);
|
||||
startActivityForResult(i, LOGIN);
|
||||
} else if (mainAsync == null) {
|
||||
timelineAdapter = new TimelineAdapter(this);
|
||||
timelineAdapter = new TweetAdapter(this);
|
||||
trendsAdapter = new TrendAdapter(this);
|
||||
mentionAdapter = new TimelineAdapter(this);
|
||||
mentionAdapter = new TweetAdapter(this);
|
||||
|
||||
root.setBackgroundColor(settings.getBackgroundColor());
|
||||
timelineAdapter.setColor(settings.getHighlightColor(), settings.getFontColor());
|
||||
|
|
|
@ -26,10 +26,10 @@ import java.util.Calendar;
|
|||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
public class TimelineAdapter extends Adapter<TimelineAdapter.ItemHolder> {
|
||||
public class TweetAdapter extends Adapter<TweetAdapter.ItemHolder> {
|
||||
|
||||
private WeakReference<OnItemClickListener> itemClickListener;
|
||||
private Tweet tweets[];
|
||||
private Tweet[] tweets;
|
||||
|
||||
private NumberFormat formatter;
|
||||
private int highlight;
|
||||
|
@ -37,7 +37,7 @@ public class TimelineAdapter extends Adapter<TimelineAdapter.ItemHolder> {
|
|||
private boolean img_ldr = true;
|
||||
|
||||
|
||||
public TimelineAdapter(OnItemClickListener l) {
|
||||
public TweetAdapter(OnItemClickListener l) {
|
||||
itemClickListener = new WeakReference<>(l);
|
||||
formatter = NumberFormat.getIntegerInstance();
|
||||
tweets = new Tweet[0];
|
|
@ -10,7 +10,7 @@ import org.nuclearfog.twidda.R;
|
|||
import twitter4j.TwitterException;
|
||||
|
||||
|
||||
abstract class ErrorHandler {
|
||||
public abstract class ErrorHandler {
|
||||
|
||||
/**
|
||||
* Print twitter error message
|
||||
|
|
|
@ -17,7 +17,7 @@ import com.squareup.picasso.Picasso;
|
|||
|
||||
import org.nuclearfog.tag.Tagger;
|
||||
import org.nuclearfog.twidda.R;
|
||||
import org.nuclearfog.twidda.adapter.TimelineAdapter;
|
||||
import org.nuclearfog.twidda.adapter.TweetAdapter;
|
||||
import org.nuclearfog.twidda.backend.items.Tweet;
|
||||
import org.nuclearfog.twidda.backend.items.TwitterUser;
|
||||
import org.nuclearfog.twidda.database.DatabaseAdapter;
|
||||
|
@ -53,7 +53,7 @@ public class ProfileLoader extends AsyncTask<Long, Void, Void> {
|
|||
private final Mode mode;
|
||||
private boolean failure = false;
|
||||
|
||||
private TimelineAdapter homeTl, homeFav;
|
||||
private TweetAdapter homeTl, homeFav;
|
||||
private WeakReference<UserProfile> ui;
|
||||
private SimpleDateFormat sdf;
|
||||
private TwitterEngine mTwitter;
|
||||
|
@ -92,8 +92,8 @@ public class ProfileLoader extends AsyncTask<Long, Void, Void> {
|
|||
|
||||
RecyclerView profileTweets = context.findViewById(R.id.ht_list);
|
||||
RecyclerView profileFavors = context.findViewById(R.id.hf_list);
|
||||
homeTl = (TimelineAdapter) profileTweets.getAdapter();
|
||||
homeFav = (TimelineAdapter) profileFavors.getAdapter();
|
||||
homeTl = (TweetAdapter) profileTweets.getAdapter();
|
||||
homeFav = (TweetAdapter) profileFavors.getAdapter();
|
||||
}
|
||||
|
||||
|
||||
|
@ -132,7 +132,7 @@ public class ProfileLoader extends AsyncTask<Long, Void, Void> {
|
|||
db.storeUser(user);
|
||||
|
||||
if (!isHome) {
|
||||
boolean connection[] = mTwitter.getConnection(UID);
|
||||
boolean[] connection = mTwitter.getConnection(UID);
|
||||
isFollowing = connection[0];
|
||||
isFollowed = connection[1];
|
||||
isBlocked = connection[2];
|
||||
|
|
|
@ -8,7 +8,7 @@ import android.util.Log;
|
|||
|
||||
import org.nuclearfog.twidda.MainActivity;
|
||||
import org.nuclearfog.twidda.R;
|
||||
import org.nuclearfog.twidda.adapter.TimelineAdapter;
|
||||
import org.nuclearfog.twidda.adapter.TweetAdapter;
|
||||
import org.nuclearfog.twidda.adapter.TrendAdapter;
|
||||
import org.nuclearfog.twidda.backend.items.Trend;
|
||||
import org.nuclearfog.twidda.backend.items.Tweet;
|
||||
|
@ -37,7 +37,7 @@ public class StartPage extends AsyncTask<Integer, Void, Void> {
|
|||
private TwitterEngine mTwitter;
|
||||
private TwitterException err;
|
||||
|
||||
private TimelineAdapter timelineAdapter, mentionAdapter;
|
||||
private TweetAdapter timelineAdapter, mentionAdapter;
|
||||
private TrendAdapter trendsAdapter;
|
||||
private List<Tweet> tweets, mention;
|
||||
private List<Trend> trends;
|
||||
|
@ -59,9 +59,9 @@ public class StartPage extends AsyncTask<Integer, Void, Void> {
|
|||
RecyclerView trendList = context.findViewById(R.id.tr_list);
|
||||
RecyclerView mentionList = context.findViewById(R.id.m_list);
|
||||
|
||||
timelineAdapter = (TimelineAdapter) timelineList.getAdapter();
|
||||
timelineAdapter = (TweetAdapter) timelineList.getAdapter();
|
||||
trendsAdapter = (TrendAdapter) trendList.getAdapter();
|
||||
mentionAdapter = (TimelineAdapter) mentionList.getAdapter();
|
||||
mentionAdapter = (TweetAdapter) mentionList.getAdapter();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ import com.squareup.picasso.Picasso;
|
|||
|
||||
import org.nuclearfog.tag.Tagger;
|
||||
import org.nuclearfog.twidda.R;
|
||||
import org.nuclearfog.twidda.adapter.TimelineAdapter;
|
||||
import org.nuclearfog.twidda.adapter.TweetAdapter;
|
||||
import org.nuclearfog.twidda.backend.items.Tweet;
|
||||
import org.nuclearfog.twidda.database.DatabaseAdapter;
|
||||
import org.nuclearfog.twidda.database.GlobalSettings;
|
||||
|
@ -51,7 +51,7 @@ public class StatusLoader extends AsyncTask<Long, Void, Void> {
|
|||
private TwitterEngine mTwitter;
|
||||
private TwitterException err;
|
||||
private WeakReference<TweetDetail> ui;
|
||||
private TimelineAdapter answerAdapter;
|
||||
private TweetAdapter answerAdapter;
|
||||
private SimpleDateFormat sdf;
|
||||
private NumberFormat formatter;
|
||||
private List<Tweet> answers;
|
||||
|
@ -65,7 +65,7 @@ public class StatusLoader extends AsyncTask<Long, Void, Void> {
|
|||
mTwitter = TwitterEngine.getInstance(context);
|
||||
GlobalSettings settings = GlobalSettings.getInstance(context);
|
||||
RecyclerView replyList = context.findViewById(R.id.answer_list);
|
||||
answerAdapter = (TimelineAdapter) replyList.getAdapter();
|
||||
answerAdapter = (TweetAdapter) replyList.getAdapter();
|
||||
sdf = settings.getDateFormatter();
|
||||
formatter = NumberFormat.getIntegerInstance();
|
||||
font_color = settings.getFontColor();
|
||||
|
|
|
@ -72,7 +72,7 @@ public class TwitterEngine {
|
|||
* @param context Main Thread Context
|
||||
* @return TwitterEngine Instance
|
||||
*/
|
||||
static TwitterEngine getInstance(Context context) {
|
||||
public static TwitterEngine getInstance(Context context) {
|
||||
if (mTwitter == null) {
|
||||
mTwitter = new TwitterEngine(context);
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ import android.support.v7.widget.RecyclerView;
|
|||
import android.util.Log;
|
||||
|
||||
import org.nuclearfog.twidda.R;
|
||||
import org.nuclearfog.twidda.adapter.TimelineAdapter;
|
||||
import org.nuclearfog.twidda.adapter.TweetAdapter;
|
||||
import org.nuclearfog.twidda.adapter.UserAdapter;
|
||||
import org.nuclearfog.twidda.backend.items.Tweet;
|
||||
import org.nuclearfog.twidda.backend.items.TwitterUser;
|
||||
|
@ -21,7 +21,7 @@ import twitter4j.TwitterException;
|
|||
|
||||
public class TwitterSearch extends AsyncTask<String, Void, Void> {
|
||||
|
||||
private TimelineAdapter searchAdapter;
|
||||
private TweetAdapter searchAdapter;
|
||||
private UserAdapter userAdapter;
|
||||
private List<Tweet> tweets;
|
||||
private List<TwitterUser> users;
|
||||
|
@ -38,7 +38,7 @@ public class TwitterSearch extends AsyncTask<String, Void, Void> {
|
|||
|
||||
RecyclerView tweetSearch = context.findViewById(R.id.tweet_result);
|
||||
RecyclerView userSearch = context.findViewById(R.id.user_result);
|
||||
searchAdapter = (TimelineAdapter) tweetSearch.getAdapter();
|
||||
searchAdapter = (TweetAdapter) tweetSearch.getAdapter();
|
||||
userAdapter = (UserAdapter) userSearch.getAdapter();
|
||||
}
|
||||
|
||||
|
|
|
@ -10,41 +10,56 @@ import android.view.LayoutInflater;
|
|||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import org.nuclearfog.twidda.adapter.OnItemClickListener;
|
||||
import org.nuclearfog.twidda.adapter.MessageAdapter;
|
||||
import org.nuclearfog.twidda.fragment.backend.MessageLoader;
|
||||
|
||||
import static android.os.AsyncTask.Status.RUNNING;
|
||||
import static org.nuclearfog.twidda.fragment.backend.MessageLoader.Mode.LOAD;
|
||||
|
||||
|
||||
public class MessageListFragment extends Fragment implements OnRefreshListener{
|
||||
|
||||
private MessageLoader messageTask;
|
||||
private SwipeRefreshLayout root;
|
||||
|
||||
public class MessageListFragment extends Fragment implements OnRefreshListener, OnItemClickListener {
|
||||
|
||||
@Override
|
||||
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup parent, Bundle param) {
|
||||
SwipeRefreshLayout reload = new SwipeRefreshLayout(inflater.getContext());
|
||||
root = new SwipeRefreshLayout(inflater.getContext());
|
||||
RecyclerView list = new RecyclerView(inflater.getContext());
|
||||
reload.setOnRefreshListener(this);
|
||||
reload.addView(list);
|
||||
return reload;
|
||||
root.setOnRefreshListener(this);
|
||||
root.addView(list);
|
||||
return root;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onStart() {
|
||||
super.onStart();
|
||||
|
||||
if(messageTask == null) {
|
||||
messageTask = new MessageLoader(root, LOAD);
|
||||
messageTask.execute();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onStop() {
|
||||
super.onStop();
|
||||
if(messageTask != null && messageTask.getStatus() == RUNNING)
|
||||
messageTask.cancel(true);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onRefresh() {
|
||||
|
||||
messageTask = new MessageLoader(root, LOAD);
|
||||
messageTask.execute();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onItemClick(RecyclerView rv, int pos) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -1,5 +1,6 @@
|
|||
package org.nuclearfog.twidda.fragment;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v4.app.Fragment;
|
||||
|
@ -11,40 +12,75 @@ import android.view.View;
|
|||
import android.view.ViewGroup;
|
||||
|
||||
import org.nuclearfog.twidda.adapter.OnItemClickListener;
|
||||
import org.nuclearfog.twidda.adapter.TrendAdapter;
|
||||
import org.nuclearfog.twidda.fragment.backend.TrendLoader;
|
||||
import org.nuclearfog.twidda.window.SearchPage;
|
||||
|
||||
import static android.os.AsyncTask.Status.RUNNING;
|
||||
import static org.nuclearfog.twidda.fragment.backend.TrendLoader.Mode.DB_TRND;
|
||||
import static org.nuclearfog.twidda.fragment.backend.TrendLoader.Mode.LD_TRND;
|
||||
|
||||
|
||||
public class TrendListFragment extends Fragment implements OnRefreshListener, OnItemClickListener {
|
||||
|
||||
private TrendLoader trendTask;
|
||||
private SwipeRefreshLayout reload;
|
||||
private TrendAdapter adapter;
|
||||
private ViewGroup root;
|
||||
|
||||
@Override
|
||||
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup parent, Bundle param) {
|
||||
SwipeRefreshLayout reload = new SwipeRefreshLayout(inflater.getContext());
|
||||
reload = new SwipeRefreshLayout(inflater.getContext());
|
||||
RecyclerView list = new RecyclerView(inflater.getContext());
|
||||
adapter = new TrendAdapter(this);
|
||||
list.setAdapter(adapter);
|
||||
reload.setOnRefreshListener(this);
|
||||
reload.addView(list);
|
||||
return reload;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onViewCreated(@NonNull View v, Bundle param) {
|
||||
super.onViewCreated(v,param);
|
||||
root = (ViewGroup) v;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onStart() {
|
||||
super.onStart();
|
||||
|
||||
if (trendTask == null) {
|
||||
trendTask = new TrendLoader(root, DB_TRND);
|
||||
trendTask.execute();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onStop() {
|
||||
if(trendTask != null && trendTask.getStatus() == RUNNING)
|
||||
trendTask.cancel(true);
|
||||
super.onStop();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onRefresh() {
|
||||
|
||||
trendTask = new TrendLoader(root, LD_TRND);
|
||||
trendTask.execute();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onItemClick(RecyclerView rv, int pos) {
|
||||
|
||||
if (!reload.isRefreshing()) {
|
||||
String search = adapter.getData(pos).getName();
|
||||
Intent intent = new Intent(getContext(), SearchPage.class);
|
||||
if (!search.startsWith("#"))
|
||||
search = '\"' + search + '\"';
|
||||
intent.putExtra("search", search);
|
||||
startActivity(intent);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,5 +1,7 @@
|
|||
package org.nuclearfog.twidda.fragment;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v4.app.Fragment;
|
||||
|
@ -11,40 +13,159 @@ import android.view.View;
|
|||
import android.view.ViewGroup;
|
||||
|
||||
import org.nuclearfog.twidda.adapter.OnItemClickListener;
|
||||
import org.nuclearfog.twidda.adapter.TweetAdapter;
|
||||
import org.nuclearfog.twidda.backend.items.Tweet;
|
||||
import org.nuclearfog.twidda.fragment.backend.TweetLoader;
|
||||
import org.nuclearfog.twidda.window.TweetDetail;
|
||||
|
||||
import static android.os.AsyncTask.Status.RUNNING;
|
||||
import static org.nuclearfog.twidda.fragment.backend.TweetLoader.Mode.DB_ANS;
|
||||
import static org.nuclearfog.twidda.fragment.backend.TweetLoader.Mode.DB_FAVORS;
|
||||
import static org.nuclearfog.twidda.fragment.backend.TweetLoader.Mode.DB_HOME;
|
||||
import static org.nuclearfog.twidda.fragment.backend.TweetLoader.Mode.DB_MENT;
|
||||
import static org.nuclearfog.twidda.fragment.backend.TweetLoader.Mode.DB_TWEETS;
|
||||
import static org.nuclearfog.twidda.fragment.backend.TweetLoader.Mode.TL_HOME;
|
||||
import static org.nuclearfog.twidda.fragment.backend.TweetLoader.Mode.TL_MENT;
|
||||
import static org.nuclearfog.twidda.fragment.backend.TweetLoader.Mode.TWEET_ANS;
|
||||
import static org.nuclearfog.twidda.fragment.backend.TweetLoader.Mode.TWEET_SEARCH;
|
||||
import static org.nuclearfog.twidda.fragment.backend.TweetLoader.Mode.USR_FAVORS;
|
||||
import static org.nuclearfog.twidda.fragment.backend.TweetLoader.Mode.USR_TWEETS;
|
||||
|
||||
|
||||
public class TweetListFragment extends Fragment implements OnRefreshListener, OnItemClickListener {
|
||||
|
||||
public static final int HOME = 0;
|
||||
public static final int MENT = 1;
|
||||
public static final int USER_TWEET = 2;
|
||||
public static final int USER_FAVOR = 3;
|
||||
public static final int TWEET_ANSR = 4;
|
||||
public static final int SEARCH = 5;
|
||||
|
||||
private TweetLoader tweetTask;
|
||||
private SwipeRefreshLayout reload;
|
||||
private TweetAdapter adapter;
|
||||
private ViewGroup root;
|
||||
|
||||
private long id;
|
||||
private int mode;
|
||||
|
||||
@Override
|
||||
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup parent, Bundle param) {
|
||||
SwipeRefreshLayout reload = new SwipeRefreshLayout(inflater.getContext());
|
||||
super.onCreateView(inflater,parent,param);
|
||||
reload = new SwipeRefreshLayout(inflater.getContext());
|
||||
RecyclerView list = new RecyclerView(inflater.getContext());
|
||||
adapter = new TweetAdapter(this);
|
||||
list.setAdapter(adapter);
|
||||
reload.setOnRefreshListener(this);
|
||||
reload.addView(list);
|
||||
return reload;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onViewCreated(@NonNull View v, Bundle param) {
|
||||
Bundle b = getArguments();
|
||||
if(b != null) {
|
||||
mode = b.getInt("mode");
|
||||
id = b.getInt("id");
|
||||
}
|
||||
root = (ViewGroup) v;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onStart() {
|
||||
super.onStart();
|
||||
if(tweetTask == null) {
|
||||
switch(mode) {
|
||||
case HOME:
|
||||
tweetTask = new TweetLoader(root, DB_HOME);
|
||||
tweetTask.execute();
|
||||
break;
|
||||
|
||||
case MENT:
|
||||
tweetTask = new TweetLoader(root, DB_MENT);
|
||||
tweetTask.execute();
|
||||
break;
|
||||
|
||||
case USER_TWEET:
|
||||
tweetTask = new TweetLoader(root, DB_TWEETS);
|
||||
tweetTask.execute();
|
||||
break;
|
||||
|
||||
case USER_FAVOR:
|
||||
tweetTask = new TweetLoader(root, DB_FAVORS);
|
||||
tweetTask.execute(id);
|
||||
break;
|
||||
|
||||
case TWEET_ANSR:
|
||||
tweetTask = new TweetLoader(root, DB_ANS);
|
||||
tweetTask.execute(id);
|
||||
break;
|
||||
|
||||
case SEARCH:
|
||||
tweetTask = new TweetLoader(root, TWEET_SEARCH);
|
||||
tweetTask.execute(id);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onStop() {
|
||||
if(tweetTask != null && tweetTask.getStatus() == RUNNING)
|
||||
tweetTask.cancel(true);
|
||||
super.onStop();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onRefresh() {
|
||||
switch(mode) {
|
||||
case HOME:
|
||||
tweetTask = new TweetLoader(root, TL_HOME);
|
||||
tweetTask.execute();
|
||||
break;
|
||||
|
||||
case MENT:
|
||||
tweetTask = new TweetLoader(root, TL_MENT);
|
||||
tweetTask.execute();
|
||||
break;
|
||||
|
||||
case USER_TWEET:
|
||||
tweetTask = new TweetLoader(root, USR_TWEETS);
|
||||
tweetTask.execute();
|
||||
break;
|
||||
|
||||
case USER_FAVOR:
|
||||
tweetTask = new TweetLoader(root, USR_FAVORS);
|
||||
tweetTask.execute();
|
||||
break;
|
||||
|
||||
case TWEET_ANSR:
|
||||
tweetTask = new TweetLoader(root, TWEET_ANS);
|
||||
tweetTask.execute();
|
||||
break;
|
||||
|
||||
case SEARCH:
|
||||
tweetTask = new TweetLoader(root, TWEET_SEARCH);
|
||||
tweetTask.execute();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onItemClick(RecyclerView rv, int pos) {
|
||||
|
||||
if (!reload.isRefreshing()) {
|
||||
Tweet tweet = adapter.getData(pos);
|
||||
if (tweet.getEmbeddedTweet() != null)
|
||||
tweet = tweet.getEmbeddedTweet();
|
||||
Intent intent = new Intent(getContext(), TweetDetail.class);//,
|
||||
intent.putExtra("tweetID", tweet.getId());
|
||||
intent.putExtra("username", tweet.getUser().getScreenname());
|
||||
startActivity(intent);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -2,36 +2,110 @@ package org.nuclearfog.twidda.fragment.backend;
|
|||
|
||||
import android.os.AsyncTask;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v4.widget.SwipeRefreshLayout;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import org.nuclearfog.twidda.fragment.MessageListFragment;
|
||||
import org.nuclearfog.twidda.adapter.MessageAdapter;
|
||||
import org.nuclearfog.twidda.backend.ErrorHandler;
|
||||
import org.nuclearfog.twidda.backend.TwitterEngine;
|
||||
import org.nuclearfog.twidda.backend.items.Message;
|
||||
import org.nuclearfog.twidda.database.DatabaseAdapter;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.List;
|
||||
import twitter4j.TwitterException;
|
||||
|
||||
|
||||
public class MessageLoader extends AsyncTask<Long, Void, Boolean> {
|
||||
|
||||
private WeakReference<MessageListFragment> ui;
|
||||
|
||||
public enum Mode {
|
||||
LOAD,
|
||||
DEL
|
||||
}
|
||||
private Mode mode;
|
||||
private WeakReference<ViewGroup> ui;
|
||||
private TwitterEngine mTwitter;
|
||||
private TwitterException err;
|
||||
private DatabaseAdapter db;
|
||||
private MessageAdapter adapter;
|
||||
private List<Message> messages;
|
||||
|
||||
|
||||
public MessageLoader(@NonNull MessageListFragment frag) {
|
||||
ui = new WeakReference<>(frag);
|
||||
public MessageLoader(@NonNull ViewGroup root, Mode mode) {
|
||||
ui = new WeakReference<>(root);
|
||||
RecyclerView rv = (RecyclerView) root.getChildAt(0);
|
||||
adapter = (MessageAdapter) rv.getAdapter();
|
||||
mTwitter = TwitterEngine.getInstance(root.getContext());
|
||||
db = new DatabaseAdapter(root.getContext());
|
||||
this.mode = mode;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected java.lang.Boolean doInBackground(java.lang.Long[] objects) {
|
||||
protected void onPreExecute() {
|
||||
if(ui.get() == null)
|
||||
return;
|
||||
|
||||
SwipeRefreshLayout reload = (SwipeRefreshLayout)ui.get();
|
||||
reload.setRefreshing(true);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected Boolean doInBackground(Long[] param) {
|
||||
long messageId = 0;
|
||||
try {
|
||||
switch(mode) {
|
||||
case LOAD:
|
||||
messages = mTwitter.getMessages();
|
||||
db.storeMessage(messages);
|
||||
break;
|
||||
|
||||
case DEL:
|
||||
messageId = param[0];
|
||||
mTwitter.deleteMessage(messageId);
|
||||
db.deleteDm(messageId);
|
||||
messages = db.getMessages();
|
||||
break;
|
||||
}
|
||||
} catch(TwitterException err) {
|
||||
if (err.getErrorCode() == 34) {
|
||||
db.deleteDm(messageId);
|
||||
} else {
|
||||
this.err = err;
|
||||
}
|
||||
return false;
|
||||
} catch(Exception err) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void onProgressUpdate(java.lang.Void[] v) {
|
||||
protected void onPostExecute(Boolean success) {
|
||||
if(ui.get() == null)
|
||||
return;
|
||||
|
||||
if(success) {
|
||||
adapter.setData(messages);
|
||||
adapter.notifyDataSetChanged();
|
||||
} else {
|
||||
if(err != null)
|
||||
ErrorHandler.printError(ui.get().getContext(), err);
|
||||
}
|
||||
SwipeRefreshLayout reload = (SwipeRefreshLayout)ui.get();
|
||||
reload.setRefreshing(false);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(java.lang.Boolean success) {
|
||||
|
||||
protected void onCancelled() {
|
||||
if(ui.get() == null)
|
||||
return;
|
||||
SwipeRefreshLayout reload = (SwipeRefreshLayout)ui.get();
|
||||
reload.setRefreshing(false);
|
||||
}
|
||||
}
|
|
@ -2,35 +2,107 @@ package org.nuclearfog.twidda.fragment.backend;
|
|||
|
||||
import android.os.AsyncTask;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v4.widget.SwipeRefreshLayout;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import org.nuclearfog.twidda.fragment.TrendListFragment;
|
||||
import org.nuclearfog.twidda.adapter.TrendAdapter;
|
||||
import org.nuclearfog.twidda.backend.ErrorHandler;
|
||||
import org.nuclearfog.twidda.backend.TwitterEngine;
|
||||
import org.nuclearfog.twidda.backend.items.Trend;
|
||||
import org.nuclearfog.twidda.database.DatabaseAdapter;
|
||||
import org.nuclearfog.twidda.database.GlobalSettings;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.List;
|
||||
|
||||
public class TrendLoader extends AsyncTask<Long, Void, Boolean> {
|
||||
|
||||
private WeakReference<TrendListFragment> ui;
|
||||
import twitter4j.TwitterException;
|
||||
|
||||
|
||||
public TrendLoader(@NonNull TrendListFragment frag) {
|
||||
ui = new WeakReference<>(frag);
|
||||
public class TrendLoader extends AsyncTask<Void, Void, Boolean> {
|
||||
|
||||
public enum Mode {
|
||||
DB_TRND,
|
||||
LD_TRND
|
||||
}
|
||||
private Mode mode;
|
||||
private WeakReference<ViewGroup> ui;
|
||||
private TwitterException err;
|
||||
private TwitterEngine mTwitter;
|
||||
private DatabaseAdapter db;
|
||||
private TrendAdapter adapter;
|
||||
private List<Trend> trends;
|
||||
private int woeId;
|
||||
|
||||
|
||||
public TrendLoader(@NonNull ViewGroup root, Mode mode) {
|
||||
ui = new WeakReference<>(root);
|
||||
mTwitter = TwitterEngine.getInstance(root.getContext());
|
||||
db = new DatabaseAdapter(root.getContext());
|
||||
GlobalSettings settings = GlobalSettings.getInstance(root.getContext());
|
||||
woeId = settings.getWoeId();
|
||||
RecyclerView list = (RecyclerView)root.getChildAt(0);
|
||||
adapter = (TrendAdapter) list.getAdapter();
|
||||
this.mode = mode;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected java.lang.Boolean doInBackground(java.lang.Long[] objects) {
|
||||
protected void onPreExecute() {
|
||||
if(ui.get() == null)
|
||||
return;
|
||||
SwipeRefreshLayout reload = (SwipeRefreshLayout)ui.get();
|
||||
reload.setRefreshing(true);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected Boolean doInBackground(Void[] v) {
|
||||
try {
|
||||
switch(mode) {
|
||||
case DB_TRND:
|
||||
trends = db.getTrends(woeId);
|
||||
if(!trends.isEmpty())
|
||||
break;
|
||||
|
||||
case LD_TRND:
|
||||
trends = mTwitter.getTrends(woeId);
|
||||
db.storeTrends(trends, woeId);
|
||||
break;
|
||||
}
|
||||
} catch(TwitterException err) {
|
||||
this.err = err;
|
||||
return false;
|
||||
} catch(Exception err) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void onProgressUpdate(java.lang.Void[] v) {
|
||||
protected void onPostExecute(Boolean success) {
|
||||
if(ui.get() == null)
|
||||
return;
|
||||
|
||||
if(success) {
|
||||
adapter.setData(trends);
|
||||
adapter.notifyDataSetChanged();
|
||||
} else {
|
||||
if(err != null)
|
||||
ErrorHandler.printError(ui.get().getContext(), err);
|
||||
}
|
||||
SwipeRefreshLayout reload = (SwipeRefreshLayout) ui.get();
|
||||
reload.setRefreshing(false);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(java.lang.Boolean success) {
|
||||
protected void onCancelled() {
|
||||
if(ui.get() == null)
|
||||
return;
|
||||
|
||||
SwipeRefreshLayout reload = (SwipeRefreshLayout) ui.get();
|
||||
reload.setRefreshing(false);
|
||||
}
|
||||
}
|
|
@ -2,35 +2,178 @@ package org.nuclearfog.twidda.fragment.backend;
|
|||
|
||||
import android.os.AsyncTask;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v4.widget.SwipeRefreshLayout;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import org.nuclearfog.twidda.adapter.TweetAdapter;
|
||||
import org.nuclearfog.twidda.backend.ErrorHandler;
|
||||
import org.nuclearfog.twidda.backend.TwitterEngine;
|
||||
import org.nuclearfog.twidda.backend.items.Tweet;
|
||||
import org.nuclearfog.twidda.database.DatabaseAdapter;
|
||||
import org.nuclearfog.twidda.database.GlobalSettings;
|
||||
|
||||
import org.nuclearfog.twidda.fragment.TweetListFragment;
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.List;
|
||||
|
||||
import twitter4j.TwitterException;
|
||||
|
||||
|
||||
public class TweetLoader extends AsyncTask<Long, Void, Boolean> {
|
||||
public class TweetLoader extends AsyncTask<Object, Void, Boolean> {
|
||||
|
||||
private WeakReference<TweetListFragment> ui;
|
||||
public enum Mode {
|
||||
TL_HOME, DB_HOME,
|
||||
TL_MENT, DB_MENT,
|
||||
USR_TWEETS, DB_TWEETS,
|
||||
USR_FAVORS, DB_FAVORS,
|
||||
TWEET_ANS, DB_ANS,
|
||||
TWEET_SEARCH
|
||||
}
|
||||
private Mode mode;
|
||||
private WeakReference<ViewGroup> ui;
|
||||
private TweetAdapter adapter;
|
||||
private TwitterEngine mTwitter;
|
||||
private GlobalSettings settings;
|
||||
private TwitterException err;
|
||||
private DatabaseAdapter db;
|
||||
private List<Tweet> tweets;
|
||||
|
||||
|
||||
public TweetLoader(@NonNull TweetListFragment frag) {
|
||||
ui = new WeakReference<>(frag);
|
||||
public TweetLoader(@NonNull ViewGroup root, Mode mode) {
|
||||
ui = new WeakReference<>(root);
|
||||
settings = GlobalSettings.getInstance(root.getContext());
|
||||
RecyclerView list = (RecyclerView)root.getChildAt(0);
|
||||
adapter = (TweetAdapter)list.getAdapter();
|
||||
mTwitter = TwitterEngine.getInstance(root.getContext());
|
||||
db = new DatabaseAdapter(root.getContext());
|
||||
this.mode = mode;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected Boolean doInBackground(Long[] objects) {
|
||||
protected void onPreExecute() {
|
||||
if(ui.get() == null)
|
||||
return;
|
||||
|
||||
SwipeRefreshLayout reload = (SwipeRefreshLayout)ui.get();
|
||||
reload.setRefreshing(true);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected Boolean doInBackground(Object[] param) {
|
||||
long sinceId = 1;
|
||||
try {
|
||||
switch(mode) {
|
||||
case DB_HOME:
|
||||
tweets = db.getHomeTimeline();
|
||||
if(!tweets.isEmpty())
|
||||
break;
|
||||
|
||||
case TL_HOME:
|
||||
if (adapter.getItemCount() > 0)
|
||||
sinceId = adapter.getItemId(0);
|
||||
tweets = mTwitter.getHome(1, sinceId);
|
||||
db.storeHomeTimeline(tweets);
|
||||
tweets.addAll(adapter.getData());
|
||||
break;
|
||||
|
||||
case DB_MENT:
|
||||
tweets = db.getMentions();
|
||||
if(!tweets.isEmpty())
|
||||
break;
|
||||
|
||||
case TL_MENT:
|
||||
if (adapter.getItemCount() > 0)
|
||||
sinceId = adapter.getItemId(0);
|
||||
tweets = mTwitter.getMention(1, sinceId);
|
||||
tweets.addAll(adapter.getData());
|
||||
db.storeMentions(tweets);
|
||||
publishProgress();
|
||||
break;
|
||||
|
||||
|
||||
case DB_TWEETS:
|
||||
tweets = db.getUserTweets((long)param[0]);
|
||||
if(!tweets.isEmpty())
|
||||
break;
|
||||
|
||||
case USR_TWEETS:
|
||||
if (adapter.getItemCount() > 0)
|
||||
sinceId = adapter.getItemId(0);
|
||||
tweets = mTwitter.getUserTweets((long)param[0], sinceId, 1);
|
||||
db.storeUserTweets(tweets);
|
||||
tweets.addAll(adapter.getData());
|
||||
break;
|
||||
|
||||
case DB_FAVORS:
|
||||
tweets = db.getUserFavs((long)param[0]);
|
||||
if(!tweets.isEmpty())
|
||||
break;
|
||||
|
||||
case USR_FAVORS:
|
||||
if (adapter.getItemCount() > 0)
|
||||
sinceId = adapter.getItemId(0);
|
||||
tweets = mTwitter.getUserFavs((long)param[0], sinceId, 1);
|
||||
db.storeUserFavs(tweets, (long)param[0]);
|
||||
tweets.addAll(adapter.getData());
|
||||
break;
|
||||
|
||||
case DB_ANS:
|
||||
tweets = db.getAnswers((long)param[0]);
|
||||
if(tweets.isEmpty() || !settings.getAnswerLoad())
|
||||
break;
|
||||
|
||||
case TWEET_ANS:
|
||||
if (adapter.getItemCount() > 0)
|
||||
sinceId = adapter.getItemId(0);
|
||||
tweets = mTwitter.getAnswers((String)param[1], (long)param[0], sinceId);
|
||||
if (!tweets.isEmpty() && db.containStatus((long)param[0]))
|
||||
db.storeReplies(tweets);
|
||||
tweets.addAll(adapter.getData());
|
||||
break;
|
||||
|
||||
case TWEET_SEARCH:
|
||||
if (adapter.getItemCount() > 0)
|
||||
sinceId = adapter.getItemId(0);
|
||||
tweets = mTwitter.searchTweets((String)param[0], sinceId);
|
||||
break;
|
||||
}
|
||||
} catch(TwitterException err) {
|
||||
this.err = err;
|
||||
return false;
|
||||
}
|
||||
catch(Exception err) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void onProgressUpdate(Void[] v) {
|
||||
protected void onPostExecute(Boolean success) {
|
||||
if(ui.get() == null)
|
||||
return;
|
||||
|
||||
if(success) {
|
||||
int range = tweets.size();
|
||||
adapter.setData(tweets);
|
||||
adapter.notifyItemRangeChanged(0, range);
|
||||
} else {
|
||||
if(err != null)
|
||||
ErrorHandler.printError(ui.get().getContext(), err);
|
||||
}
|
||||
|
||||
SwipeRefreshLayout reload = (SwipeRefreshLayout)ui.get();
|
||||
reload.setRefreshing(false);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(Boolean success) {
|
||||
|
||||
protected void onCancelled() {
|
||||
if(ui.get() == null)
|
||||
return;
|
||||
SwipeRefreshLayout reload = (SwipeRefreshLayout)ui.get();
|
||||
reload.setRefreshing(false);
|
||||
}
|
||||
}
|
|
@ -2,35 +2,107 @@ package org.nuclearfog.twidda.fragment.backend;
|
|||
|
||||
import android.os.AsyncTask;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v4.widget.SwipeRefreshLayout;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import org.nuclearfog.twidda.fragment.UserListFragment;
|
||||
|
||||
import org.nuclearfog.twidda.adapter.UserAdapter;
|
||||
import org.nuclearfog.twidda.backend.ErrorHandler;
|
||||
import org.nuclearfog.twidda.backend.TwitterEngine;
|
||||
import org.nuclearfog.twidda.backend.items.TwitterUser;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.List;
|
||||
|
||||
import twitter4j.TwitterException;
|
||||
|
||||
public class UserLoader extends AsyncTask<Long, Void, Boolean> {
|
||||
|
||||
private WeakReference<UserListFragment> ui;
|
||||
public enum Mode {
|
||||
FOLLOWS,
|
||||
FRIENDS,
|
||||
RETWEET,
|
||||
FAVORIT
|
||||
}
|
||||
private Mode mode;
|
||||
private WeakReference<ViewGroup> ui;
|
||||
private TwitterEngine mTwitter;
|
||||
private TwitterException err;
|
||||
private UserAdapter adapter;
|
||||
private List<TwitterUser> users;
|
||||
|
||||
|
||||
public UserLoader(@NonNull UserListFragment frag) {
|
||||
ui = new WeakReference<>(frag);
|
||||
public UserLoader(@NonNull ViewGroup root) {
|
||||
ui = new WeakReference<>(root);
|
||||
mTwitter = TwitterEngine.getInstance(root.getContext());
|
||||
RecyclerView list = (RecyclerView)root.getChildAt(0);
|
||||
adapter = (UserAdapter) list.getAdapter();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected java.lang.Boolean doInBackground(java.lang.Long[] objects) {
|
||||
protected void onPreExecute() {
|
||||
if(ui.get() == null)
|
||||
return;
|
||||
|
||||
SwipeRefreshLayout reload = (SwipeRefreshLayout)ui.get();
|
||||
reload.setRefreshing(true);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected Boolean doInBackground(Long[] param) {
|
||||
try {
|
||||
switch(mode) {
|
||||
case FOLLOWS:
|
||||
users = mTwitter.getFollower(param[0], -1);
|
||||
break;
|
||||
|
||||
case FRIENDS:
|
||||
users = mTwitter.getFollowing(param[0], -1);
|
||||
break;
|
||||
|
||||
case RETWEET:
|
||||
users = mTwitter.getRetweeter(param[0], -1);
|
||||
break;
|
||||
|
||||
case FAVORIT:
|
||||
break;
|
||||
}
|
||||
} catch(TwitterException err) {
|
||||
this.err = err;
|
||||
return false;
|
||||
} catch(Exception err) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void onProgressUpdate(java.lang.Void[] v) {
|
||||
protected void onPostExecute(Boolean success) {
|
||||
if(ui.get() == null)
|
||||
return;
|
||||
|
||||
if(success) {
|
||||
adapter.setData(users);
|
||||
adapter.notifyDataSetChanged();
|
||||
} else {
|
||||
if(err != null)
|
||||
ErrorHandler.printError(ui.get().getContext(), err);
|
||||
}
|
||||
SwipeRefreshLayout reload = (SwipeRefreshLayout) ui.get();
|
||||
reload.setRefreshing(false);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(java.lang.Boolean success) {
|
||||
protected void onCancelled() {
|
||||
if(ui.get() == null)
|
||||
return;
|
||||
|
||||
SwipeRefreshLayout reload = (SwipeRefreshLayout) ui.get();
|
||||
reload.setRefreshing(false);
|
||||
}
|
||||
}
|
|
@ -21,7 +21,7 @@ import android.widget.TabHost.OnTabChangeListener;
|
|||
import org.nuclearfog.twidda.BuildConfig;
|
||||
import org.nuclearfog.twidda.R;
|
||||
import org.nuclearfog.twidda.adapter.OnItemClickListener;
|
||||
import org.nuclearfog.twidda.adapter.TimelineAdapter;
|
||||
import org.nuclearfog.twidda.adapter.TweetAdapter;
|
||||
import org.nuclearfog.twidda.adapter.UserAdapter;
|
||||
import org.nuclearfog.twidda.backend.TwitterSearch;
|
||||
import org.nuclearfog.twidda.backend.items.Tweet;
|
||||
|
@ -39,7 +39,7 @@ public class SearchPage extends AppCompatActivity implements OnRefreshListener,
|
|||
OnTabChangeListener, OnItemClickListener {
|
||||
|
||||
private RecyclerView tweetSearch, userSearch;
|
||||
private TimelineAdapter searchAdapter;
|
||||
private TweetAdapter searchAdapter;
|
||||
private UserAdapter userAdapter;
|
||||
private SwipeRefreshLayout tweetReload;
|
||||
private GlobalSettings settings;
|
||||
|
@ -106,7 +106,7 @@ public class SearchPage extends AppCompatActivity implements OnRefreshListener,
|
|||
protected void onStart() {
|
||||
super.onStart();
|
||||
if (searchAsync == null) {
|
||||
searchAdapter = new TimelineAdapter(this);
|
||||
searchAdapter = new TweetAdapter(this);
|
||||
searchAdapter.setColor(settings.getHighlightColor(), settings.getFontColor());
|
||||
searchAdapter.toggleImage(settings.getImageLoad());
|
||||
tweetSearch.setAdapter(searchAdapter);
|
||||
|
|
|
@ -28,7 +28,7 @@ import org.nuclearfog.twidda.BuildConfig;
|
|||
import org.nuclearfog.twidda.MainActivity;
|
||||
import org.nuclearfog.twidda.R;
|
||||
import org.nuclearfog.twidda.adapter.OnItemClickListener;
|
||||
import org.nuclearfog.twidda.adapter.TimelineAdapter;
|
||||
import org.nuclearfog.twidda.adapter.TweetAdapter;
|
||||
import org.nuclearfog.twidda.backend.StatusLoader;
|
||||
import org.nuclearfog.twidda.backend.items.Tweet;
|
||||
import org.nuclearfog.twidda.database.GlobalSettings;
|
||||
|
@ -55,7 +55,7 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener,
|
|||
private static final int TWEET = 2;
|
||||
|
||||
private RecyclerView answer_list;
|
||||
private TimelineAdapter answerAdapter;
|
||||
private TweetAdapter answerAdapter;
|
||||
private StatusLoader statusAsync;
|
||||
private GlobalSettings settings;
|
||||
private SwipeRefreshLayout answerReload;
|
||||
|
@ -120,7 +120,7 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener,
|
|||
protected void onStart() {
|
||||
super.onStart();
|
||||
if (statusAsync == null) {
|
||||
answerAdapter = new TimelineAdapter(this);
|
||||
answerAdapter = new TweetAdapter(this);
|
||||
answerAdapter.toggleImage(settings.getImageLoad());
|
||||
answerAdapter.setColor(settings.getHighlightColor(), settings.getFontColor());
|
||||
answer_list.setAdapter(answerAdapter);
|
||||
|
@ -278,7 +278,7 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener,
|
|||
}
|
||||
|
||||
|
||||
public void imageClick(String mediaLinks[]) {
|
||||
public void imageClick(String[] mediaLinks) {
|
||||
Intent image = new Intent(this, ImageDetail.class);
|
||||
image.putExtra("link", mediaLinks);
|
||||
image.putExtra("storable", true);
|
||||
|
|
|
@ -25,7 +25,7 @@ import org.nuclearfog.tag.Tagger.OnTagClickListener;
|
|||
import org.nuclearfog.twidda.BuildConfig;
|
||||
import org.nuclearfog.twidda.R;
|
||||
import org.nuclearfog.twidda.adapter.OnItemClickListener;
|
||||
import org.nuclearfog.twidda.adapter.TimelineAdapter;
|
||||
import org.nuclearfog.twidda.adapter.TweetAdapter;
|
||||
import org.nuclearfog.twidda.backend.ProfileLoader;
|
||||
import org.nuclearfog.twidda.backend.items.Tweet;
|
||||
import org.nuclearfog.twidda.database.GlobalSettings;
|
||||
|
@ -48,7 +48,7 @@ public class UserProfile extends AppCompatActivity implements OnRefreshListener,
|
|||
private ProfileLoader profileAsync;
|
||||
private GlobalSettings settings;
|
||||
private RecyclerView homeList, favoriteList;
|
||||
private TimelineAdapter tweetAdapter, favAdapter;
|
||||
private TweetAdapter tweetAdapter, favAdapter;
|
||||
private SwipeRefreshLayout homeReload, favoriteReload;
|
||||
private View lastTab, tweetUnderline, favorUnderline;
|
||||
private TextView tweetCount, favorCount;
|
||||
|
@ -131,12 +131,12 @@ public class UserProfile extends AppCompatActivity implements OnRefreshListener,
|
|||
protected void onStart() {
|
||||
super.onStart();
|
||||
if (profileAsync == null) {
|
||||
tweetAdapter = new TimelineAdapter(this);
|
||||
tweetAdapter = new TweetAdapter(this);
|
||||
tweetAdapter.setColor(settings.getHighlightColor(), settings.getFontColor());
|
||||
tweetAdapter.toggleImage(settings.getImageLoad());
|
||||
homeList.setAdapter(tweetAdapter);
|
||||
|
||||
favAdapter = new TimelineAdapter(this);
|
||||
favAdapter = new TweetAdapter(this);
|
||||
favAdapter.setColor(settings.getHighlightColor(), settings.getFontColor());
|
||||
favAdapter.toggleImage(settings.getImageLoad());
|
||||
favoriteList.setAdapter(favAdapter);
|
||||
|
|
Loading…
Reference in New Issue