am 9ff0e69d: am efcd37e2: Merge "Fix Dialer crash due to missing database columns" into klp-dev

* commit '9ff0e69daccc9b8d327a004935cc307d2f6d0343':
  Fix Dialer crash due to missing database columns
diff --git a/src/com/android/dialer/database/DialerDatabaseHelper.java b/src/com/android/dialer/database/DialerDatabaseHelper.java
index 2fa561f..4bf8eda 100644
--- a/src/com/android/dialer/database/DialerDatabaseHelper.java
+++ b/src/com/android/dialer/database/DialerDatabaseHelper.java
@@ -71,7 +71,7 @@
      *   0-98   KeyLimePie
      * </pre>
      */
-    public static final int DATABASE_VERSION = 3;
+    public static final int DATABASE_VERSION = 4;
     public static final String DATABASE_NAME = "dialer.db";
 
     /**
@@ -337,6 +337,7 @@
      */
     @Override
     public void onCreate(SQLiteDatabase db) {
+        dropTables(db);
         db.execSQL("CREATE TABLE " + Tables.SMARTDIAL_TABLE + " (" +
                 SmartDialDbColumns._ID + " INTEGER PRIMARY KEY AUTOINCREMENT," +
                 SmartDialDbColumns.DATA_ID + " INTEGER, " +
@@ -369,6 +370,12 @@
         resetSmartDialLastUpdatedTime();
     }
 
+    public void dropTables(SQLiteDatabase db) {
+        db.execSQL("DROP TABLE IF EXISTS " + Tables.PREFIX_TABLE);
+        db.execSQL("DROP TABLE IF EXISTS " + Tables.SMARTDIAL_TABLE);
+        db.execSQL("DROP TABLE IF EXISTS " + Tables.PROPERTIES);
+    }
+
     @Override
     public void onUpgrade(SQLiteDatabase db, int oldNumber, int newNumber) {
         // Disregard the old version and new versions provided by SQLiteOpenHelper, we will read
@@ -382,21 +389,11 @@
             Log.e(TAG, "Malformed database version..recreating database");
         }
 
-        if (oldVersion < 2) {
-            db.execSQL("DROP TABLE IF EXISTS " + Tables.PREFIX_TABLE);
-            db.execSQL("DROP TABLE IF EXISTS " + Tables.SMARTDIAL_TABLE);
+        if (oldVersion < 4) {
             onCreate(db);
             return;
         }
 
-        if (oldVersion < 3) {
-            db.execSQL("CREATE TABLE " + Tables.PROPERTIES + " (" +
-                    PropertiesColumns.PROPERTY_KEY + " TEXT PRIMARY KEY, " +
-                    PropertiesColumns.PROPERTY_VALUE + " TEXT " +
-                    ");");
-            oldVersion = 3;
-        }
-
         if (oldVersion != DATABASE_VERSION) {
             throw new IllegalStateException(
                     "error upgrading the database to version " + DATABASE_VERSION);
@@ -447,7 +444,7 @@
     }
 
     public int getPropertyAsInt(SQLiteDatabase db, String key, int defaultValue) {
-        final String stored = getProperty(db, DATABASE_VERSION_PROPERTY, "");
+        final String stored = getProperty(db, key, "");
         try {
             return Integer.parseInt(stored);
         } catch (NumberFormatException e) {