code reformat
bug fix
This commit is contained in:
parent
d76e5bab4e
commit
8738956106
@ -101,17 +101,22 @@ public class StatusLoader extends AsyncTask<Long, Void, Long> {
|
||||
|
||||
} else if (MODE == RETWEET) {
|
||||
tweet = mTwitter.retweet(TWEETID);
|
||||
if (!tweet.retweeted())
|
||||
database.removeStatus(tweet.getMyRetweetId());
|
||||
publishProgress();
|
||||
|
||||
if (!tweet.retweeted()) {
|
||||
tweet = database.getStatus(TWEETID);
|
||||
if (tweet != null)
|
||||
database.removeStatus(tweet.getMyRetweetId());
|
||||
}
|
||||
|
||||
} else if (MODE == FAVORITE) {
|
||||
tweet = mTwitter.favorite(TWEETID);
|
||||
publishProgress();
|
||||
|
||||
if (tweet.favored())
|
||||
database.storeFavorite(TWEETID);
|
||||
else
|
||||
database.removeFavorite(TWEETID);
|
||||
publishProgress();
|
||||
}
|
||||
} catch (TwitterException err) {
|
||||
this.err = err;
|
||||
|
@ -1,7 +1,6 @@
|
||||
package org.nuclearfog.twidda.backend;
|
||||
|
||||
import android.content.Context;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
|
||||
import org.nuclearfog.twidda.BuildConfig;
|
||||
@ -17,7 +16,6 @@ import java.util.List;
|
||||
|
||||
import twitter4j.DirectMessage;
|
||||
import twitter4j.IDs;
|
||||
import twitter4j.MediaEntity;
|
||||
import twitter4j.Paging;
|
||||
import twitter4j.Query;
|
||||
import twitter4j.QueryResult;
|
||||
@ -262,7 +260,7 @@ public class TwitterEngine {
|
||||
* @throws TwitterException if Access is unavailable
|
||||
*/
|
||||
public TwitterUser getUser(long id) throws TwitterException {
|
||||
return getUser(twitter.showUser(id));
|
||||
return new TwitterUser(twitter.showUser(id));
|
||||
}
|
||||
|
||||
|
||||
@ -299,7 +297,7 @@ public class TwitterEngine {
|
||||
user = twitter.createFriendship(userId);
|
||||
else
|
||||
user = twitter.destroyFriendship(userId);
|
||||
return getUser(user);
|
||||
return new TwitterUser(user);
|
||||
}
|
||||
|
||||
|
||||
@ -317,7 +315,7 @@ public class TwitterEngine {
|
||||
user = twitter.createBlock(userId);
|
||||
else
|
||||
user = twitter.destroyBlock(userId);
|
||||
return getUser(user);
|
||||
return new TwitterUser(user);
|
||||
}
|
||||
|
||||
|
||||
@ -335,7 +333,7 @@ public class TwitterEngine {
|
||||
user = twitter.createMute(userId);
|
||||
else
|
||||
user = twitter.destroyMute(userId);
|
||||
return getUser(user);
|
||||
return new TwitterUser(user);
|
||||
}
|
||||
|
||||
|
||||
@ -375,7 +373,6 @@ public class TwitterEngine {
|
||||
*/
|
||||
public void sendStatus(String text, long reply, @Nullable String[] path) throws TwitterException {
|
||||
StatusUpdate mStatus = new StatusUpdate(text);
|
||||
|
||||
if (reply > 0)
|
||||
mStatus.setInReplyToStatusId(reply);
|
||||
|
||||
@ -401,15 +398,8 @@ public class TwitterEngine {
|
||||
* @throws TwitterException if Access is unavailable
|
||||
*/
|
||||
public Tweet getStatus(long id) throws TwitterException {
|
||||
Status status = twitter.showStatus(id);
|
||||
Status retweet = status.getRetweetedStatus();
|
||||
if (retweet != null) {
|
||||
retweet = twitter.showStatus(retweet.getId());
|
||||
Tweet embedded = getTweet(retweet, null);
|
||||
return getTweet(status, embedded);
|
||||
} else {
|
||||
return getTweet(status, null);
|
||||
}
|
||||
Status tweet = twitter.showStatus(id);
|
||||
return new Tweet(tweet, false);
|
||||
}
|
||||
|
||||
|
||||
@ -446,16 +436,13 @@ public class TwitterEngine {
|
||||
*/
|
||||
public Tweet retweet(long tweetId) throws TwitterException {
|
||||
Status tweet = twitter.showStatus(tweetId);
|
||||
|
||||
if (tweet.isRetweeted())
|
||||
if (tweet.isRetweeted()) {
|
||||
tweet = twitter.unRetweetStatus(tweet.getId());
|
||||
else
|
||||
tweet = twitter.retweetStatus(tweet.getId());
|
||||
|
||||
if (tweet.getRetweetedStatus() == null)
|
||||
return getTweet(tweet, null);
|
||||
else
|
||||
return getTweet(tweet, getTweet(tweet.getRetweetedStatus(), null));
|
||||
return new Tweet(tweet, true);
|
||||
} else {
|
||||
tweet = twitter.retweetStatus(tweet.getId()).getRetweetedStatus();
|
||||
return new Tweet(tweet, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -467,16 +454,12 @@ public class TwitterEngine {
|
||||
*/
|
||||
public Tweet favorite(long tweetId) throws TwitterException {
|
||||
Status tweet = twitter.showStatus(tweetId);
|
||||
|
||||
if (tweet.isFavorited())
|
||||
tweet = twitter.destroyFavorite(tweet.getId());
|
||||
else
|
||||
tweet = twitter.createFavorite(tweet.getId());
|
||||
|
||||
if (tweet.getRetweetedStatus() == null)
|
||||
return getTweet(tweet, null);
|
||||
else
|
||||
return getTweet(tweet, getTweet(tweet.getRetweetedStatus(), null));
|
||||
return new Tweet(tweet, false);
|
||||
}
|
||||
|
||||
|
||||
@ -565,9 +548,8 @@ public class TwitterEngine {
|
||||
*/
|
||||
private List<TwitterUser> convertUserList(List<User> users) {
|
||||
List<TwitterUser> result = new ArrayList<>();
|
||||
|
||||
for (User user : users) {
|
||||
TwitterUser item = getUser(user);
|
||||
TwitterUser item = new TwitterUser(user);
|
||||
result.add(item);
|
||||
}
|
||||
return result;
|
||||
@ -582,85 +564,19 @@ public class TwitterEngine {
|
||||
*/
|
||||
private List<Tweet> convertStatusList(List<Status> statuses) {
|
||||
List<Tweet> result = new ArrayList<>();
|
||||
|
||||
for (Status status : statuses) {
|
||||
Status embedded = status.getRetweetedStatus();
|
||||
if (embedded != null) {
|
||||
Tweet retweet = getTweet(embedded, null);
|
||||
Tweet tweet = getTweet(status, retweet);
|
||||
result.add(tweet);
|
||||
} else {
|
||||
Tweet tweet = getTweet(status, null);
|
||||
result.add(tweet);
|
||||
}
|
||||
}
|
||||
for (Status status : statuses)
|
||||
result.add(new Tweet(status, false));
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param status twitter4j.Status
|
||||
* @param retweetedStat embedded Status
|
||||
* @return Tweet item
|
||||
*/
|
||||
private Tweet getTweet(@NonNull Status status, @Nullable Tweet retweetedStat) {
|
||||
TwitterUser user = getUser(status.getUser());
|
||||
int retweet = status.getRetweetCount();
|
||||
int favorite = status.getFavoriteCount();
|
||||
if (retweetedStat != null) {
|
||||
retweet = retweetedStat.getRetweetCount();
|
||||
favorite = retweetedStat.getFavorCount();
|
||||
}
|
||||
String api = status.getSource();
|
||||
api = api.substring(api.indexOf('>') + 1);
|
||||
api = api.substring(0, api.indexOf('<'));
|
||||
|
||||
return new Tweet(status.getId(), retweet, favorite, user, status.getText(),
|
||||
status.getCreatedAt().getTime(), status.getInReplyToScreenName(), status.getInReplyToUserId(),
|
||||
getMediaLinks(status), api, status.getInReplyToStatusId(),
|
||||
retweetedStat, status.getCurrentUserRetweetId(), status.isRetweeted(), status.isFavorited());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param user Twitter4J User
|
||||
* @return User item
|
||||
*/
|
||||
private TwitterUser getUser(User user) {
|
||||
return new TwitterUser(user);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param dm Twitter4J directmessage
|
||||
* @return dm item
|
||||
*/
|
||||
private Message getMessage(DirectMessage dm) throws TwitterException {
|
||||
TwitterUser sender, receiver;
|
||||
sender = getUser(twitter.showUser(dm.getSenderId()));
|
||||
|
||||
if (dm.getSenderId() != dm.getRecipientId()) {
|
||||
receiver = getUser(twitter.showUser(dm.getRecipientId()));
|
||||
} else {
|
||||
receiver = sender;
|
||||
}
|
||||
long time = dm.getCreatedAt().getTime();
|
||||
|
||||
return new Message(dm.getId(), sender, receiver, time, dm.getText());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param status Twitter4J status
|
||||
* @return Array of Medialinks
|
||||
*/
|
||||
private String[] getMediaLinks(Status status) {
|
||||
MediaEntity[] mediaEntities = status.getMediaEntities();
|
||||
String medialinks[] = new String[mediaEntities.length];
|
||||
byte i = 0;
|
||||
for (MediaEntity media : mediaEntities) {
|
||||
medialinks[i++] = media.getMediaURLHttps();
|
||||
}
|
||||
return medialinks;
|
||||
User sender = twitter.showUser(dm.getSenderId());
|
||||
User receiver = twitter.showUser(dm.getRecipientId());
|
||||
return new Message(dm, sender, receiver);
|
||||
}
|
||||
}
|
@ -1,5 +1,8 @@
|
||||
package org.nuclearfog.twidda.backend.items;
|
||||
|
||||
import twitter4j.DirectMessage;
|
||||
import twitter4j.User;
|
||||
|
||||
public class Message {
|
||||
|
||||
private final long messageId;
|
||||
@ -11,6 +14,15 @@ public class Message {
|
||||
private final String message;
|
||||
|
||||
|
||||
public Message(DirectMessage dm, User sender, User receiver) {
|
||||
this.sender = new TwitterUser(sender);
|
||||
this.receiver = new TwitterUser(receiver);
|
||||
messageId = dm.getId();
|
||||
time = dm.getCreatedAt().getTime();
|
||||
message = dm.getText();
|
||||
}
|
||||
|
||||
|
||||
public Message(long messageId, TwitterUser sender, TwitterUser receiver, long time, String message) {
|
||||
this.messageId = messageId;
|
||||
this.sender = sender;
|
||||
|
@ -2,6 +2,9 @@ package org.nuclearfog.twidda.backend.items;
|
||||
|
||||
import android.support.annotation.Nullable;
|
||||
|
||||
import twitter4j.MediaEntity;
|
||||
import twitter4j.Status;
|
||||
|
||||
public class Tweet {
|
||||
|
||||
private final long tweetID;
|
||||
@ -23,12 +26,39 @@ public class Tweet {
|
||||
private final boolean retweeted;
|
||||
private final boolean favored;
|
||||
|
||||
private final long retweetId;
|
||||
private final long myRetweetId;
|
||||
|
||||
|
||||
public Tweet(Status status, boolean removeRetweet) {
|
||||
tweetID = status.getId();
|
||||
user = new TwitterUser(status.getUser());
|
||||
retweetCount = status.getRetweetCount();
|
||||
favoriteCount = status.getFavoriteCount();
|
||||
tweet = status.getText();
|
||||
time = status.getCreatedAt().getTime();
|
||||
replyID = status.getInReplyToStatusId();
|
||||
replyName = status.getInReplyToScreenName();
|
||||
media = getMediaLinks(status);
|
||||
retweeted = status.isRetweeted() && !removeRetweet;
|
||||
favored = status.isFavorited();
|
||||
myRetweetId = status.getCurrentUserRetweetId();
|
||||
replyUserId = status.getInReplyToUserId();
|
||||
|
||||
String api = status.getSource();
|
||||
api = api.substring(api.indexOf('>') + 1);
|
||||
api = api.substring(0, api.indexOf('<'));
|
||||
|
||||
source = api;
|
||||
if (status.getRetweetedStatus() != null)
|
||||
embedded = new Tweet(status.getRetweetedStatus(), false);
|
||||
else
|
||||
embedded = null;
|
||||
}
|
||||
|
||||
|
||||
public Tweet(long tweetID, int retweetCount, int favoriteCount, TwitterUser user, String tweet, long time,
|
||||
String replyName, long replyUserId, String[] media, String source, long replyID,
|
||||
Tweet embedded, long retweetId, boolean retweeted, boolean favored) {
|
||||
Tweet embedded, long myRetweetId, boolean retweeted, boolean favored) {
|
||||
this.tweetID = tweetID;
|
||||
this.user = user;
|
||||
this.retweetCount = retweetCount;
|
||||
@ -42,7 +72,7 @@ public class Tweet {
|
||||
this.source = source;
|
||||
this.retweeted = retweeted;
|
||||
this.favored = favored;
|
||||
this.retweetId = retweetId;
|
||||
this.myRetweetId = myRetweetId;
|
||||
this.replyUserId = replyUserId;
|
||||
}
|
||||
|
||||
@ -134,7 +164,7 @@ public class Tweet {
|
||||
* @return tweet ID
|
||||
*/
|
||||
public long getMyRetweetId() {
|
||||
return retweetId;
|
||||
return myRetweetId;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -182,4 +212,18 @@ public class Tweet {
|
||||
return favored;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param status Twitter4J status
|
||||
* @return Array of Medialinks
|
||||
*/
|
||||
private String[] getMediaLinks(Status status) {
|
||||
MediaEntity[] mediaEntities = status.getMediaEntities();
|
||||
String medialinks[] = new String[mediaEntities.length];
|
||||
byte i = 0;
|
||||
for (MediaEntity media : mediaEntities) {
|
||||
medialinks[i++] = media.getMediaURLHttps();
|
||||
}
|
||||
return medialinks;
|
||||
}
|
||||
}
|
@ -350,6 +350,7 @@ public class DatabaseAdapter {
|
||||
register &= ~FAV_MASK;
|
||||
statColumn.put("retweet", tweet.getRetweetCount());
|
||||
statColumn.put("favorite", tweet.getFavorCount());
|
||||
statColumn.put("retweeterID", tweet.getMyRetweetId());
|
||||
statColumn.put("statusregister", register);
|
||||
|
||||
TwitterUser user = tweet.getUser();
|
||||
@ -608,7 +609,7 @@ public class DatabaseAdapter {
|
||||
ContentValues status = new ContentValues();
|
||||
TwitterUser user = tweet.getUser();
|
||||
Tweet rtStat = tweet.getEmbeddedTweet();
|
||||
long rtId = 1L;
|
||||
long rtId = -1L;
|
||||
|
||||
if (rtStat != null) {
|
||||
storeStatus(rtStat, 0, db);
|
||||
|
9
app/src/main/res/drawable/follow_requested.xml
Normal file
9
app/src/main/res/drawable/follow_requested.xml
Normal file
@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="20.0"
|
||||
android:viewportHeight="20.0">
|
||||
<path
|
||||
android:fillColor="#FFFF00"
|
||||
android:pathData="M15.989,19.129C16,17 13.803,15.74 11.672,14.822c-2.123,-0.914 -2.801,-1.684 -2.801,-3.334c0,-0.989 0.648,-0.667 0.932,-2.481c0.12,-0.752 0.692,-0.012 0.802,-1.729c0,-0.684 -0.313,-0.854 -0.313,-0.854s0.159,-1.013 0.221,-1.793c0.064,-0.817 -0.398,-2.56 -2.301,-3.095C7.88,1.195 7.655,0.654 8.679,0.112c-2.24,-0.104 -2.761,1.068 -3.954,1.93c-1.015,0.756 -1.289,1.953 -1.24,2.59c0.065,0.78 0.223,1.793 0.223,1.793s-0.314,0.17 -0.314,0.854c0.11,1.718 0.684,0.977 0.803,1.729C4.481,10.822 5.13,10.5 5.13,11.489c0,1.65 -0.212,2.21 -2.336,3.124C0.663,15.53 0,17 0.011,19.129C0.014,19.766 0,20 0,20h16C16,20 15.986,19.766 15.989,19.129zM17,10V7h-2v3h-3v2h3v3h2v-3h3v-2H17z" />
|
||||
</vector>
|
Loading…
x
Reference in New Issue
Block a user