bug fix
This commit is contained in:
parent
8d0a749569
commit
b54a8ebf8b
|
@ -87,9 +87,10 @@ public class ProfileLoader extends AsyncTask<Long, Void, Boolean> {
|
||||||
try {
|
try {
|
||||||
if (mode == Mode.LDR_PROFILE) {
|
if (mode == Mode.LDR_PROFILE) {
|
||||||
user = db.getUser(UID);
|
user = db.getUser(UID);
|
||||||
if (user != null) {
|
if (user != null)
|
||||||
publishProgress();
|
publishProgress();
|
||||||
}
|
user = mTwitter.getUser(UID);
|
||||||
|
db.storeUser(user);
|
||||||
}
|
}
|
||||||
if (!isHome) {
|
if (!isHome) {
|
||||||
boolean[] connection = mTwitter.getConnection(UID);
|
boolean[] connection = mTwitter.getConnection(UID);
|
||||||
|
@ -98,26 +99,23 @@ public class ProfileLoader extends AsyncTask<Long, Void, Boolean> {
|
||||||
isBlocked = connection[2];
|
isBlocked = connection[2];
|
||||||
isMuted = connection[3];
|
isMuted = connection[3];
|
||||||
canDm = connection[4];
|
canDm = connection[4];
|
||||||
|
if (isBlocked || isMuted)
|
||||||
|
db.muteUser(UID, true);
|
||||||
|
else
|
||||||
|
db.muteUser(UID, false);
|
||||||
}
|
}
|
||||||
|
if (user != null)
|
||||||
user = mTwitter.getUser(UID);
|
|
||||||
publishProgress();
|
publishProgress();
|
||||||
db.storeUser(user);
|
|
||||||
|
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case ACTION_FOLLOW:
|
case ACTION_FOLLOW:
|
||||||
if (user.isLocked()) {
|
if (!isFriend) {
|
||||||
if (isFriend)
|
|
||||||
user = mTwitter.unfollowUser(UID);
|
|
||||||
else if (!user.followRequested())
|
|
||||||
user = mTwitter.followUser(UID);
|
user = mTwitter.followUser(UID);
|
||||||
// TODO purge follow request
|
if (!user.isLocked())
|
||||||
|
isFriend = true;
|
||||||
} else {
|
} else {
|
||||||
if (!isFriend)
|
|
||||||
user = mTwitter.followUser(UID);
|
|
||||||
else
|
|
||||||
user = mTwitter.unfollowUser(UID);
|
user = mTwitter.unfollowUser(UID);
|
||||||
isFriend = !isFriend;
|
isFriend = false;
|
||||||
}
|
}
|
||||||
publishProgress();
|
publishProgress();
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -151,7 +151,7 @@ public class DatabaseAdapter {
|
||||||
ContentValues favTable = new ContentValues();
|
ContentValues favTable = new ContentValues();
|
||||||
ContentValues status = new ContentValues();
|
ContentValues status = new ContentValues();
|
||||||
|
|
||||||
int register = getStatRegister(db, tweetID);
|
int register = getTweetStatus(db, tweetID);
|
||||||
register |= FAV_MASK;
|
register |= FAV_MASK;
|
||||||
|
|
||||||
favTable.put("tweetID", tweetID);
|
favTable.put("tweetID", tweetID);
|
||||||
|
@ -348,7 +348,7 @@ public class DatabaseAdapter {
|
||||||
SQLiteDatabase db = getDbWrite();
|
SQLiteDatabase db = getDbWrite();
|
||||||
ContentValues statColumn = new ContentValues();
|
ContentValues statColumn = new ContentValues();
|
||||||
ContentValues userColumn = new ContentValues();
|
ContentValues userColumn = new ContentValues();
|
||||||
int register = getStatRegister(db, tweet.getId());
|
int register = getTweetStatus(db, tweet.getId());
|
||||||
if (tweet.retweeted())
|
if (tweet.retweeted())
|
||||||
register |= RTW_MASK;
|
register |= RTW_MASK;
|
||||||
else
|
else
|
||||||
|
@ -412,7 +412,7 @@ public class DatabaseAdapter {
|
||||||
*/
|
*/
|
||||||
public void removeFavorite(long tweetId) {
|
public void removeFavorite(long tweetId) {
|
||||||
SQLiteDatabase db = getDbWrite();
|
SQLiteDatabase db = getDbWrite();
|
||||||
int register = getStatRegister(db, tweetId);
|
int register = getTweetStatus(db, tweetId);
|
||||||
register &= ~FAV_MASK;
|
register &= ~FAV_MASK;
|
||||||
ContentValues status = new ContentValues();
|
ContentValues status = new ContentValues();
|
||||||
status.put("statusregister", register);
|
status.put("statusregister", register);
|
||||||
|
@ -517,11 +517,8 @@ public class DatabaseAdapter {
|
||||||
*/
|
*/
|
||||||
public void muteUser(long id, boolean mute) {
|
public void muteUser(long id, boolean mute) {
|
||||||
SQLiteDatabase db = getDbWrite();
|
SQLiteDatabase db = getDbWrite();
|
||||||
final String query = "SELECT userregister FROM user WHERE userID=" + id + " LIMIT 1";
|
int userRegister = getUserStatus(db, id);
|
||||||
Cursor cursor = db.rawQuery(query, null);
|
|
||||||
if (cursor.moveToFirst()) {
|
|
||||||
int index = cursor.getColumnIndex("userregister");
|
|
||||||
int userRegister = cursor.getInt(index);
|
|
||||||
if (mute)
|
if (mute)
|
||||||
userRegister |= EXCL_USR;
|
userRegister |= EXCL_USR;
|
||||||
else
|
else
|
||||||
|
@ -530,8 +527,6 @@ public class DatabaseAdapter {
|
||||||
ContentValues userColumn = new ContentValues();
|
ContentValues userColumn = new ContentValues();
|
||||||
userColumn.put("userregister", userRegister);
|
userColumn.put("userregister", userRegister);
|
||||||
db.update("user", userColumn, "user.userID=" + id, null);
|
db.update("user", userColumn, "user.userID=" + id, null);
|
||||||
}
|
|
||||||
cursor.close();
|
|
||||||
commit(db);
|
commit(db);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -629,13 +624,19 @@ public class DatabaseAdapter {
|
||||||
|
|
||||||
private void storeUser(TwitterUser user, SQLiteDatabase db, int mode) {
|
private void storeUser(TwitterUser user, SQLiteDatabase db, int mode) {
|
||||||
ContentValues userColumn = new ContentValues();
|
ContentValues userColumn = new ContentValues();
|
||||||
int userRegister = 0;
|
int userRegister = getUserStatus(db, user.getId());
|
||||||
if (user.isVerified())
|
if (user.isVerified())
|
||||||
userRegister |= VER_MASK;
|
userRegister |= VER_MASK;
|
||||||
|
else
|
||||||
|
userRegister &= ~VER_MASK;
|
||||||
if (user.isLocked())
|
if (user.isLocked())
|
||||||
userRegister |= LCK_MASK;
|
userRegister |= LCK_MASK;
|
||||||
|
else
|
||||||
|
userRegister &= ~LCK_MASK;
|
||||||
if (user.followRequested())
|
if (user.followRequested())
|
||||||
userRegister |= FRQ_MASK;
|
userRegister |= FRQ_MASK;
|
||||||
|
else
|
||||||
|
userRegister &= ~FRQ_MASK;
|
||||||
|
|
||||||
userColumn.put("userID", user.getId());
|
userColumn.put("userID", user.getId());
|
||||||
userColumn.put("username", user.getUsername());
|
userColumn.put("username", user.getUsername());
|
||||||
|
@ -667,7 +668,7 @@ public class DatabaseAdapter {
|
||||||
rtId = rtStat.getId();
|
rtId = rtStat.getId();
|
||||||
}
|
}
|
||||||
|
|
||||||
statusRegister |= getStatRegister(db, tweet.getId());
|
statusRegister |= getTweetStatus(db, tweet.getId());
|
||||||
if (tweet.favored()) {
|
if (tweet.favored()) {
|
||||||
statusRegister |= FAV_MASK;
|
statusRegister |= FAV_MASK;
|
||||||
} else {
|
} else {
|
||||||
|
@ -726,7 +727,7 @@ public class DatabaseAdapter {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private int getStatRegister(SQLiteDatabase db, long tweetID) {
|
private int getTweetStatus(SQLiteDatabase db, long tweetID) {
|
||||||
final String query = "SELECT statusregister FROM tweet WHERE tweetID=" + tweetID + " LIMIT 1;";
|
final String query = "SELECT statusregister FROM tweet WHERE tweetID=" + tweetID + " LIMIT 1;";
|
||||||
Cursor c = db.rawQuery(query, null);
|
Cursor c = db.rawQuery(query, null);
|
||||||
int result = 0;
|
int result = 0;
|
||||||
|
@ -739,6 +740,19 @@ public class DatabaseAdapter {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private int getUserStatus(SQLiteDatabase db, long userID) {
|
||||||
|
final String query = "SELECT userregister FROM user WHERE userID=" + userID + " LIMIT 1;";
|
||||||
|
Cursor c = db.rawQuery(query, null);
|
||||||
|
int result = 0;
|
||||||
|
if (c.moveToFirst()) {
|
||||||
|
int pos = c.getColumnIndex("userregister");
|
||||||
|
result = c.getInt(pos);
|
||||||
|
}
|
||||||
|
c.close();
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private synchronized SQLiteDatabase getDbRead() {
|
private synchronized SQLiteDatabase getDbRead() {
|
||||||
return dataHelper.getReadableDatabase();
|
return dataHelper.getReadableDatabase();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue