code reformat

bug fix
This commit is contained in:
NudeDude 2019-01-08 20:57:28 +01:00
parent d76e5bab4e
commit 8738956106
6 changed files with 98 additions and 111 deletions

View File

@ -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;

View File

@ -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);
}
}

View File

@ -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;

View File

@ -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;
}
}

View File

@ -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);

View 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>