database bug fix

This commit is contained in:
NudeDude 2018-12-21 11:38:31 +01:00
parent 3908825227
commit d689e0c9cc
2 changed files with 63 additions and 51 deletions

View File

@ -10,6 +10,7 @@
<application <application
android:icon="@mipmap/shitter" android:icon="@mipmap/shitter"
android:label="@string/app_name" android:label="@string/app_name"
android:supportsRtl="true"
android:allowBackup="false" android:allowBackup="false"
android:theme="@style/AppTheme"> android:theme="@style/AppTheme">

View File

@ -31,7 +31,6 @@ public class DatabaseAdapter {
private static final int VER_MASK = 1; // USER VERIFIED MASK private static final int VER_MASK = 1; // USER VERIFIED MASK
private static final int LCK_MASK = 1 << 1; // USER LOCKED MASK private static final int LCK_MASK = 1 << 1; // USER LOCKED MASK
private AppDatabase dataHelper; private AppDatabase dataHelper;
private long homeId; private long homeId;
@ -42,9 +41,9 @@ public class DatabaseAdapter {
} }
/** /**
* Nutzer speichern * Store user information
* *
* @param user Nutzer Information * @param user Twitter user
*/ */
public void storeUser(TwitterUser user) { public void storeUser(TwitterUser user) {
SQLiteDatabase db = getDbWrite(); SQLiteDatabase db = getDbWrite();
@ -53,9 +52,9 @@ public class DatabaseAdapter {
} }
/** /**
* Home Timeline speichern * store home timeline
* *
* @param home Tweet Liste * @param home tweet from home timeline
*/ */
public void storeHomeTimeline(List<Tweet> home) { public void storeHomeTimeline(List<Tweet> home) {
SQLiteDatabase db = getDbWrite(); SQLiteDatabase db = getDbWrite();
@ -66,9 +65,9 @@ public class DatabaseAdapter {
} }
/** /**
* Erwähnungen speichern * store mentions
* *
* @param mentions Tweet Liste * @param mentions tweets
*/ */
public void storeMentions(List<Tweet> mentions) { public void storeMentions(List<Tweet> mentions) {
SQLiteDatabase db = getDbWrite(); SQLiteDatabase db = getDbWrite();
@ -79,9 +78,9 @@ public class DatabaseAdapter {
} }
/** /**
* Nutzer Tweets speichern * store user timeline
* *
* @param stats Tweet Liste * @param stats user timeline
*/ */
public void storeUserTweets(List<Tweet> stats) { public void storeUserTweets(List<Tweet> stats) {
SQLiteDatabase db = getDbWrite(); SQLiteDatabase db = getDbWrite();
@ -92,10 +91,10 @@ public class DatabaseAdapter {
} }
/** /**
* Nutzer Favoriten Speichern * store user favors
* *
* @param fav Tweet Liste * @param fav tweet favored by user
* @param ownerId User ID * @param ownerId user ID
*/ */
public void storeUserFavs(List<Tweet> fav, long ownerId) { public void storeUserFavs(List<Tweet> fav, long ownerId) {
SQLiteDatabase db = getDbWrite(); SQLiteDatabase db = getDbWrite();
@ -110,9 +109,9 @@ public class DatabaseAdapter {
} }
/** /**
* Tweet Antworten speicher * store replies of a tweet
* *
* @param replies Tweet Antworten Liste * @param replies tweet replies
*/ */
public void storeReplies(final List<Tweet> replies) { public void storeReplies(final List<Tweet> replies) {
SQLiteDatabase db = getDbWrite(); SQLiteDatabase db = getDbWrite();
@ -123,7 +122,7 @@ public class DatabaseAdapter {
} }
/** /**
* Speichere Twitter Trends * store location specific trends
* *
* @param trends List of Trends * @param trends List of Trends
* @param woeId Yahoo World ID * @param woeId Yahoo World ID
@ -139,7 +138,7 @@ public class DatabaseAdapter {
} }
/** /**
* Speichere Tweet in Favoriten Tabelle * store tweet ID of a favored tweet by the current user
* *
* @param tweetID Tweet ID * @param tweetID Tweet ID
*/ */
@ -162,9 +161,9 @@ public class DatabaseAdapter {
} }
/** /**
* speicher direktnachrichten * store direct messages
* *
* @param messages Direktnachrichten liste * @param messages list of direct messages
*/ */
public void storeMessage(List<Message> messages) { public void storeMessage(List<Message> messages) {
SQLiteDatabase db = getDbWrite(); SQLiteDatabase db = getDbWrite();
@ -175,10 +174,10 @@ public class DatabaseAdapter {
} }
/** /**
* Lade Nutzer Information * get user information
* *
* @param userId Nutzer ID * @param userId ID of user
* @return Nutzer Informationen oder NULL falls nicht vorhanden * @return user information or null if not found
*/ */
@Nullable @Nullable
public TwitterUser getUser(long userId) { public TwitterUser getUser(long userId) {
@ -189,9 +188,9 @@ public class DatabaseAdapter {
} }
/** /**
* Lade Home Timeline * load home timeline
* *
* @return Tweet Liste * @return tweet list
*/ */
public List<Tweet> getHomeTimeline() { public List<Tweet> getHomeTimeline() {
SQLiteDatabase db = dataHelper.getReadableDatabase(); SQLiteDatabase db = dataHelper.getReadableDatabase();
@ -212,9 +211,9 @@ public class DatabaseAdapter {
} }
/** /**
* Erwähnungen laden * load mentions
* *
* @return Tweet Liste * @return tweet list
*/ */
public List<Tweet> getMentions() { public List<Tweet> getMentions() {
SQLiteDatabase db = dataHelper.getReadableDatabase(); SQLiteDatabase db = dataHelper.getReadableDatabase();
@ -235,10 +234,10 @@ public class DatabaseAdapter {
} }
/** /**
* Tweet Liste eines Nutzers * load user timeline
* *
* @param userID Nutzer ID * @param userID user ID
* @return Tweet Liste des Users * @return Tweet list of user tweets
*/ */
public List<Tweet> getUserTweets(long userID) { public List<Tweet> getUserTweets(long userID) {
SQLiteDatabase db = dataHelper.getReadableDatabase(); SQLiteDatabase db = dataHelper.getReadableDatabase();
@ -262,10 +261,10 @@ public class DatabaseAdapter {
} }
/** /**
* Lade Favorisierte Tweets eines Nutzers * load user favored tweets
* *
* @param ownerID Nutzer ID * @param ownerID user ID
* @return Favoriten des Nutzers * @return favored tweets by user
*/ */
public List<Tweet> getUserFavs(long ownerID) { public List<Tweet> getUserFavs(long ownerID) {
SQLiteDatabase db = dataHelper.getReadableDatabase(); SQLiteDatabase db = dataHelper.getReadableDatabase();
@ -287,10 +286,10 @@ public class DatabaseAdapter {
} }
/** /**
* Lade Tweet * load status
* *
* @param tweetId Tweet ID * @param tweetId tweet ID
* @return Gefundener Tweet oder NULL falls nicht vorhanden * @return tweet or null if not found
*/ */
@Nullable @Nullable
public Tweet getStatus(long tweetId) { public Tweet getStatus(long tweetId) {
@ -307,10 +306,10 @@ public class DatabaseAdapter {
} }
/** /**
* Lade Antworten * get tweet answers
* *
* @param tweetId Tweet ID * @param tweetId Tweet ID
* @return Antworten zur Tweet ID * @return list of tweet answers
*/ */
public List<Tweet> getAnswers(long tweetId) { public List<Tweet> getAnswers(long tweetId) {
SQLiteDatabase db = dataHelper.getReadableDatabase(); SQLiteDatabase db = dataHelper.getReadableDatabase();
@ -331,32 +330,45 @@ public class DatabaseAdapter {
} }
/** /**
* Aktualisiere Status * update status and author information
* *
* @param tweet Tweet * @param tweet Tweet
*/ */
public void updateStatus(Tweet tweet) { public void updateStatus(Tweet tweet) {
SQLiteDatabase db = getDbWrite(); SQLiteDatabase db = getDbWrite();
ContentValues status = new ContentValues(); ContentValues statColumn = new ContentValues();
ContentValues userColumn = new ContentValues();
int register = getStatRegister(db, tweet.getId()); int register = getStatRegister(db, tweet.getId());
if (tweet.retweeted()) if (tweet.retweeted())
register |= RTW_MASK; register |= RTW_MASK;
else else
register &= ~RTW_MASK; register &= ~RTW_MASK;
if (tweet.favorized()) if (tweet.favorized())
register |= FAV_MASK; register |= FAV_MASK;
else else
register &= ~FAV_MASK; register &= ~FAV_MASK;
status.put("retweet", tweet.getRetweetCount()); statColumn.put("retweet", tweet.getRetweetCount());
status.put("favorite", tweet.getFavorCount()); statColumn.put("favorite", tweet.getFavorCount());
status.put("statusregister", register); statColumn.put("statusregister", register);
db.update("tweet", status, "tweet.tweetID=" + tweet.getId(), null);
TwitterUser 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=" + tweet.getId(), null);
db.update("user", userColumn, "user.userID=" + user.getId(), null);
commit(db); commit(db);
} }
/** /**
* Lösche Tweet * remove status
* *
* @param id Tweet ID * @param id Tweet ID
*/ */
@ -368,9 +380,9 @@ public class DatabaseAdapter {
} }
/** /**
* Entferne Tweet aus der Favoriten Tabelle * remove status from favorites
* *
* @param tweetId ID des tweets * @param tweetId tweet ID
*/ */
public void removeFavorite(long tweetId) { public void removeFavorite(long tweetId) {
SQLiteDatabase db = getDbWrite(); SQLiteDatabase db = getDbWrite();
@ -419,11 +431,10 @@ public class DatabaseAdapter {
return trends; return trends;
} }
/** /**
* Direkt nachrichten laden * load direct messages
* *
* @return Liste Direktnachrichten * @return list of direct messages
*/ */
public List<Message> getMessages() { public List<Message> getMessages() {
List<Message> result = new ArrayList<>(); List<Message> result = new ArrayList<>();
@ -456,10 +467,10 @@ public class DatabaseAdapter {
} }
/** /**
* Suche Tweet in Datenbank * check if tweet exists in database
* *
* @param id Tweet ID * @param id Tweet ID
* @return True falls gefunden, ansonsten False * @return true if found
*/ */
public boolean containStatus(long id) { public boolean containStatus(long id) {
SQLiteDatabase db = dataHelper.getReadableDatabase(); SQLiteDatabase db = dataHelper.getReadableDatabase();