Skip to content

Commit ba5d13e

Browse files
committed
Fixed an error when trying to insert Gmail aliases to the database. Upgrade the database version to 6. | Close #158.
1 parent e121ee1 commit ba5d13e

File tree

2 files changed

+23
-4
lines changed

2 files changed

+23
-4
lines changed

FlowCrypt/src/main/java/com/flowcrypt/email/database/FlowCryptSQLiteOpenHelper.java

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
public class FlowCryptSQLiteOpenHelper extends SQLiteOpenHelper {
3232
public static final String COLUMN_NAME_COUNT = "COUNT(*)";
3333
public static final String DB_NAME = "flowcrypt.db";
34-
public static final int DB_VERSION = 5;
34+
public static final int DB_VERSION = 6;
3535

3636
private static final String TAG = FlowCryptSQLiteOpenHelper.class.getSimpleName();
3737
private static final String DROP_TABLE = "DROP TABLE IF EXISTS ";
@@ -80,21 +80,29 @@ public void onUpgrade(SQLiteDatabase sqLiteDatabase, int oldVersion, int newVers
8080
upgradeDatabaseFrom2To3Version(sqLiteDatabase);
8181
upgradeDatabaseFrom3To4Version(sqLiteDatabase);
8282
upgradeDatabaseFrom4To5Version(sqLiteDatabase);
83+
upgradeDatabaseFrom5To6Version(sqLiteDatabase);
8384
break;
8485

8586
case 2:
8687
upgradeDatabaseFrom2To3Version(sqLiteDatabase);
8788
upgradeDatabaseFrom3To4Version(sqLiteDatabase);
8889
upgradeDatabaseFrom4To5Version(sqLiteDatabase);
90+
upgradeDatabaseFrom5To6Version(sqLiteDatabase);
8991
break;
9092

9193
case 3:
9294
upgradeDatabaseFrom3To4Version(sqLiteDatabase);
9395
upgradeDatabaseFrom4To5Version(sqLiteDatabase);
96+
upgradeDatabaseFrom5To6Version(sqLiteDatabase);
9497
break;
9598

9699
case 4:
97100
upgradeDatabaseFrom4To5Version(sqLiteDatabase);
101+
upgradeDatabaseFrom5To6Version(sqLiteDatabase);
102+
break;
103+
104+
case 5:
105+
upgradeDatabaseFrom5To6Version(sqLiteDatabase);
98106
break;
99107
}
100108

@@ -188,4 +196,15 @@ private void upgradeDatabaseFrom4To5Version(SQLiteDatabase sqLiteDatabase) {
188196
sqLiteDatabase.endTransaction();
189197
}
190198
}
199+
200+
private void upgradeDatabaseFrom5To6Version(SQLiteDatabase sqLiteDatabase) {
201+
sqLiteDatabase.beginTransaction();
202+
try {
203+
sqLiteDatabase.execSQL("DROP INDEX IF EXISTS email_account_type_in_accounts_aliases");
204+
sqLiteDatabase.execSQL(AccountAliasesDaoSource.CREATE_INDEX_EMAIL_TYPE_IN_ACCOUNTS_ALIASES);
205+
sqLiteDatabase.setTransactionSuccessful();
206+
} finally {
207+
sqLiteDatabase.endTransaction();
208+
}
209+
}
191210
}

FlowCrypt/src/main/java/com/flowcrypt/email/database/dao/source/AccountAliasesDaoSource.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,9 @@ public class AccountAliasesDaoSource extends BaseDaoSource {
4949
COL_VERIFICATION_STATUS + " TEXT NOT NULL " + ");";
5050

5151
public static final String CREATE_INDEX_EMAIL_TYPE_IN_ACCOUNTS_ALIASES = "CREATE UNIQUE INDEX IF NOT EXISTS "
52-
+ COL_EMAIL + "_" + COL_ACCOUNT_TYPE + "_in_" + TABLE_NAME_ACCOUNTS_ALIASES + " ON " +
53-
TABLE_NAME_ACCOUNTS_ALIASES +
54-
" (" + COL_EMAIL + ", " + COL_ACCOUNT_TYPE + ")";
52+
+ COL_EMAIL + "_" + COL_ACCOUNT_TYPE + "_" + COL_SEND_AS_EMAIL + "_in_" + TABLE_NAME_ACCOUNTS_ALIASES
53+
+ " ON " + TABLE_NAME_ACCOUNTS_ALIASES + " (" + COL_EMAIL + ", " + COL_ACCOUNT_TYPE + ", " +
54+
COL_SEND_AS_EMAIL + ")";
5555

5656
/**
5757
* Generate the {@link AccountAliasesDao} from the current cursor position;

0 commit comments

Comments
 (0)