summaryrefslogtreecommitdiff
path: root/src/com/android/email/provider/DBHelper.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/email/provider/DBHelper.java')
-rw-r--r--src/com/android/email/provider/DBHelper.java48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/com/android/email/provider/DBHelper.java b/src/com/android/email/provider/DBHelper.java
index 299e8f83e..2798ef9e1 100644
--- a/src/com/android/email/provider/DBHelper.java
+++ b/src/com/android/email/provider/DBHelper.java
@@ -48,6 +48,7 @@ import com.android.emailcommon.provider.EmailContent.Message;
import com.android.emailcommon.provider.EmailContent.MessageColumns;
import com.android.emailcommon.provider.EmailContent.PolicyColumns;
import com.android.emailcommon.provider.EmailContent.QuickResponseColumns;
+import com.android.emailcommon.provider.EmailContent.SuggestedContactColumns;
import com.android.emailcommon.provider.EmailContent.SyncColumns;
import com.android.emailcommon.provider.HostAuth;
import com.android.emailcommon.provider.Mailbox;
@@ -56,6 +57,7 @@ import com.android.emailcommon.provider.MessageMove;
import com.android.emailcommon.provider.MessageStateChange;
import com.android.emailcommon.provider.Policy;
import com.android.emailcommon.provider.QuickResponse;
+import com.android.emailcommon.provider.SuggestedContact;
import com.android.emailcommon.service.LegacyPolicySet;
import com.android.emailcommon.service.SyncWindow;
import com.android.mail.providers.UIProvider;
@@ -198,6 +200,11 @@ public final class DBHelper {
// Version 101: Move body contents to external files
public static final int BODY_DATABASE_VERSION = 101;
+ // Any changes to the database format *must* include update-in-place code.
+ // Original version: 1
+ // Version 1: Suggested contacts
+ public static final int EXTRAS_DATABASE_VERSION = 1;
+
/*
* Internal helper method for index creation.
* Example:
@@ -686,6 +693,24 @@ public final class DBHelper {
db.execSQL(createIndex(Body.TABLE_NAME, BodyColumns.MESSAGE_KEY));
}
+ private static void createSuggestedContactTable(SQLiteDatabase db) {
+ String s = " (" + SuggestedContactColumns._ID + " integer primary key autoincrement, "
+ + SuggestedContactColumns.ACCOUNT_KEY + " integer, "
+ + SuggestedContactColumns.ADDRESS + " text, "
+ + SuggestedContactColumns.NAME + " text, "
+ + SuggestedContactColumns.DISPLAY_NAME + " text, "
+ + SuggestedContactColumns.LAST_SEEN + " integer"
+ + ");";
+ db.execSQL("create table " + SuggestedContact.TABLE_NAME + s);
+
+ // Create a unique index for account-address
+ String indexDDL = "create unique index " + SuggestedContact.TABLE_NAME.toLowerCase()
+ + "_account_address" + " on " + SuggestedContact.TABLE_NAME
+ + " (" + SuggestedContactColumns.ACCOUNT_KEY + ", "
+ + SuggestedContactColumns.ADDRESS + ");";
+ db.execSQL(indexDDL);
+ }
+
private static void upgradeBodyToVersion5(final SQLiteDatabase db) {
try {
db.execSQL("drop table " + Body.TABLE_NAME);
@@ -824,6 +849,29 @@ public final class DBHelper {
}
}
+ protected static class ExtrasDatabaseHelper extends SQLiteOpenHelper {
+ final Context mContext;
+
+ ExtrasDatabaseHelper(Context context, String name) {
+ super(context, name, null, EXTRAS_DATABASE_VERSION);
+ mContext = context;
+ }
+
+ @Override
+ public void onCreate(SQLiteDatabase db) {
+ LogUtils.d(TAG, "Creating EmailProviderExtras database");
+ createSuggestedContactTable(db);
+ }
+
+ @Override
+ public void onUpgrade(final SQLiteDatabase db, final int oldVersion, final int newVersion) {
+ }
+
+ @Override
+ public void onOpen(SQLiteDatabase db) {
+ }
+ }
+
/** Counts the number of messages in each mailbox, and updates the message count column. */
@VisibleForTesting
static void recalculateMessageCount(SQLiteDatabase db) {