mirror of
https://github.com/moparisthebest/k-9
synced 2024-11-02 00:25:10 -04:00
Aggressively get rid of obsolete Flag X_NO_SEEN_INFO. It was
interfering with "unread" searches on POP3 accounts. Flags really should be normalized in the database to eliminate the use of LIKE while searching by Flags.
This commit is contained in:
parent
c7d679f773
commit
6cfcfb953f
@ -19,10 +19,6 @@ public enum Flag
|
||||
* these flags and Strings to represent user defined flags. At that point the below
|
||||
* flags should become user defined flags.
|
||||
*/
|
||||
/*
|
||||
* For POP3 to indicate that the message does not have SEEN info
|
||||
*/
|
||||
X_NO_SEEN_INFO,
|
||||
/**
|
||||
* Delete and remove from the LocalStore immediately.
|
||||
*/
|
||||
|
@ -34,7 +34,7 @@ import java.util.regex.Matcher;
|
||||
*/
|
||||
public class LocalStore extends Store implements Serializable
|
||||
{
|
||||
private static final int DB_VERSION = 34;
|
||||
private static final int DB_VERSION = 35;
|
||||
private static final Flag[] PERMANENT_FLAGS = { Flag.DELETED, Flag.X_DESTROYED, Flag.SEEN, Flag.FLAGGED };
|
||||
|
||||
private String mPath;
|
||||
@ -215,6 +215,17 @@ public class LocalStore extends Store implements Serializable
|
||||
}
|
||||
}
|
||||
}
|
||||
if (mDb.getVersion() < 35)
|
||||
{
|
||||
try
|
||||
{
|
||||
mDb.execSQL("update messages set flags = replace(flags, 'X_NO_SEEN_INFO', 'X_BAD_FLAG')");
|
||||
}
|
||||
catch (SQLiteException e)
|
||||
{
|
||||
Log.e(K9.LOG_TAG, "Unable to get rid of obsolete flag X_NO_SEEN_INFO", e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -2357,15 +2368,21 @@ public class LocalStore extends Store implements Serializable
|
||||
if (flagList != null && flagList.length() > 0)
|
||||
{
|
||||
String[] flags = flagList.split(",");
|
||||
try
|
||||
|
||||
for (String flag : flags)
|
||||
{
|
||||
for (String flag : flags)
|
||||
try
|
||||
{
|
||||
this.setFlagInternal(Flag.valueOf(flag), true);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
||||
catch (Exception e)
|
||||
{
|
||||
if ("X_BAD_FLAG".equals(flag) == false)
|
||||
{
|
||||
Log.w(K9.LOG_TAG, "Unable to parse flag " + flag);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
this.mId = cursor.getLong(5);
|
||||
|
@ -1094,7 +1094,6 @@ public class Pop3Store extends Store
|
||||
mUid = uid;
|
||||
mFolder = folder;
|
||||
mSize = -1;
|
||||
mFlags.add(Flag.X_NO_SEEN_INFO);
|
||||
}
|
||||
|
||||
public void setSize(int size)
|
||||
|
Loading…
Reference in New Issue
Block a user