tweet update bug fix

This commit is contained in:
nuclearfog 2021-01-07 21:25:54 +01:00
parent d550eefb31
commit 79738e109f
No known key found for this signature in database
GPG Key ID: D5490E4A81F97B14
1 changed files with 47 additions and 35 deletions

View File

@ -335,42 +335,10 @@ public class AppDatabase {
* @param tweet Tweet * @param tweet Tweet
*/ */
public void updateStatus(Tweet tweet) { public void updateStatus(Tweet tweet) {
String[] tweetIdArg = {Long.toString(tweet.getId())};
String[] userIdArg = {Long.toString(tweet.getUser().getId())};
SQLiteDatabase db = getDbWrite(); SQLiteDatabase db = getDbWrite();
ContentValues statColumn = new ContentValues(); updateStatus(tweet, db);
ContentValues userColumn = new ContentValues(); if (tweet.getEmbeddedTweet() != null)
int flags = getTweetFlags(db, tweet.getId()); updateStatus(tweet.getEmbeddedTweet(), db);
if (tweet.retweeted())
flags |= RTW_MASK;
else
flags &= ~RTW_MASK;
if (tweet.favored())
flags |= FAV_MASK;
else
flags &= ~FAV_MASK;
statColumn.put("tweet", tweet.getTweet());
statColumn.put("retweet", tweet.getRetweetCount());
statColumn.put("favorite", tweet.getFavorCount());
statColumn.put("retweeterID", tweet.getMyRetweetId());
statColumn.put("replyname", tweet.getReplyName());
statColumn.put("statusregister", flags);
statColumn.put("media", getMediaLinks(tweet));
User user = tweet.getUser();
userColumn.put("username", user.getUsername());
userColumn.put("scrname", user.getScreenname());
userColumn.put("pbLink", user.getImageLink());
userColumn.put("bio", user.getBio());
userColumn.put("link", user.getLink());
userColumn.put("location", user.getLocation());
userColumn.put("banner", user.getBannerLink());
userColumn.put("following", user.getFollowing());
userColumn.put("follower", user.getFollower());
db.update("tweet", statColumn, "tweet.tweetID=?", tweetIdArg);
db.update("user", userColumn, "user.userID=?", userIdArg);
commit(db); commit(db);
} }
@ -721,6 +689,50 @@ public class AppDatabase {
db.insertWithOnConflict("tweet", null, status, CONFLICT_REPLACE); db.insertWithOnConflict("tweet", null, status, CONFLICT_REPLACE);
} }
/**
* updates existing tweet
*
* @param tweet update of the tweet
* @param db database instance
*/
private void updateStatus(Tweet tweet, SQLiteDatabase db) {
String[] tweetIdArg = {Long.toString(tweet.getId())};
String[] userIdArg = {Long.toString(tweet.getUser().getId())};
ContentValues statColumn = new ContentValues();
ContentValues userColumn = new ContentValues();
int flags = getTweetFlags(db, tweet.getId());
if (tweet.retweeted())
flags |= RTW_MASK;
else
flags &= ~RTW_MASK;
if (tweet.favored())
flags |= FAV_MASK;
else
flags &= ~FAV_MASK;
statColumn.put("tweet", tweet.getTweet());
statColumn.put("retweet", tweet.getRetweetCount());
statColumn.put("favorite", tweet.getFavorCount());
statColumn.put("retweeterID", tweet.getMyRetweetId());
statColumn.put("replyname", tweet.getReplyName());
statColumn.put("statusregister", flags);
statColumn.put("media", getMediaLinks(tweet));
User user = tweet.getUser();
userColumn.put("username", user.getUsername());
userColumn.put("scrname", user.getScreenname());
userColumn.put("pbLink", user.getImageLink());
userColumn.put("bio", user.getBio());
userColumn.put("link", user.getLink());
userColumn.put("location", user.getLocation());
userColumn.put("banner", user.getBannerLink());
userColumn.put("following", user.getFollowing());
userColumn.put("follower", user.getFollower());
db.update("tweet", statColumn, "tweet.tweetID=?", tweetIdArg);
db.update("user", userColumn, "user.userID=?", userIdArg);
}
/** /**
* Store Tweet into favorite table of a user * Store Tweet into favorite table of a user
* *