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