Cleanup, bugfix
This commit is contained in:
parent
069fd694c3
commit
fb71d5e1a0
|
@ -24,7 +24,7 @@
|
|||
</value>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" project-jdk-name="9.0" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||
</component>
|
||||
<component name="ProjectType">
|
||||
|
|
|
@ -54,9 +54,24 @@ public class MainPage extends AsyncTask<Integer, Void, Integer> {
|
|||
image = settings.getBoolean("image_load", true);
|
||||
|
||||
RecyclerView timelineList = ui.get().findViewById(R.id.tl_list);
|
||||
RecyclerView trendList = ui.get().findViewById(R.id.tr_list);
|
||||
RecyclerView mentionList = ui.get().findViewById(R.id.m_list);
|
||||
timelineAdapter = (TimelineRecycler) timelineList.getAdapter();
|
||||
trendsAdapter = (TrendRecycler) trendList.getAdapter();
|
||||
mentionAdapter = (TimelineRecycler) mentionList.getAdapter();
|
||||
|
||||
if(timelineAdapter == null) {
|
||||
timelineAdapter = new TimelineRecycler(ui.get());
|
||||
timelineList.setAdapter(timelineAdapter);
|
||||
}
|
||||
if(trendsAdapter == null) {
|
||||
trendsAdapter = new TrendRecycler(ui.get());
|
||||
trendList.setAdapter(trendsAdapter);
|
||||
}
|
||||
if(mentionAdapter == null) {
|
||||
mentionAdapter = new TimelineRecycler(ui.get());
|
||||
mentionList.setAdapter(mentionAdapter);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -75,7 +90,7 @@ public class MainPage extends AsyncTask<Integer, Void, Integer> {
|
|||
switch (MODE) {
|
||||
case HOME:
|
||||
|
||||
if(timelineAdapter != null && timelineAdapter.getItemCount() > 0) {
|
||||
if(timelineAdapter.getItemCount() > 0) {
|
||||
id = timelineAdapter.getItemId(0);
|
||||
tweets = mTwitter.getHome(page,id);
|
||||
tweetDb.store(tweets, DatabaseAdapter.HOME,-1L);
|
||||
|
@ -84,35 +99,38 @@ public class MainPage extends AsyncTask<Integer, Void, Integer> {
|
|||
tweets = mTwitter.getHome(page,id);
|
||||
tweetDb.store(tweets, DatabaseAdapter.HOME,-1L);
|
||||
}
|
||||
timelineAdapter = new TimelineRecycler(tweets, ui.get());
|
||||
timelineAdapter.setData(tweets);
|
||||
timelineAdapter.setColor(highlight, font);
|
||||
timelineAdapter.toggleImage(image);
|
||||
break;
|
||||
|
||||
case H_LOAD:
|
||||
|
||||
DatabaseAdapter tweetDeck = new DatabaseAdapter(ui.get());
|
||||
tweets = tweetDeck.load(DatabaseAdapter.HOME, -1L);
|
||||
timelineAdapter = new TimelineRecycler(tweets, ui.get());
|
||||
timelineAdapter.setData(tweets);
|
||||
timelineAdapter.setColor(highlight, font);
|
||||
timelineAdapter.toggleImage(image);
|
||||
break;
|
||||
|
||||
case TRND:
|
||||
|
||||
List<Trend> trends = mTwitter.getTrends(woeid);
|
||||
trendDb.store(trends);
|
||||
|
||||
trendsAdapter = new TrendRecycler(trends, ui.get());
|
||||
trendsAdapter.setData(trends);
|
||||
trendsAdapter.setColor(font);
|
||||
break;
|
||||
|
||||
case T_LOAD:
|
||||
trendsAdapter = new TrendRecycler(trendDb.load(), ui.get());
|
||||
|
||||
trendsAdapter.setData(trendDb.load());
|
||||
trendsAdapter.setColor(font);
|
||||
break;
|
||||
|
||||
case MENT:
|
||||
|
||||
List<Tweet> mention;
|
||||
if(mentionAdapter != null && mentionAdapter.getItemCount() != 0) {
|
||||
if(mentionAdapter.getItemCount() != 0) {
|
||||
id = mentionAdapter.getItemId(0);
|
||||
mention = mTwitter.getMention(page,id);
|
||||
tweetDb.store(mention, DatabaseAdapter.MENT,-1L);
|
||||
|
@ -121,23 +139,26 @@ public class MainPage extends AsyncTask<Integer, Void, Integer> {
|
|||
mention = mTwitter.getMention(page,id);
|
||||
tweetDb.store(mention, DatabaseAdapter.MENT,-1L);
|
||||
}
|
||||
mentionAdapter = new TimelineRecycler(mention, ui.get());
|
||||
mentionAdapter.setData(mention);
|
||||
mentionAdapter.setColor(highlight, font);
|
||||
mentionAdapter.toggleImage(image);
|
||||
break;
|
||||
|
||||
case M_LOAD:
|
||||
|
||||
DatabaseAdapter mentDeck = new DatabaseAdapter(ui.get());
|
||||
tweets = mentDeck.load(DatabaseAdapter.MENT,-1L);
|
||||
mentionAdapter = new TimelineRecycler(tweets, ui.get());
|
||||
mention = mentDeck.load(DatabaseAdapter.MENT,-1L);
|
||||
mentionAdapter.setData(mention);
|
||||
mentionAdapter.setColor(highlight, font);
|
||||
mentionAdapter.toggleImage(image);
|
||||
break;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
errMsg = e.getMessage();
|
||||
ErrorLog errorLog = new ErrorLog(ui.get());
|
||||
errorLog.add(errMsg);
|
||||
if(ui.get() != null) {
|
||||
ErrorLog errorLog = new ErrorLog(ui.get());
|
||||
errorLog.add(errMsg);
|
||||
}
|
||||
return FAIL;
|
||||
}
|
||||
return MODE;
|
||||
|
@ -151,26 +172,24 @@ public class MainPage extends AsyncTask<Integer, Void, Integer> {
|
|||
SwipeRefreshLayout timelineRefresh = connect.findViewById(R.id.timeline);
|
||||
SwipeRefreshLayout trendRefresh = connect.findViewById(R.id.trends);
|
||||
SwipeRefreshLayout mentionRefresh = connect.findViewById(R.id.mention);
|
||||
RecyclerView timelineList = ui.get().findViewById(R.id.tl_list);
|
||||
RecyclerView mentionList = ui.get().findViewById(R.id.m_list);
|
||||
RecyclerView trendList = ui.get().findViewById(R.id.tr_list);
|
||||
|
||||
|
||||
switch(MODE) {
|
||||
case HOME:
|
||||
case H_LOAD:
|
||||
timelineList.setAdapter(timelineAdapter);
|
||||
timelineAdapter.notifyDataSetChanged();
|
||||
timelineRefresh.setRefreshing(false);
|
||||
break;
|
||||
|
||||
case TRND:
|
||||
case T_LOAD:
|
||||
trendList.setAdapter(trendsAdapter);
|
||||
trendsAdapter.notifyDataSetChanged();
|
||||
trendRefresh.setRefreshing(false);
|
||||
break;
|
||||
|
||||
case MENT:
|
||||
case M_LOAD:
|
||||
mentionList.setAdapter(mentionAdapter);
|
||||
mentionAdapter.notifyDataSetChanged();
|
||||
mentionRefresh.setRefreshing(false);
|
||||
break;
|
||||
|
||||
|
|
|
@ -71,6 +71,15 @@ public class ProfileLoader extends AsyncTask<Long,Void,Long> {
|
|||
RecyclerView profileFavorits = ui.get().findViewById(R.id.hf_list);
|
||||
homeTl = (TimelineRecycler) profileTweets.getAdapter();
|
||||
homeFav = (TimelineRecycler) profileFavorits.getAdapter();
|
||||
|
||||
if(homeTl == null) {
|
||||
homeTl = new TimelineRecycler(ui.get());
|
||||
profileTweets.setAdapter(homeTl);
|
||||
}
|
||||
if(homeFav == null) {
|
||||
homeFav = new TimelineRecycler(ui.get());
|
||||
profileFavorits.setAdapter(homeFav);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -119,19 +128,19 @@ public class ProfileLoader extends AsyncTask<Long,Void,Long> {
|
|||
DatabaseAdapter tweetDb = new DatabaseAdapter(ui.get());
|
||||
List<Tweet> tweets;
|
||||
|
||||
if(homeTl != null && homeTl.getItemCount() > 0) {
|
||||
if(homeTl.getItemCount() > 0) {
|
||||
id = homeTl.getItemId(0);
|
||||
tweets = mTwitter.getUserTweets(userId,args[2],id);
|
||||
tweetDb.store(tweets, DatabaseAdapter.TWEET, userId);
|
||||
tweets.addAll(homeTl.getData());
|
||||
} else {
|
||||
tweets = new DatabaseAdapter(ui.get()).load(DatabaseAdapter.TWEET,userId);
|
||||
tweets = tweetDb.load(DatabaseAdapter.TWEET,userId);
|
||||
if(tweets.size() < 10) {
|
||||
tweets = mTwitter.getUserTweets(userId,args[2],id);
|
||||
tweetDb.store(tweets, DatabaseAdapter.TWEET, userId);
|
||||
}
|
||||
}
|
||||
homeTl = new TimelineRecycler(tweets,ui.get());
|
||||
homeTl.setData(tweets);
|
||||
homeTl.setColor(highlight,font);
|
||||
homeTl.toggleImage(imgEnabled);
|
||||
}
|
||||
|
@ -139,37 +148,30 @@ public class ProfileLoader extends AsyncTask<Long,Void,Long> {
|
|||
{
|
||||
DatabaseAdapter tweetDb = new DatabaseAdapter(ui.get());
|
||||
List<Tweet> favorits;
|
||||
if(homeFav != null && homeFav.getItemCount() > 0) {
|
||||
|
||||
if(homeFav.getItemCount() > 0) {
|
||||
id = homeFav.getItemId(0);
|
||||
favorits = mTwitter.getUserFavs(userId,args[2],id);
|
||||
tweetDb.store(favorits, DatabaseAdapter.FAVT, userId);
|
||||
favorits.addAll(homeFav.getData());
|
||||
} else {
|
||||
favorits = new DatabaseAdapter(ui.get()).load(DatabaseAdapter.FAVT,userId);
|
||||
favorits = tweetDb.load(DatabaseAdapter.FAVT,userId);
|
||||
if(favorits.size() < 10) {
|
||||
favorits = mTwitter.getUserFavs(userId,args[2],id);
|
||||
tweetDb.store(favorits, DatabaseAdapter.FAVT, userId);
|
||||
}
|
||||
}
|
||||
homeFav = new TimelineRecycler(favorits,ui.get());
|
||||
homeFav.setData(favorits);
|
||||
homeFav.setColor(highlight,font);
|
||||
homeFav.toggleImage(imgEnabled);
|
||||
}
|
||||
else if(MODE == ACTION_FOLLOW)
|
||||
{
|
||||
if(isFollowing) {
|
||||
isFollowing = mTwitter.toggleFollow(userId);
|
||||
} else {
|
||||
isFollowing = mTwitter.toggleFollow(userId);
|
||||
}
|
||||
isFollowing = mTwitter.toggleFollow(userId);
|
||||
}
|
||||
else if(MODE == ACTION_MUTE)
|
||||
{
|
||||
if(muted) {
|
||||
muted = mTwitter.toggleBlock(userId);
|
||||
} else {
|
||||
muted = mTwitter.toggleBlock(userId);
|
||||
}
|
||||
muted = mTwitter.toggleBlock(userId);
|
||||
}
|
||||
} catch (TwitterException err) {
|
||||
int errCode = err.getErrorCode();
|
||||
|
@ -245,18 +247,32 @@ public class ProfileLoader extends AsyncTask<Long,Void,Long> {
|
|||
}
|
||||
else if(mode == GET_TWEETS)
|
||||
{
|
||||
RecyclerView profileTweets = ui.get().findViewById(R.id.ht_list);
|
||||
profileTweets.setAdapter(homeTl);
|
||||
homeTl.notifyDataSetChanged();
|
||||
SwipeRefreshLayout tweetsReload = connect.findViewById(R.id.hometweets);
|
||||
tweetsReload.setRefreshing(false);
|
||||
}
|
||||
else if(mode == GET_FAVS)
|
||||
{
|
||||
RecyclerView profileFavorits = ui.get().findViewById(R.id.hf_list);
|
||||
profileFavorits.setAdapter(homeFav);
|
||||
homeFav.notifyDataSetChanged();
|
||||
SwipeRefreshLayout favoritsReload = connect.findViewById(R.id.homefavorits);
|
||||
favoritsReload.setRefreshing(false);
|
||||
}
|
||||
else if(mode == ACTION_FOLLOW) {
|
||||
String text;
|
||||
if(isFollowing)
|
||||
text = "gefolgt!";
|
||||
else
|
||||
text = "entfolgt!";
|
||||
Toast.makeText(ui.get(),text,Toast.LENGTH_LONG).show();
|
||||
}
|
||||
else if(mode == ACTION_MUTE) {
|
||||
String text;
|
||||
if(muted)
|
||||
text = "gesperrt!";
|
||||
else
|
||||
text = "entsperrt!";
|
||||
Toast.makeText(ui.get(),text,Toast.LENGTH_LONG).show();
|
||||
}
|
||||
else if(mode == FAILURE)
|
||||
{
|
||||
Toast.makeText(connect,"Fehler: "+errMsg,Toast.LENGTH_LONG).show();
|
||||
|
|
|
@ -72,6 +72,10 @@ public class StatusLoader extends AsyncTask<Long, Void, Long> implements View.On
|
|||
ui = new WeakReference<>((TweetDetail)c);
|
||||
RecyclerView replyList = ui.get().findViewById(R.id.answer_list);
|
||||
tlAdp = (TimelineRecycler) replyList.getAdapter();
|
||||
if(tlAdp == null) {
|
||||
tlAdp = new TimelineRecycler(ui.get());
|
||||
replyList.setAdapter(tlAdp);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -89,17 +93,17 @@ public class StatusLoader extends AsyncTask<Long, Void, Long> implements View.On
|
|||
tweet = dbAdp.getStatus(tweetID);
|
||||
if(tweet == null)
|
||||
return IGNORE;
|
||||
|
||||
List<Tweet> answers = dbAdp.load(DatabaseAdapter.ANS, tweetID);
|
||||
tlAdp = new TimelineRecycler(answers,ui.get());
|
||||
tlAdp.setColor(highlight, font);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
tweet = mTwitter.getStatus(tweetID);
|
||||
if(MODE == LOAD_TWEET) {
|
||||
new DatabaseAdapter(ui.get()).storeStatus(tweet);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(tweet.embedded != null) {
|
||||
retweeter = tweet.user.screenname;
|
||||
retweeterID = tweet.user.userID;
|
||||
|
@ -153,14 +157,14 @@ public class StatusLoader extends AsyncTask<Long, Void, Long> implements View.On
|
|||
List<Tweet> answers;
|
||||
DatabaseAdapter twdb = new DatabaseAdapter(ui.get());
|
||||
String replyname = tweet.user.screenname;
|
||||
if(tlAdp != null && tlAdp.getItemCount() > 0) {
|
||||
if(tlAdp.getItemCount() > 0) {
|
||||
long sinceId = tlAdp.getItemId(0);
|
||||
answers = mTwitter.getAnswers(replyname, tweetID, sinceId);
|
||||
answers.addAll(tlAdp.getData());
|
||||
} else {
|
||||
answers = mTwitter.getAnswers(replyname, tweetID, tweetID);
|
||||
}
|
||||
tlAdp = new TimelineRecycler(answers,ui.get());
|
||||
tlAdp.setData(answers);
|
||||
tlAdp.setColor(highlight, font);
|
||||
twdb.store(answers,DatabaseAdapter.TWEET,-1L);
|
||||
}
|
||||
|
@ -201,6 +205,7 @@ public class StatusLoader extends AsyncTask<Long, Void, Long> implements View.On
|
|||
TextView used_api = connect.findViewById(R.id.used_api);
|
||||
TextView txtRet = connect.findViewById(R.id.no_rt_detail);
|
||||
TextView txtFav = connect.findViewById(R.id.no_fav_detail);
|
||||
TextView txtAns = connect.findViewById(R.id.no_ans_detail);
|
||||
ImageView profile_img = connect.findViewById(R.id.profileimage_detail);
|
||||
|
||||
tweet.setMovementMethod(LinkMovementMethod.getInstance());
|
||||
|
@ -211,14 +216,10 @@ public class StatusLoader extends AsyncTask<Long, Void, Long> implements View.On
|
|||
used_api.setText(apiName);
|
||||
String favStr = Integer.toString(fav);
|
||||
String rtStr = Integer.toString(rt);
|
||||
String ansStr = Integer.toString(tlAdp.getItemCount());
|
||||
txtFav.setText(favStr);
|
||||
txtRet.setText(rtStr);
|
||||
|
||||
if(tlAdp != null) {
|
||||
String ansStr = Integer.toString(tlAdp.getItemCount());
|
||||
TextView txtAns = connect.findViewById(R.id.no_ans_detail);
|
||||
txtAns.setText(ansStr);
|
||||
}
|
||||
txtAns.setText(ansStr);
|
||||
|
||||
if(repliedUsername != null) {
|
||||
String reply = "antwort @"+repliedUsername;
|
||||
|
@ -274,6 +275,7 @@ public class StatusLoader extends AsyncTask<Long, Void, Long> implements View.On
|
|||
ansReload.setRefreshing(false);
|
||||
String ansStr = Integer.toString(tlAdp.getItemCount());
|
||||
TextView txtAns = connect.findViewById(R.id.no_ans_detail);
|
||||
tlAdp.notifyDataSetChanged();
|
||||
txtAns.setText(ansStr);
|
||||
}
|
||||
else if(mode == DELETE) {
|
||||
|
|
|
@ -38,7 +38,7 @@ import twitter4j.conf.ConfigurationBuilder;
|
|||
public class TwitterEngine {
|
||||
|
||||
private final String TWITTER_CONSUMER_KEY = "0EKRHWYcakpCkl8Lr4OcBFMZb";
|
||||
private final String TWITTER_CONSUMER_SECRET = "insert your own key";
|
||||
private final String TWITTER_CONSUMER_SECRET = "GET YOUR OWN KEY";
|
||||
|
||||
private static TwitterEngine mTwitter;
|
||||
private static long twitterID = -1L;
|
||||
|
@ -288,7 +288,7 @@ public class TwitterEngine {
|
|||
* @throws TwitterException if Access is unavailable
|
||||
*/
|
||||
public boolean toggleFollow(long id) throws TwitterException {
|
||||
if(getConnection(id)[1]) {
|
||||
if(getConnection(id)[0]) {
|
||||
twitter.destroyFriendship(id);
|
||||
return false;
|
||||
} else {
|
||||
|
@ -559,8 +559,9 @@ public class TwitterEngine {
|
|||
String medialinks[] = new String[mediaEntities.length];
|
||||
byte i = 0;
|
||||
for(MediaEntity media : mediaEntities) {
|
||||
medialinks[i++] = media.getMediaURL();
|
||||
medialinks[i++] = media.getMediaURLHttps();
|
||||
}
|
||||
|
||||
return medialinks;
|
||||
}
|
||||
|
||||
|
|
|
@ -21,8 +21,8 @@ import java.util.List;
|
|||
|
||||
public class TwitterSearch extends AsyncTask<String, Void, Void> {
|
||||
|
||||
private TimelineRecycler tlRc;
|
||||
private UserRecycler uAdp;
|
||||
private TimelineRecycler searchAdapter;
|
||||
private UserRecycler userAdapter;
|
||||
private TwitterEngine mTwitter;
|
||||
private WeakReference<SearchPage> ui;
|
||||
private int highlight, font_color;
|
||||
|
@ -40,8 +40,17 @@ public class TwitterSearch extends AsyncTask<String, Void, Void> {
|
|||
|
||||
RecyclerView tweetSearch = ui.get().findViewById(R.id.tweet_result);
|
||||
RecyclerView userSearch = ui.get().findViewById(R.id.user_result);
|
||||
tlRc = (TimelineRecycler) tweetSearch.getAdapter();
|
||||
uAdp = (UserRecycler) userSearch.getAdapter();
|
||||
searchAdapter = (TimelineRecycler) tweetSearch.getAdapter();
|
||||
userAdapter = (UserRecycler) userSearch.getAdapter();
|
||||
|
||||
if(searchAdapter == null) {
|
||||
searchAdapter = new TimelineRecycler(ui.get());
|
||||
tweetSearch.setAdapter(searchAdapter);
|
||||
}
|
||||
if(userAdapter == null) {
|
||||
userAdapter = new UserRecycler(ui.get());
|
||||
userSearch.setAdapter(userAdapter);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -50,23 +59,23 @@ public class TwitterSearch extends AsyncTask<String, Void, Void> {
|
|||
String strSearch = search[0];
|
||||
long id = 1L;
|
||||
try {
|
||||
if(tlRc != null && tlRc.getItemCount() > 0) {
|
||||
id = tlRc.getItemId(0);
|
||||
if(searchAdapter.getItemCount() > 0) {
|
||||
id = searchAdapter.getItemId(0);
|
||||
List<Tweet> tweets = mTwitter.searchTweets(strSearch,id);
|
||||
tweets.addAll(tlRc.getData());
|
||||
tlRc = new TimelineRecycler(tweets,ui.get());
|
||||
tweets.addAll(searchAdapter.getData());
|
||||
searchAdapter.setData(tweets);
|
||||
} else {
|
||||
List<Tweet> tweets = mTwitter.searchTweets(strSearch,id);
|
||||
tlRc = new TimelineRecycler(tweets,ui.get());
|
||||
searchAdapter.setData(tweets);
|
||||
}
|
||||
if(uAdp == null ||uAdp.getItemCount() == 0) {
|
||||
if(userAdapter.getItemCount() == 0) {
|
||||
List<TwitterUser> user = mTwitter.searchUsers(strSearch);
|
||||
uAdp = new UserRecycler(user, ui.get());
|
||||
userAdapter.setData(user);
|
||||
}
|
||||
|
||||
tlRc.setColor(highlight,font_color);
|
||||
tlRc.toggleImage(imageload);
|
||||
uAdp.toggleImage(imageload);
|
||||
searchAdapter.setColor(highlight,font_color);
|
||||
searchAdapter.toggleImage(imageload);
|
||||
userAdapter.toggleImage(imageload);
|
||||
|
||||
} catch(Exception err) {
|
||||
error = err.getMessage();
|
||||
|
@ -88,10 +97,8 @@ public class TwitterSearch extends AsyncTask<String, Void, Void> {
|
|||
SwipeRefreshLayout tweetReload = connect.findViewById(R.id.searchtweets);
|
||||
View circleLoad = connect.findViewById(R.id.search_progress);
|
||||
circleLoad.setVisibility(View.INVISIBLE);
|
||||
RecyclerView tweetSearch = ui.get().findViewById(R.id.tweet_result);
|
||||
RecyclerView userSearch = ui.get().findViewById(R.id.user_result);
|
||||
tweetSearch.setAdapter(tlRc);
|
||||
userSearch.setAdapter(uAdp);
|
||||
searchAdapter.notifyDataSetChanged();
|
||||
userAdapter.notifyDataSetChanged();
|
||||
tweetReload.setRefreshing(false);
|
||||
}
|
||||
}
|
|
@ -5,7 +5,6 @@ import android.content.SharedPreferences;
|
|||
import android.os.AsyncTask;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.View;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.Toast;
|
||||
|
||||
import org.nuclearfog.twidda.R;
|
||||
|
@ -30,18 +29,19 @@ public class UserLists extends AsyncTask <Long, Void, Void> {
|
|||
private String errmsg;
|
||||
private boolean imageload;
|
||||
|
||||
|
||||
/**
|
||||
*@see UserDetail
|
||||
*/
|
||||
public UserLists(Context context) {
|
||||
SharedPreferences settings = context.getSharedPreferences("settings", 0);
|
||||
imageload = settings.getBoolean("image_load",true);
|
||||
|
||||
ui = new WeakReference<>((UserDetail)context);
|
||||
mTwitter = TwitterEngine.getInstance(context);
|
||||
RecyclerView userList = ui.get().findViewById(R.id.userlist);
|
||||
usrAdp = (UserRecycler) userList.getAdapter();
|
||||
|
||||
SharedPreferences settings = context.getSharedPreferences("settings", 0);
|
||||
imageload = settings.getBoolean("image_load",true);
|
||||
usrAdp = new UserRecycler(ui.get());
|
||||
userList.setAdapter(usrAdp);
|
||||
}
|
||||
|
||||
|
||||
|
@ -51,18 +51,18 @@ public class UserLists extends AsyncTask <Long, Void, Void> {
|
|||
long mode = data[1];
|
||||
long cursor = data[2];
|
||||
try {
|
||||
|
||||
List<TwitterUser> user;
|
||||
if(mode == FOLLOWING) {
|
||||
List<TwitterUser> user = mTwitter.getFollowing(id,cursor);
|
||||
usrAdp = new UserRecycler(user,ui.get());
|
||||
user = mTwitter.getFollowing(id,cursor);
|
||||
usrAdp.setData(user);
|
||||
}
|
||||
else if(mode == FOLLOWERS) {
|
||||
List<TwitterUser> user = mTwitter.getFollower(id,cursor);
|
||||
usrAdp = new UserRecycler(user,ui.get());
|
||||
user = mTwitter.getFollower(id,cursor);
|
||||
usrAdp.setData(user);
|
||||
}
|
||||
else if(mode == RETWEETER) {
|
||||
List<TwitterUser> user = mTwitter.getRetweeter(id,cursor);
|
||||
usrAdp = new UserRecycler(user,ui.get());
|
||||
user = mTwitter.getRetweeter(id,cursor);
|
||||
usrAdp.setData(user);
|
||||
}
|
||||
usrAdp.toggleImage(imageload);
|
||||
}
|
||||
|
@ -80,12 +80,11 @@ public class UserLists extends AsyncTask <Long, Void, Void> {
|
|||
if(ui.get() == null)
|
||||
return;
|
||||
|
||||
ProgressBar mProgress = ui.get().findViewById(R.id.userlist_progress);
|
||||
View mProgress = ui.get().findViewById(R.id.userlist_progress);
|
||||
mProgress.setVisibility(View.INVISIBLE);
|
||||
|
||||
if(errmsg == null) {
|
||||
RecyclerView userList = ui.get().findViewById(R.id.userlist);
|
||||
userList.setAdapter(usrAdp);
|
||||
usrAdp.notifyDataSetChanged();
|
||||
}
|
||||
else {
|
||||
Toast.makeText(ui.get(),errmsg,Toast.LENGTH_LONG).show();
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package org.nuclearfog.twidda.viewadapter;
|
||||
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
|
@ -21,14 +22,16 @@ public class LogAdapter extends RecyclerView.Adapter<LogAdapter.ItemHolder> {
|
|||
@Override
|
||||
public int getItemCount(){return messages.size();}
|
||||
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public LogAdapter.ItemHolder onCreateViewHolder(ViewGroup parent, int index) {
|
||||
public LogAdapter.ItemHolder onCreateViewHolder(@NonNull ViewGroup parent, int index) {
|
||||
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_error, parent,false);
|
||||
return new ItemHolder(v);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(LogAdapter.ItemHolder vh, int index) {
|
||||
public void onBindViewHolder(@NonNull ItemHolder vh, int index) {
|
||||
vh.message.setText(messages.get(index));
|
||||
vh.message.setTextColor(0xffff0000);
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package org.nuclearfog.twidda.viewadapter;
|
||||
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.support.v7.widget.RecyclerView.Adapter;
|
||||
import android.support.v7.widget.RecyclerView.ViewHolder;
|
||||
|
@ -18,6 +19,7 @@ import org.nuclearfog.twidda.R;
|
|||
import org.nuclearfog.twidda.backend.listitems.Tweet;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
@ -31,6 +33,11 @@ public class TimelineRecycler extends Adapter<TimelineRecycler.ItemHolder> imple
|
|||
private boolean img_ldr = true;
|
||||
|
||||
|
||||
public TimelineRecycler(OnItemClicked mListener) {
|
||||
tweets = new ArrayList<>();
|
||||
this.mListener = mListener;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mListener Item Click Listener
|
||||
*/
|
||||
|
@ -55,6 +62,11 @@ public class TimelineRecycler extends Adapter<TimelineRecycler.ItemHolder> imple
|
|||
}
|
||||
|
||||
|
||||
public void setData(List<Tweet> tweets) {
|
||||
this.tweets = tweets;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public int getItemCount(){
|
||||
return tweets.size();
|
||||
|
@ -67,8 +79,9 @@ public class TimelineRecycler extends Adapter<TimelineRecycler.ItemHolder> imple
|
|||
}
|
||||
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public ItemHolder onCreateViewHolder(ViewGroup parent, int viewtype) {
|
||||
public ItemHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewtype) {
|
||||
this.parent = parent;
|
||||
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_tweet, parent,false);
|
||||
v.setOnClickListener(this);
|
||||
|
@ -78,7 +91,7 @@ public class TimelineRecycler extends Adapter<TimelineRecycler.ItemHolder> imple
|
|||
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(ItemHolder vh, int index) {
|
||||
public void onBindViewHolder(@NonNull ItemHolder vh, int index) {
|
||||
Tweet tweet = tweets.get(index);
|
||||
String retweet = Integer.toString(tweet.retweet);
|
||||
String favorit = Integer.toString(tweet.favorit);
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package org.nuclearfog.twidda.viewadapter;
|
||||
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.support.v7.widget.RecyclerView.ViewHolder;
|
||||
import android.view.LayoutInflater;
|
||||
|
@ -10,6 +11,7 @@ import android.widget.TextView;
|
|||
import org.nuclearfog.twidda.R;
|
||||
import org.nuclearfog.twidda.backend.listitems.Trend;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class TrendRecycler extends RecyclerView.Adapter<TrendRecycler.ItemHolder>
|
||||
|
@ -20,6 +22,13 @@ public class TrendRecycler extends RecyclerView.Adapter<TrendRecycler.ItemHolder
|
|||
private OnItemClicked mListener;
|
||||
private int font_color = 0xFFFFFFFF;
|
||||
|
||||
|
||||
public TrendRecycler(OnItemClicked mListener) {
|
||||
trendList = new ArrayList<>();
|
||||
this.mListener = mListener;
|
||||
}
|
||||
|
||||
|
||||
public TrendRecycler(List<Trend> trendList, OnItemClicked mListener) {
|
||||
this.mListener = mListener;
|
||||
this.trendList = trendList;
|
||||
|
@ -31,6 +40,11 @@ public class TrendRecycler extends RecyclerView.Adapter<TrendRecycler.ItemHolder
|
|||
}
|
||||
|
||||
|
||||
public void setData(List<Trend> trendList) {
|
||||
this.trendList = trendList;
|
||||
}
|
||||
|
||||
|
||||
public List<Trend> getData(){return trendList;}
|
||||
|
||||
|
||||
|
@ -40,8 +54,9 @@ public class TrendRecycler extends RecyclerView.Adapter<TrendRecycler.ItemHolder
|
|||
}
|
||||
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public ItemHolder onCreateViewHolder(ViewGroup parent, int index) {
|
||||
public ItemHolder onCreateViewHolder(@NonNull ViewGroup parent, int index) {
|
||||
this.parent = parent;
|
||||
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_trend, parent,false);
|
||||
v.setOnClickListener(this);
|
||||
|
@ -50,7 +65,7 @@ public class TrendRecycler extends RecyclerView.Adapter<TrendRecycler.ItemHolder
|
|||
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(ItemHolder vh, int index) {
|
||||
public void onBindViewHolder(@NonNull ItemHolder vh, int index) {
|
||||
String posStr = Integer.toString(trendList.get(index).position)+'.';
|
||||
vh.trends.setText(trendList.get(index).trend);
|
||||
vh.pos.setText(posStr);
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package org.nuclearfog.twidda.viewadapter;
|
||||
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.support.v7.widget.RecyclerView.ViewHolder;
|
||||
import android.view.LayoutInflater;
|
||||
|
@ -13,6 +14,7 @@ import com.squareup.picasso.Picasso;
|
|||
import org.nuclearfog.twidda.R;
|
||||
import org.nuclearfog.twidda.backend.listitems.TwitterUser;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class UserRecycler extends RecyclerView.Adapter<UserRecycler.ItemHolder> implements View.OnClickListener {
|
||||
|
@ -22,12 +24,24 @@ public class UserRecycler extends RecyclerView.Adapter<UserRecycler.ItemHolder>
|
|||
private ViewGroup parent;
|
||||
private boolean loadImage = true;
|
||||
|
||||
|
||||
public UserRecycler(OnItemClicked mListener) {
|
||||
mUser = new ArrayList<>();
|
||||
this.mListener = mListener;
|
||||
}
|
||||
|
||||
|
||||
public UserRecycler(List<TwitterUser> mUser, OnItemClicked mListener) {
|
||||
this.mListener = mListener;
|
||||
this.mUser = mUser;
|
||||
}
|
||||
|
||||
|
||||
public void setData(List<TwitterUser> mUser) {
|
||||
this.mUser = mUser;
|
||||
}
|
||||
|
||||
|
||||
public List<TwitterUser> getData(){return mUser; }
|
||||
|
||||
|
||||
|
@ -48,8 +62,9 @@ public class UserRecycler extends RecyclerView.Adapter<UserRecycler.ItemHolder>
|
|||
}
|
||||
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public ItemHolder onCreateViewHolder(ViewGroup parent, int index) {
|
||||
public ItemHolder onCreateViewHolder(@NonNull ViewGroup parent, int index) {
|
||||
this.parent = parent;
|
||||
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_user, parent,false);
|
||||
v.setOnClickListener(this);
|
||||
|
@ -58,7 +73,7 @@ public class UserRecycler extends RecyclerView.Adapter<UserRecycler.ItemHolder>
|
|||
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(ItemHolder vh, int index) {
|
||||
public void onBindViewHolder(@NonNull ItemHolder vh, int index) {
|
||||
TwitterUser user = mUser.get(index);
|
||||
vh.screenname.setText(user.screenname);
|
||||
vh.username.setText(user.username);
|
||||
|
|
|
@ -125,12 +125,15 @@ public class UserProfile extends AppCompatActivity implements View.OnClickListen
|
|||
intent.putExtras(extra);
|
||||
startActivity(intent);
|
||||
return true;
|
||||
|
||||
case R.id.profile_follow:
|
||||
mProfile.execute(userId, ProfileLoader.ACTION_FOLLOW);
|
||||
return true;
|
||||
|
||||
case R.id.profile_block:
|
||||
mProfile.execute(userId, ProfileLoader.ACTION_MUTE);
|
||||
return true;
|
||||
|
||||
default: return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -227,8 +227,7 @@
|
|||
<android.support.v7.widget.RecyclerView
|
||||
android:id="@+id/answer_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:nestedScrollingEnabled="true" />
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
</android.support.v4.widget.SwipeRefreshLayout>
|
||||
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="horizontal">
|
||||
|
||||
</LinearLayout>
|
Loading…
Reference in New Issue