reformat project

This commit is contained in:
NudeDude 2018-10-21 18:44:20 +02:00
parent 6ab2c57e3c
commit 5e53678fb2
18 changed files with 545 additions and 225 deletions

View File

@ -289,17 +289,17 @@ public class MainActivity extends AppCompatActivity implements OnRefreshListener
if (parent.getId() == R.id.tl_list) {
if (timelineAdapter != null && !timelineReload.isRefreshing()) {
Tweet tweet = timelineAdapter.getData().get(position);
if (tweet.embedded != null)
tweet = tweet.embedded;
if (tweet.getEmbeddedTweet() != null)
tweet = tweet.getEmbeddedTweet();
Intent intent = new Intent(this, TweetDetail.class);
intent.putExtra("tweetID", tweet.tweetID);
intent.putExtra("userID", tweet.user.userID);
intent.putExtra("username", tweet.user.screenname);
intent.putExtra("tweetID", tweet.getId());
intent.putExtra("userID", tweet.getUser().getId());
intent.putExtra("username", tweet.getUser().getScreenname());
startActivityForResult(intent, TWEET);
}
} else if (parent.getId() == R.id.tr_list) {
if (trendsAdapter != null && !trendReload.isRefreshing()) {
String search = trendsAdapter.getData().get(position).trend;
String search = trendsAdapter.getData().get(position).getName();
Intent intent = new Intent(this, SearchPage.class);
if (!search.startsWith("#"))
search = '\"' + search + '\"';
@ -309,12 +309,12 @@ public class MainActivity extends AppCompatActivity implements OnRefreshListener
} else if (parent.getId() == R.id.m_list) {
if (mentionAdapter != null && !mentionReload.isRefreshing()) {
Tweet tweet = mentionAdapter.getData().get(position);
if (tweet.embedded != null)
tweet = tweet.embedded;
if (tweet.getEmbeddedTweet() != null)
tweet = tweet.getEmbeddedTweet();
Intent intent = new Intent(this, TweetDetail.class);
intent.putExtra("tweetID", tweet.tweetID);
intent.putExtra("userID", tweet.user.userID);
intent.putExtra("username", tweet.user.screenname);
intent.putExtra("tweetID", tweet.getId());
intent.putExtra("userID", tweet.getUser().getId());
intent.putExtra("username", tweet.getUser().getScreenname());
startActivityForResult(intent, TWEET);
}
}

View File

@ -64,7 +64,7 @@ public class MessageAdapter extends RecyclerView.Adapter<MessageAdapter.MessageH
@Override
public long getItemId(int pos) {
return messages.get(pos).messageId;
return messages.get(pos).getId();
}
@ -102,20 +102,22 @@ public class MessageAdapter extends RecyclerView.Adapter<MessageAdapter.MessageH
@Override
public void onBindViewHolder(@NonNull MessageHolder vh, int index) {
Message message = messages.get(index);
Spanned text = Tagger.makeText(message.message, highlight, mListener);
Spanned text = Tagger.makeText(message.getText(), highlight, mListener);
vh.message.setMovementMethod(LinkMovementMethod.getInstance());
vh.message.setText(text);
vh.username.setText(message.sender.username);
vh.screenname.setText(message.sender.screenname);
vh.createdAt.setText(stringTime(message.time));
vh.username.setText(message.getSender().getUsername());
vh.screenname.setText(message.getSender().getScreenname());
vh.createdAt.setText(stringTime(message.getTime()));
vh.message.setTextColor(fontColor);
vh.username.setTextColor(fontColor);
vh.screenname.setTextColor(fontColor);
vh.createdAt.setTextColor(fontColor);
if (loadImage)
Picasso.get().load(message.sender.profileImg + "_mini").into(vh.profile_img);
if (loadImage) {
String link = message.getSender().getImageLink() + "_mini";
Picasso.get().load(link).into(vh.profile_img);
}
}

View File

@ -64,7 +64,7 @@ public class TimelineAdapter extends Adapter<TimelineAdapter.ItemHolder> {
@Override
public long getItemId(int pos) {
return tweets.get(pos).tweetID;
return tweets.get(pos).getId();
}
@ -93,22 +93,22 @@ public class TimelineAdapter extends Adapter<TimelineAdapter.ItemHolder> {
@Override
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);
if (tweet.embedded != null) {
String retweeter = "RT " + tweet.user.screenname;
String retweet = Integer.toString(tweet.getRetweetCount());
String favorit = Integer.toString(tweet.getFavorCount());
if (tweet.getEmbeddedTweet() != null) {
String retweeter = "RT " + tweet.getUser().getScreenname();
vh.retweeter.setText(retweeter);
tweet = tweet.embedded;
tweet = tweet.getEmbeddedTweet();
} else {
vh.retweeter.setText("");
}
Spanned text = Tagger.makeText(tweet.tweet, highlight);
vh.username.setText(tweet.user.username);
vh.screenname.setText(tweet.user.screenname);
Spanned text = Tagger.makeText(tweet.getText(), highlight);
vh.username.setText(tweet.getUser().getUsername());
vh.screenname.setText(tweet.getUser().getScreenname());
vh.tweet.setText(text);
vh.retweet.setText(retweet);
vh.favorite.setText(favorit);
vh.time.setText(stringTime(tweet.time));
vh.time.setText(stringTime(tweet.getTime()));
vh.username.setTextColor(font_color);
vh.screenname.setTextColor(font_color);
@ -116,9 +116,9 @@ public class TimelineAdapter extends Adapter<TimelineAdapter.ItemHolder> {
vh.time.setTextColor(font_color);
if (img_ldr) {
Picasso.get().load(tweet.user.profileImg + "_mini").into(vh.profile);
Picasso.get().load(tweet.getUser().getImageLink() + "_mini").into(vh.profile);
}
if (tweet.user.isVerified) {
if (tweet.getUser().isVerified()) {
vh.verify.setVisibility(View.VISIBLE);
} else {
vh.verify.setVisibility(View.GONE);

View File

@ -68,8 +68,9 @@ public class TrendAdapter extends Adapter<TrendAdapter.ItemHolder> {
@Override
public void onBindViewHolder(@NonNull ItemHolder vh, int index) {
String posStr = Integer.toString(trendList.get(index).position) + '.';
vh.trends.setText(trendList.get(index).trend);
Trend trend = trendList.get(index);
String posStr = Integer.toString(trend.getPosition()) + '.';
vh.trends.setText(trend.getName());
vh.pos.setText(posStr);
vh.trends.setTextColor(font_color);
vh.pos.setTextColor(font_color);

View File

@ -61,7 +61,7 @@ public class UserAdapter extends Adapter<UserAdapter.ItemHolder> {
@Override
public long getItemId(int pos) {
return mUser.get(pos).userID;
return mUser.get(pos).getId();
}
@ -84,22 +84,22 @@ public class UserAdapter extends Adapter<UserAdapter.ItemHolder> {
@Override
public void onBindViewHolder(@NonNull ItemHolder vh, int index) {
TwitterUser user = mUser.get(index);
vh.screenname.setText(user.screenname);
vh.username.setText(user.username);
vh.screenname.setText(user.getScreenname());
vh.username.setText(user.getUsername());
vh.screenname.setTextColor(font_color);
vh.username.setTextColor(font_color);
if (loadImage) {
Picasso.get().load(user.profileImg + "_mini").into(vh.profileImg);
Picasso.get().load(user.getImageLink() + "_mini").into(vh.profileImg);
}
if (user.isVerified) {
if (user.isVerified()) {
vh.verifyIco.setVisibility(View.VISIBLE);
} else {
vh.verifyIco.setVisibility(View.GONE);
}
if (user.isLocked) {
if (user.isLocked()) {
vh.lockIco.setVisibility(View.VISIBLE);
} else {
vh.lockIco.setVisibility(View.GONE);

View File

@ -142,7 +142,7 @@ public class ProfileLoader extends AsyncTask<Long, Long, Long> {
mTwitter.muteAction(UID, isMuted);
publishProgress(GET_USER);
} else {
if (!user.isLocked || isFollowing) {
if (!user.isLocked() || isFollowing) {
if ((MODE == GET_TWEETS || homeTl.getItemCount() == 0)) {
if (homeTl.getItemCount() > 0)
sinceId = homeTl.getItemId(0);
@ -195,14 +195,14 @@ public class ProfileLoader extends AsyncTask<Long, Long, Long> {
View link_ico = ui.get().findViewById(R.id.links_ico);
View date_ico = ui.get().findViewById(R.id.date_ico);
String follower = Integer.toString(user.follower);
String following = Integer.toString(user.following);
String date = sdf.format(new Date(user.created));
Spanned bio = Tagger.makeText(user.bio, highlight, ui.get());
String follower = Integer.toString(user.getFollower());
String following = Integer.toString(user.getFollowing());
String date = sdf.format(new Date(user.getCreatedAt()));
Spanned bio = Tagger.makeText(user.getBio(), highlight, ui.get());
txtBio.setMovementMethod(LinkMovementMethod.getInstance());
txtBio.setText(bio);
txtUser.setText(user.username);
txtScrName.setText(user.screenname);
txtUser.setText(user.getUsername());
txtScrName.setText(user.getScreenname());
txtFollower.setText(follower);
txtFollowing.setText(following);
txtCreated.setText(date);
@ -211,31 +211,32 @@ public class ProfileLoader extends AsyncTask<Long, Long, Long> {
following_ico.setVisibility(View.VISIBLE);
date_ico.setVisibility(View.VISIBLE);
if (user.location != null && !user.location.isEmpty()) {
txtLocation.setText(user.location);
if (user.getLocation() != null && !user.getLocation().isEmpty()) {
txtLocation.setText(user.getLocation());
location_ico.setVisibility(View.VISIBLE);
}
if (user.link != null && !user.link.isEmpty()) {
txtLink.setText(user.link);
if (user.getLink() != null && !user.getLink().isEmpty()) {
txtLink.setText(user.getLink());
link_ico.setVisibility(View.VISIBLE);
}
if (user.isVerified) {
if (user.isVerified()) {
ui.get().findViewById(R.id.profile_verify).setVisibility(View.VISIBLE);
}
if (isFollowed) {
ui.get().findViewById(R.id.followback).setVisibility(View.VISIBLE);
}
if (imgEnabled) {
Picasso.get().load(user.profileImg + "_bigger").into(profile);
String link = user.getImageLink() + "_bigger";
Picasso.get().load(link).into(profile);
}
if (user.isLocked) {
if (user.isLocked()) {
ui.get().findViewById(R.id.profile_locked).setVisibility(View.VISIBLE);
} else {
txtFollowing.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent following = new Intent(ui.get(), UserDetail.class);
following.putExtra("userID", user.userID);
following.putExtra("userID", user.getId());
following.putExtra("mode", 0);
ui.get().startActivity(following);
}
@ -244,7 +245,7 @@ public class ProfileLoader extends AsyncTask<Long, Long, Long> {
@Override
public void onClick(View v) {
Intent follower = new Intent(ui.get(), UserDetail.class);
follower.putExtra("userID", user.userID);
follower.putExtra("userID", user.getId());
follower.putExtra("mode", 1);
ui.get().startActivity(follower);
}
@ -253,7 +254,7 @@ public class ProfileLoader extends AsyncTask<Long, Long, Long> {
profile.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ui.get().imageClick(user.profileImg);
ui.get().imageClick(user.getImageLink());
}
});

View File

@ -85,7 +85,7 @@ public class StatusLoader extends AsyncTask<Long, Void, Long> {
tweet = mTwitter.getStatus(TWEETID);
if (answerAdapter.getItemCount() > 0)
sinceId = answerAdapter.getItemId(0);
answers = mTwitter.getAnswers(tweet.user.screenname, TWEETID, sinceId);
answers = mTwitter.getAnswers(tweet.getUser().getScreenname(), TWEETID, sinceId);
publishProgress();
if (database.containStatus(TWEETID)) {
@ -100,13 +100,13 @@ public class StatusLoader extends AsyncTask<Long, Void, Long> {
} else if (MODE == RETWEET) {
tweet = mTwitter.retweet(TWEETID);
if (!tweet.retweeted)
database.removeStatus(tweet.retweetId);
if (!tweet.retweeted())
database.removeStatus(tweet.getMyRetweetId());
publishProgress();
} else if (MODE == FAVORITE) {
tweet = mTwitter.favorite(TWEETID);
if (tweet.favorized)
if (tweet.favorized())
database.storeFavorite(TWEETID);
else
database.removeFavorite(TWEETID);
@ -150,64 +150,64 @@ public class StatusLoader extends AsyncTask<Long, Void, Long> {
View mediaButton = ui.get().findViewById(R.id.image_attach);
View tweet_verify = ui.get().findViewById(R.id.tweet_verify);
Spannable sTweet = Tagger.makeText(tweet.tweet, highlight, ui.get());
Spannable sTweet = Tagger.makeText(tweet.getText(), highlight, ui.get());
tweetText.setMovementMethod(LinkMovementMethod.getInstance());
tweetText.setText(sTweet);
tweetText.setTextColor(font_color);
username.setText(tweet.user.username);
username.setText(tweet.getUser().getUsername());
username.setTextColor(font_color);
scrName.setText(tweet.user.screenname);
scrName.setText(tweet.getUser().getScreenname());
scrName.setTextColor(font_color);
date.setText(sdf.format(tweet.time));
date.setText(sdf.format(tweet.getTime()));
date.setTextColor(font_color);
used_api.setText(R.string.sent_from);
used_api.append(tweet.source);
used_api.append(tweet.getSource());
used_api.setTextColor(font_color);
String ansStr = Integer.toString(answerAdapter.getItemCount() + answers.size());
String favStr = Integer.toString(tweet.favorit);
String rtStr = Integer.toString(tweet.retweet);
String favStr = Integer.toString(tweet.getFavorCount());
String rtStr = Integer.toString(tweet.getRetweetCount());
txtFav.setText(favStr);
txtRet.setText(rtStr);
txtAns.setText(ansStr);
if (tweet.replyID > 1) {
if (tweet.getReplyId() > 1) {
String reply = ui.get().getString(R.string.answering);
reply += tweet.replyName;
reply += tweet.getReplyName();
replyName.setText(reply);
replyName.setVisibility(View.VISIBLE);
replyName.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(ui.get(), TweetDetail.class);
intent.putExtra("tweetID", tweet.replyID);
intent.putExtra("userID", tweet.replyUserId);
intent.putExtra("username", tweet.replyName);
intent.putExtra("tweetID", tweet.getReplyId());
intent.putExtra("userID", tweet.getUser().getId());
intent.putExtra("username", tweet.getReplyName());
ui.get().startActivity(intent);
}
});
}
if (tweet.media != null && tweet.media.length != 0) {
if (tweet.getMediaLinks() != null && tweet.getMediaLinks().length != 0) {
mediaButton.setVisibility(View.VISIBLE);
mediaButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ui.get().imageClick(tweet.media);
ui.get().imageClick(tweet.getMediaLinks());
}
});
}
if (tweet.user.isVerified) {
if (tweet.getUser().isVerified()) {
tweet_verify.setVisibility(View.VISIBLE);
}
if (toggleImg) {
Picasso.get().load(tweet.user.profileImg + "_bigger").into(profile_img);
Picasso.get().load(tweet.getUser().getImageLink() + "_bigger").into(profile_img);
}
if (tweet.retweeted) {
if (tweet.retweeted()) {
retweetButton.setImageResource(R.drawable.retweet_enabled);
} else {
retweetButton.setImageResource(R.drawable.retweet);
}
if (tweet.favorized) {
if (tweet.favorized()) {
favoriteButton.setImageResource(R.drawable.favorite_enabled);
} else {
favoriteButton.setImageResource(R.drawable.favorite);

View File

@ -4,10 +4,10 @@ import android.content.Context;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import org.nuclearfog.twidda.backend.listitems.Message;
import org.nuclearfog.twidda.backend.listitems.Trend;
import org.nuclearfog.twidda.backend.listitems.Tweet;
import org.nuclearfog.twidda.backend.listitems.TwitterUser;
import org.nuclearfog.twidda.backend.items.Message;
import org.nuclearfog.twidda.backend.items.Trend;
import org.nuclearfog.twidda.backend.items.Tweet;
import org.nuclearfog.twidda.backend.items.TwitterUser;
import org.nuclearfog.twidda.database.GlobalSettings;
import java.io.File;
@ -204,7 +204,7 @@ public class TwitterEngine {
twitter4j.Trend trends[] = twitter.getPlaceTrends(woeId).getTrends();
for (int i = 0; i < trends.length; i++) {
Trend item = new Trend(i + 1, trends[i].getName(), trends[i].getURL());
Trend item = new Trend(i + 1, trends[i].getName());
result.add(item);
}
return result;
@ -453,18 +453,18 @@ public class TwitterEngine {
*/
public Tweet retweet(long tweetId) throws TwitterException {
Tweet tweet = getStatus(tweetId);
int retweet = tweet.retweet;
int retweet = tweet.getRetweetCount();
if (tweet.retweeted) {
deleteTweet(tweet.retweetId);
if (tweet.retweeted()) {
deleteTweet(tweet.getMyRetweetId());
retweet--;
} else {
twitter.retweetStatus(tweet.tweetID);
twitter.retweetStatus(tweet.getId());
retweet++;
}
return new Tweet(tweetId, retweet, tweet.favorit, tweet.user, tweet.tweet,
tweet.time, tweet.replyName, tweet.replyUserId, tweet.media, tweet.source,
tweet.replyID, tweet.embedded, tweet.retweetId, !tweet.retweeted, tweet.favorized);
return new Tweet(tweetId, retweet, tweet.getFavorCount(), tweet.getUser(), tweet.getText(),
tweet.getTime(), tweet.getReplyName(), tweet.getReplyUserId(), tweet.getMediaLinks(), tweet.getSource(),
tweet.getReplyId(), tweet.getEmbeddedTweet(), tweet.getMyRetweetId(), !tweet.retweeted(), tweet.favorized());
}
@ -476,17 +476,17 @@ public class TwitterEngine {
*/
public Tweet favorite(long tweetId) throws TwitterException {
Tweet tweet = getStatus(tweetId);
int favorite = tweet.favorit;
if (tweet.favorized) {
twitter.destroyFavorite(tweet.tweetID);
int favorite = tweet.getFavorCount();
if (tweet.favorized()) {
twitter.destroyFavorite(tweet.getId());
favorite--;
} else {
twitter.createFavorite(tweet.tweetID);
twitter.createFavorite(tweet.getId());
favorite++;
}
return new Tweet(tweetId, tweet.retweet, favorite, tweet.user, tweet.tweet,
tweet.time, tweet.replyName, tweet.replyUserId, tweet.media, tweet.source,
tweet.replyID, tweet.embedded, tweet.retweetId, tweet.retweeted, !tweet.favorized);
return new Tweet(tweetId, tweet.getRetweetCount(), favorite, tweet.getUser(), tweet.getText(),
tweet.getTime(), tweet.getReplyName(), tweet.getReplyUserId(), tweet.getMediaLinks(), tweet.getSource(),
tweet.getReplyId(), tweet.getEmbeddedTweet(), tweet.getMyRetweetId(), tweet.retweeted(), !tweet.favorized());
}
@ -508,9 +508,9 @@ public class TwitterEngine {
* @throws TwitterException if Access is unavailable
*/
public List<TwitterUser> getRetweeter(long tweetID, long cursor) throws TwitterException {
Tweet embeddedStat = getStatus(tweetID).embedded;
Tweet embeddedStat = getStatus(tweetID).getEmbeddedTweet();
if (embeddedStat != null)
tweetID = embeddedStat.tweetID;
tweetID = embeddedStat.getId();
long[] userIds = twitter.getRetweeterIds(tweetID, load, cursor).getIDs();
if (userIds.length == 0) {
return new ArrayList<>();
@ -630,8 +630,8 @@ public class TwitterEngine {
TwitterUser user = getUser(status.getUser());
int retweet, favorite;
if (retweetedStat != null) {
retweet = retweetedStat.retweet;
favorite = retweetedStat.favorit;
retweet = retweetedStat.getRetweetCount();
favorite = retweetedStat.getFavorCount();
} else {
retweet = status.getRetweetCount();
favorite = status.getFavoriteCount();
@ -653,7 +653,8 @@ public class TwitterEngine {
*/
private TwitterUser getUser(User user) {
String description = user.getDescription().replace('\n', ' ');
return new TwitterUser(user.getId(), user.getName(), user.getScreenName(),
String screenname = '@' + user.getScreenName();
return new TwitterUser(user.getId(), user.getName(), screenname,
user.getOriginalProfileImageURL(), description, user.getLocation(), user.isVerified(),
user.isProtected(), user.getURL(), user.getProfileBannerURL(), user.getCreatedAt().getTime(),
user.getFriendsCount(), user.getFollowersCount());

View File

@ -2,10 +2,10 @@ package org.nuclearfog.twidda.backend.items;
public class Message {
public final long messageId;
public final TwitterUser sender, receiver;
public final String message;
public final long time;
private final long messageId;
private final TwitterUser sender, receiver;
private final String message;
private final long time;
public Message(long messageId, TwitterUser sender, TwitterUser receiver, long time, String message) {
this.messageId = messageId;
@ -14,4 +14,49 @@ public class Message {
this.time = time;
this.message = message;
}
/**
* get message ID
*
* @return message ID
*/
public long getId() {
return messageId;
}
/**
* get sender of DM
*
* @return user
*/
public TwitterUser getSender() {
return sender;
}
/**
* get receiver of DM
*
* @return user
*/
public TwitterUser getReceiver() {
return receiver;
}
/**
* get Message content
*
* @return message
*/
public String getText() {
return message;
}
/**
* get time of DM
*
* @return raw time
*/
public long getTime() {
return time;
}
}

View File

@ -1,13 +1,31 @@
package org.nuclearfog.twidda.backend.items;
public class Trend {
public final String trend;
public final String link;
public final int position;
private final String trend;
private final int position;
public Trend(int position, String trend, String link) {
public Trend(int position, String trend) {
this.position = position;
this.trend = trend;
this.link = link;
}
}
/**
* get Trend name
*
* @return trend name
*/
public String getName() {
return trend;
}
/**
* get trend rank
*
* @return trend rank
*/
public int getPosition() {
return position;
}
}

View File

@ -3,21 +3,21 @@ package org.nuclearfog.twidda.backend.items;
import android.support.annotation.Nullable;
public class Tweet {
public final TwitterUser user; // Tweet Author
public final Tweet embedded; // Retweetet Tweet
public final long tweetID; // Unique Tweet ID
public final String tweet; // Tweet Text
public final String replyName; // Screenname of Answered User
public final String source; // Used Tweet API
public final long time; // Tweet Time in millisecond
public final long replyID; // Unique ID of Replied Tweet
public final long retweetId; // Unique ID of My retweet
public final long replyUserId; // ID of Replied User
public final int retweet; // Retweet Count
public final int favorit; // Favorite Count
public final String[] media; // Media Link container
public final boolean retweeted; // Retweeted by me
public final boolean favorized; // Favorited by me
private final TwitterUser user;
private final Tweet embedded;
private final long tweetID;
private final String tweet;
private final String replyName;
private final String source;
private final long time;
private final long replyID;
private final long retweetId;
private final long replyUserId;
private final int retweet;
private final int favorit;
private final String[] media;
private final boolean retweeted;
private final boolean favorized;
public Tweet(long tweetID, int retweet, int favorit, TwitterUser user, String tweet, long time,
@ -39,4 +39,141 @@ public class Tweet {
this.retweetId = retweetId;
this.replyUserId = replyUserId;
}
/**
* Tweet ID
*
* @return tweetID
*/
public long getId() {
return tweetID;
}
/**
* Tweet Content
*
* @return tweet text
*/
public String getText() {
return tweet;
}
/**
* get author
*
* @return tweet owner
*/
public TwitterUser getUser() {
return user;
}
/**
* get time
*
* @return raw time
*/
public long getTime() {
return time;
}
/**
* get used tweet api
*
* @return api name
*/
public String getSource() {
return source;
}
/**
* get embedded Tweet
*
* @return tweet
*/
@Nullable
public Tweet getEmbeddedTweet() {
return embedded;
}
/**
* name of replied user
*
* @return username
*/
public String getReplyName() {
return replyName;
}
/**
* ID of replied user
*
* @return user Id
*/
public long getReplyUserId() {
return replyUserId;
}
/**
* ID of replied tweet
*
* @return tweet id
*/
public long getReplyId() {
return replyID;
}
/**
* ID of my retweet
*
* @return tweet ID
*/
public long getMyRetweetId() {
return retweetId;
}
/**
* get number of retweets
*
* @return retweet count
*/
public int getRetweetCount() {
return retweet;
}
/**
* get number of favors
*
* @return favor count
*/
public int getFavorCount() {
return favorit;
}
/**
* get media links of tweet
*
* @return media links array
*/
public String[] getMediaLinks() {
return media;
}
/**
* is tweet retweeted by me
*
* @return retweet status
*/
public boolean retweeted() {
return retweeted;
}
/**
* is tweet favored by me
*
* @return favor status
*/
public boolean favorized() {
return favorized;
}
}

View File

@ -1,19 +1,19 @@
package org.nuclearfog.twidda.backend.items;
public class TwitterUser {
public final String username;
public final String screenname;
public final String bio;
public final String profileImg;
public final String bannerImg;
public final String location;
public final String link;
public final boolean isVerified;
public final boolean isLocked;
public final long userID; // Unique User ID
public final long created; // User since
public final int following; // Following count
public final int follower; // Follower count
private final String username;
private final String screenname;
private final String bio;
private final String profileImg;
private final String bannerImg;
private final String location;
private final String link;
private final boolean isVerified;
private final boolean isLocked;
private final long userID;
private final long created;
private final int following;
private final int follower;
public TwitterUser(long userID, String username, String screenname, String profileImg,
String bio, String location, boolean isVerified, boolean isLocked, String link,
@ -32,4 +32,121 @@ public class TwitterUser {
this.following = following;
this.follower = follower;
}
/**
* get user id
*
* @return id
*/
public long getId() {
return userID;
}
/**
* get User name
*
* @return username
*/
public String getUsername() {
return username;
}
/**
* get @screenname
*
* @return screen name
*/
public String getScreenname() {
return screenname;
}
/**
* get date of creation
*
* @return raw time
*/
public long getCreatedAt() {
return created;
}
/**
* get Profile image link
*
* @return link
*/
public String getImageLink() {
return profileImg;
}
/**
* get banner image link
*
* @return link
*/
public String getBannerLink() {
return bannerImg;
}
/**
* get user bio
*
* @return bio text
*/
public String getBio() {
return bio;
}
/**
* get location name
*
* @return name
*/
public String getLocation() {
return location;
}
/**
* get link
*
* @return link
*/
public String getLink() {
return link;
}
/**
* user verified
*
* @return if verified
*/
public boolean isVerified() {
return isVerified;
}
/**
* user locked
*
* @return if locked
*/
public boolean isLocked() {
return isLocked;
}
/**
* get following count
*
* @return following
*/
public int getFollowing() {
return following;
}
/**
* get follower count
*
* @return follower count
*/
public int getFollower() {
return follower;
}
}

View File

@ -105,7 +105,7 @@ public class DatabaseAdapter {
for (Tweet tweet : fav) {
storeStatus(tweet, 0, db);
ContentValues favTable = new ContentValues();
favTable.put("tweetID", tweet.tweetID);
favTable.put("tweetID", tweet.getId());
favTable.put("ownerID", ownerId);
db.insertWithOnConflict("favorit", null, favTable, CONFLICT_IGNORE);
}
@ -343,22 +343,22 @@ public class DatabaseAdapter {
public void updateStatus(Tweet tweet) {
SQLiteDatabase db = getDbWrite();
ContentValues status = new ContentValues();
int register = getStatRegister(db, tweet.tweetID);
if (tweet.retweeted)
int register = getStatRegister(db, tweet.getId());
if (tweet.retweeted())
register |= retweetedMask;
else
register &= ~retweetedMask;
if (tweet.favorized)
if (tweet.favorized())
register |= favoritedMask;
else
register &= ~favoritedMask;
status.put("retweet", tweet.retweet);
status.put("favorite", tweet.favorit);
status.put("retweet", tweet.getRetweetCount());
status.put("favorite", tweet.getFavorCount());
status.put("statusregister", register);
db.beginTransaction();
db.update("tweet", status, "tweet.tweetID=" + tweet.tweetID, null);
db.update("tweet", status, "tweet.tweetID=" + tweet.getId(), null);
commit(db);
}
@ -422,9 +422,7 @@ public class DatabaseAdapter {
int position = cursor.getInt(index);
index = cursor.getColumnIndex("trendname");
String name = cursor.getString(index);
index = cursor.getColumnIndex("trendlink");
String link = cursor.getString(index);
trends.add(new Trend(position, name, link));
trends.add(new Trend(position, name));
} while (cursor.moveToNext());
}
cursor.close();
@ -572,83 +570,83 @@ public class DatabaseAdapter {
private void storeUser(TwitterUser user, SQLiteDatabase db) {
ContentValues userColumn = new ContentValues();
int userRegister = 0;
if (user.isVerified)
if (user.isVerified())
userRegister |= verifiedMask;
if (user.isLocked)
if (user.isLocked())
userRegister |= lockedMask;
userColumn.put("userID", user.userID);
userColumn.put("username", user.username);
userColumn.put("scrname", user.screenname.substring(1));
userColumn.put("pbLink", user.profileImg);
userColumn.put("userID", user.getId());
userColumn.put("username", user.getUsername());
userColumn.put("scrname", user.getScreenname());
userColumn.put("pbLink", user.getUsername());
userColumn.put("userregister", userRegister);
userColumn.put("bio", user.bio);
userColumn.put("link", user.link);
userColumn.put("location", user.location);
userColumn.put("banner", user.bannerImg);
userColumn.put("createdAt", user.created);
userColumn.put("following", user.following);
userColumn.put("follower", user.follower);
userColumn.put("bio", user.getBio());
userColumn.put("link", user.getLink());
userColumn.put("location", user.getLocation());
userColumn.put("banner", user.getBannerLink());
userColumn.put("createdAt", user.getCreatedAt());
userColumn.put("following", user.getFollowing());
userColumn.put("follower", user.getFollower());
db.insertWithOnConflict("user", null, userColumn, CONFLICT_REPLACE);
}
private void storeStatus(Tweet tweet, int newStatusRegister, SQLiteDatabase db) {
ContentValues status = new ContentValues();
TwitterUser user = tweet.user;
Tweet rtStat = tweet.embedded;
TwitterUser user = tweet.getUser();
Tweet rtStat = tweet.getEmbeddedTweet();
long rtId = 1L;
if (rtStat != null) {
storeStatus(rtStat, 0, db);
rtId = rtStat.tweetID;
rtId = rtStat.getId();
}
ContentValues userColumn = new ContentValues();
int userRegister = 0;
if (user.isVerified)
if (user.isVerified())
userRegister |= verifiedMask;
if (user.isLocked)
if (user.isLocked())
userRegister |= lockedMask;
userColumn.put("userID", user.userID);
userColumn.put("username", user.username);
userColumn.put("scrname", user.screenname.substring(1));
userColumn.put("pbLink", user.profileImg);
userColumn.put("userID", user.getId());
userColumn.put("username", user.getUsername());
userColumn.put("scrname", user.getScreenname());
userColumn.put("pbLink", user.getImageLink());
userColumn.put("userregister", userRegister);
userColumn.put("bio", user.bio);
userColumn.put("link", user.link);
userColumn.put("location", user.location);
userColumn.put("banner", user.bannerImg);
userColumn.put("createdAt", user.created);
userColumn.put("following", user.following);
userColumn.put("follower", user.follower);
userColumn.put("bio", user.getBio());
userColumn.put("link", user.getLink());
userColumn.put("location", user.getLocation());
userColumn.put("banner", user.getBannerLink());
userColumn.put("createdAt", user.getCreatedAt());
userColumn.put("following", user.getFollowing());
userColumn.put("follower", user.getFollower());
status.put("tweetID", tweet.tweetID);
status.put("userID", user.userID);
status.put("time", tweet.time);
status.put("tweet", tweet.tweet);
status.put("tweetID", tweet.getId());
status.put("userID", user.getId());
status.put("time", tweet.getTime());
status.put("tweet", tweet.getText());
status.put("retweetID", rtId);
status.put("source", tweet.source);
status.put("replyID", tweet.replyID);
status.put("replyname", tweet.replyName);
status.put("retweet", tweet.retweet);
status.put("favorite", tweet.favorit);
status.put("retweeterID", tweet.retweetId);
status.put("replyUserID", tweet.replyUserId);
String[] mediaLinks = tweet.media;
status.put("source", tweet.getSource());
status.put("replyID", tweet.getReplyId());
status.put("replyname", tweet.getReplyName());
status.put("retweet", tweet.getRetweetCount());
status.put("favorite", tweet.getFavorCount());
status.put("retweeterID", tweet.getMyRetweetId());
status.put("replyUserID", tweet.getReplyUserId());
String[] mediaLinks = tweet.getMediaLinks();
StringBuilder media = new StringBuilder();
for (String link : mediaLinks) {
media.append(link);
media.append(";");
}
status.put("media", media.toString());
int statusRegister = getStatRegister(db, tweet.tweetID);
int statusRegister = getStatRegister(db, tweet.getId());
statusRegister |= newStatusRegister;
if (tweet.favorized)
if (tweet.favorized())
statusRegister |= favoritedMask;
else
statusRegister &= ~favoritedMask;
if (tweet.retweeted)
if (tweet.retweeted())
statusRegister |= retweetedMask;
else
statusRegister &= ~retweetedMask;
@ -661,13 +659,13 @@ public class DatabaseAdapter {
private void storeMessage(Message message, SQLiteDatabase db) {
ContentValues messageColumn = new ContentValues();
messageColumn.put("messageID", message.messageId);
messageColumn.put("time", message.time);
messageColumn.put("senderID", message.sender.userID);
messageColumn.put("receiverID", message.receiver.userID);
messageColumn.put("message", message.message);
storeUser(message.sender, db);
storeUser(message.receiver, db);
messageColumn.put("messageID", message.getId());
messageColumn.put("time", message.getTime());
messageColumn.put("senderID", message.getSender().getId());
messageColumn.put("receiverID", message.getReceiver().getId());
messageColumn.put("message", message.getText());
storeUser(message.getSender(), db);
storeUser(message.getReceiver(), db);
db.insertWithOnConflict("message", null, messageColumn, CONFLICT_IGNORE);
}
@ -675,9 +673,9 @@ public class DatabaseAdapter {
private void storeTrends(Trend trend, int woeId, SQLiteDatabase db) {
ContentValues trendColumn = new ContentValues();
trendColumn.put("woeID", woeId);
trendColumn.put("trendpos", trend.position);
trendColumn.put("trendname", trend.trend);
trendColumn.put("trendlink", trend.link);
trendColumn.put("trendpos", trend.getPosition());
trendColumn.put("trendname", trend.getName());
// trendColumn.put("trendlink", "");//todo
db.insertWithOnConflict("trend", null, trendColumn, CONFLICT_REPLACE);
}

View File

@ -110,7 +110,7 @@ public class DirectMessage extends AppCompatActivity implements OnRefreshListene
if (mAdapter != null && !refresh.isRefreshing()) {
Message message = mAdapter.getData().get(index);
Intent sendDm = new Intent(this, MessagePopup.class);
sendDm.putExtra("username", message.sender.screenname);
sendDm.putExtra("username", message.getSender().getScreenname());
startActivity(sendDm);
}
}
@ -121,7 +121,7 @@ public class DirectMessage extends AppCompatActivity implements OnRefreshListene
if (mLoader != null && mLoader.getStatus() != RUNNING) {
if (mAdapter != null && !refresh.isRefreshing()) {
Message message = mAdapter.getData().get(index);
final long messageId = message.messageId;
final long messageId = message.getId();
new Builder(this).setMessage(R.string.confirm_delete_dm)
.setNegativeButton(R.string.no_confirm, null)
.setPositiveButton(R.string.yes_confirm, new DialogInterface.OnClickListener() {

View File

@ -177,9 +177,9 @@ public class SearchPage extends AppCompatActivity implements UserAdapter.OnItemC
if (tweetAdapter != null) {
Tweet tweet = tweetAdapter.getData().get(position);
Intent intent = new Intent(this, TweetDetail.class);
intent.putExtra("tweetID", tweet.tweetID);
intent.putExtra("userID", tweet.user.userID);
intent.putExtra("username", tweet.user.screenname);
intent.putExtra("tweetID", tweet.getId());
intent.putExtra("userID", tweet.getUser().getId());
intent.putExtra("username", tweet.getUser().getScreenname());
startActivity(intent);
}
} else {
@ -187,8 +187,8 @@ public class SearchPage extends AppCompatActivity implements UserAdapter.OnItemC
if (userAdapter != null) {
TwitterUser user = userAdapter.getData().get(position);
Intent intent = new Intent(this, UserProfile.class);
intent.putExtra("userID", user.userID);
intent.putExtra("username", user.screenname);
intent.putExtra("userID", user.getId());
intent.putExtra("username", user.getScreenname());
startActivity(intent);
}
}

View File

@ -232,9 +232,9 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener,
if (timeLineAdapter != null && !answerReload.isRefreshing()) {
Tweet tweet = timeLineAdapter.getData().get(position);
Intent intent = new Intent(this, TweetDetail.class);
intent.putExtra("tweetID", tweet.tweetID);
intent.putExtra("userID", tweet.user.userID);
intent.putExtra("username", tweet.user.screenname);
intent.putExtra("tweetID", tweet.getId());
intent.putExtra("userID", tweet.getUser().getId());
intent.putExtra("username", tweet.getUser().getScreenname());
startActivityForResult(intent, TWEET);
}
}

View File

@ -115,8 +115,8 @@ public class UserDetail extends AppCompatActivity implements OnItemClicked, OnRe
UserAdapter userListAdapter = (UserAdapter) userList.getAdapter();
if (userListAdapter != null && !refresh.isRefreshing()) {
TwitterUser user = userListAdapter.getData().get(position);
long userID = user.userID;
String username = user.screenname;
long userID = user.getId();
String username = user.getScreenname();
Intent intent = new Intent(this, UserProfile.class);
intent.putExtra("userID", userID);
intent.putExtra("username", username);

View File

@ -302,24 +302,24 @@ public class UserProfile extends AppCompatActivity implements OnRefreshListener,
TimelineAdapter tweetAdapter = (TimelineAdapter) homeList.getAdapter();
if (tweetAdapter != null && !homeReload.isRefreshing()) {
Tweet tweet = tweetAdapter.getData().get(position);
if (tweet.embedded != null)
tweet = tweet.embedded;
if (tweet.getEmbeddedTweet() != null)
tweet = tweet.getEmbeddedTweet();
Intent intent = new Intent(this, TweetDetail.class);
intent.putExtra("tweetID", tweet.tweetID);
intent.putExtra("userID", tweet.user.userID);
intent.putExtra("username", tweet.user.screenname);
intent.putExtra("tweetID", tweet.getId());
intent.putExtra("userID", tweet.getUser().getId());
intent.putExtra("username", tweet.getUser().getId());
startActivityForResult(intent, TWEET);
}
} else {
TimelineAdapter tweetAdapter = (TimelineAdapter) favoriteList.getAdapter();
if (tweetAdapter != null && !favoriteReload.isRefreshing()) {
Tweet tweet = tweetAdapter.getData().get(position);
if (tweet.embedded != null)
tweet = tweet.embedded;
if (tweet.getEmbeddedTweet() != null)
tweet = tweet.getEmbeddedTweet();
Intent intent = new Intent(this, TweetDetail.class);
intent.putExtra("tweetID", tweet.tweetID);
intent.putExtra("userID", tweet.user.userID);
intent.putExtra("username", tweet.user.screenname);
intent.putExtra("tweetID", tweet.getId());
intent.putExtra("userID", tweet.getUser().getId());
intent.putExtra("username", tweet.getUser().getScreenname());
startActivityForResult(intent, TWEET);
}
}