From fc7b78a2af84012af65f36735ebcee4f24a22bc7 Mon Sep 17 00:00:00 2001 From: Adnan Date: Mon, 10 Nov 2014 10:35:02 -0800 Subject: Trebuchet: Handle migrate from Launcher3/Trebuchet Change-Id: I3d12c134a64afa855d803bce27e0de2915306ad2 --- src/com/android/launcher3/LauncherProvider.java | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'src/com') diff --git a/src/com/android/launcher3/LauncherProvider.java b/src/com/android/launcher3/LauncherProvider.java index ecc1cdf75..419505e09 100644 --- a/src/com/android/launcher3/LauncherProvider.java +++ b/src/com/android/launcher3/LauncherProvider.java @@ -496,7 +496,7 @@ public class LauncherProvider extends ContentProvider { "modified INTEGER NOT NULL DEFAULT 0," + "restored INTEGER NOT NULL DEFAULT 0," + "profileId INTEGER DEFAULT " + userSerialNumber + - "hidden INTEGER DEFAULT 0" + + ",hidden INTEGER DEFAULT 0" + ");"); addWorkspacesTable(db); @@ -959,7 +959,25 @@ public class LauncherProvider extends ContentProvider { } if (oldVersion < 21) { - db.execSQL("ALTER TABLE favorites ADD hidden INTEGER DEFAULT 0"); + //Check for column's existence, hackish way to make sure + //we can upgrade from Trebuchet and from Launcher3(new) + Cursor c = null; + try { + c = db.rawQuery("SELECT hidden FROM favorites", null); + //if we have don't have hidden, add it + if (c == null || (c != null && !c.moveToNext())) { + db.execSQL("ALTER TABLE favorites ADD hidden INTEGER DEFAULT 0"); + } else { + //otherwise, we don't have profiles + addProfileColumn(db); + } + } catch (SQLException e) { + Log.e(TAG, e.getMessage(), e); + } finally { + if (c != null) { + c.close(); + } + } version = 21; } -- cgit v1.2.3