database bugfix

This commit is contained in:
NudeDude 2018-08-17 21:06:00 +02:00
parent dbc0b5d007
commit 9b731fa84b
2 changed files with 21 additions and 1 deletions

View File

@ -25,7 +25,7 @@
</value> </value>
</option> </option>
</component> </component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" /> <output url="file://$PROJECT_DIR$/build/classes" />
</component> </component>
<component name="ProjectType"> <component name="ProjectType">

View File

@ -44,7 +44,9 @@ public class DatabaseAdapter {
*/ */
public void storeUser(TwitterUser user) { public void storeUser(TwitterUser user) {
SQLiteDatabase db = dataHelper.getWritableDatabase(); SQLiteDatabase db = dataHelper.getWritableDatabase();
db.beginTransaction();
storeUser(user, db); storeUser(user, db);
commit(db);
} }
/** /**
@ -53,10 +55,12 @@ public class DatabaseAdapter {
*/ */
public void storeHomeTimeline(List<Tweet> home) { public void storeHomeTimeline(List<Tweet> home) {
SQLiteDatabase db = dataHelper.getWritableDatabase(); SQLiteDatabase db = dataHelper.getWritableDatabase();
db.beginTransaction();
for (int pos = 0; pos < home.size(); pos++) { for (int pos = 0; pos < home.size(); pos++) {
Tweet tweet = home.get(pos); Tweet tweet = home.get(pos);
storeStatus(tweet, homeMask, db); storeStatus(tweet, homeMask, db);
} }
commit(db);
} }
/** /**
@ -65,10 +69,12 @@ public class DatabaseAdapter {
*/ */
public void storeMentions(List<Tweet> mentions) { public void storeMentions(List<Tweet> mentions) {
SQLiteDatabase db = dataHelper.getWritableDatabase(); SQLiteDatabase db = dataHelper.getWritableDatabase();
db.beginTransaction();
for (int pos = 0; pos < mentions.size(); pos++) { for (int pos = 0; pos < mentions.size(); pos++) {
Tweet tweet = mentions.get(pos); Tweet tweet = mentions.get(pos);
storeStatus(tweet, mentionMask, db); storeStatus(tweet, mentionMask, db);
} }
commit(db);
} }
/** /**
@ -77,10 +83,12 @@ public class DatabaseAdapter {
*/ */
public void storeUserTweets(List<Tweet> stats) { public void storeUserTweets(List<Tweet> stats) {
SQLiteDatabase db = dataHelper.getWritableDatabase(); SQLiteDatabase db = dataHelper.getWritableDatabase();
db.beginTransaction();
for(int pos = 0; pos < stats.size(); pos++) { for(int pos = 0; pos < stats.size(); pos++) {
Tweet tweet = stats.get(pos); Tweet tweet = stats.get(pos);
storeStatus(tweet, userTweetMask, db); storeStatus(tweet, userTweetMask, db);
} }
commit(db);
} }
/** /**
@ -90,6 +98,7 @@ public class DatabaseAdapter {
*/ */
public void storeUserFavs(List<Tweet> fav, long ownerId){ public void storeUserFavs(List<Tweet> fav, long ownerId){
SQLiteDatabase db = dataHelper.getWritableDatabase(); SQLiteDatabase db = dataHelper.getWritableDatabase();
db.beginTransaction();
for(int pos = 0; pos < fav.size(); pos++) { for(int pos = 0; pos < fav.size(); pos++) {
Tweet tweet = fav.get(pos); Tweet tweet = fav.get(pos);
storeStatus(tweet,0,db); storeStatus(tweet,0,db);
@ -98,6 +107,7 @@ public class DatabaseAdapter {
favTable.put("ownerID", ownerId); favTable.put("ownerID", ownerId);
db.insertWithOnConflict("favorit",null,favTable,CONFLICT_IGNORE); db.insertWithOnConflict("favorit",null,favTable,CONFLICT_IGNORE);
} }
commit(db);
} }
/** /**
@ -106,10 +116,12 @@ public class DatabaseAdapter {
*/ */
public void storeReplies(List<Tweet> replies) { public void storeReplies(List<Tweet> replies) {
SQLiteDatabase db = dataHelper.getWritableDatabase(); SQLiteDatabase db = dataHelper.getWritableDatabase();
db.beginTransaction();
for(int pos = 0; pos < replies.size(); pos++) { for(int pos = 0; pos < replies.size(); pos++) {
Tweet tweet = replies.get(pos); Tweet tweet = replies.get(pos);
storeStatus(tweet, replyMask, db); storeStatus(tweet, replyMask, db);
} }
commit(db);
} }
/** /**
@ -118,7 +130,9 @@ public class DatabaseAdapter {
*/ */
public void storeFavorite(Tweet tweet) { public void storeFavorite(Tweet tweet) {
SQLiteDatabase db = dataHelper.getWritableDatabase(); SQLiteDatabase db = dataHelper.getWritableDatabase();
db.beginTransaction();
storeStatus(tweet, favoritedMask, db); storeStatus(tweet, favoritedMask, db);
commit(db);
} }
/** /**
@ -498,6 +512,12 @@ public class DatabaseAdapter {
db.insertWithOnConflict("user",null, userColumn, CONFLICT_REPLACE); db.insertWithOnConflict("user",null, userColumn, CONFLICT_REPLACE);
} }
private void commit(SQLiteDatabase db) {
db.setTransactionSuccessful();
db.endTransaction();
db.close();
}
private String[] parseMedia(String media) { private String[] parseMedia(String media) {
int index; int index;