From fab8bbfd325b405b7141c64b7983f76da343040f Mon Sep 17 00:00:00 2001 From: Michael Bestas Date: Sat, 19 Jan 2019 01:45:49 +0200 Subject: [PATCH] LineageSettingsProvider: Fix migration of FORCE_SHOW_NAVBAR * It was moved from Global to System but no migration was in place to handle upgrades from previous versions. Change-Id: If76243b0224dbc0138cf3c5dbc8aaeefa69f06a4 --- .../LineageDatabaseHelper.java | 32 ++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/packages/LineageSettingsProvider/src/org/lineageos/lineagesettings/LineageDatabaseHelper.java b/packages/LineageSettingsProvider/src/org/lineageos/lineagesettings/LineageDatabaseHelper.java index e1208b79..b4563276 100644 --- a/packages/LineageSettingsProvider/src/org/lineageos/lineagesettings/LineageDatabaseHelper.java +++ b/packages/LineageSettingsProvider/src/org/lineageos/lineagesettings/LineageDatabaseHelper.java @@ -51,7 +51,7 @@ public class LineageDatabaseHelper extends SQLiteOpenHelper{ private static final boolean LOCAL_LOGV = false; private static final String DATABASE_NAME = "lineagesettings.db"; - private static final int DATABASE_VERSION = 10; + private static final int DATABASE_VERSION = 11; private static final String DATABASE_NAME_OLD = "cmsettings.db"; @@ -362,6 +362,36 @@ public class LineageDatabaseHelper extends SQLiteOpenHelper{ } upgradeVersion = 10; } + + if (upgradeVersion < 11) { + // Move force_show_navbar to system + if (mUserHandle == UserHandle.USER_OWNER) { + db.beginTransaction(); + SQLiteStatement stmt = null; + try { + stmt = db.compileStatement("SELECT value FROM global WHERE name=?"); + stmt.bindString(1, LineageSettings.Global.DEV_FORCE_SHOW_NAVBAR); + long value = stmt.simpleQueryForLong(); + + stmt = db.compileStatement("INSERT INTO system (name, value) VALUES (?, ?)"); + stmt.bindString(1, LineageSettings.System.FORCE_SHOW_NAVBAR); + stmt.bindLong(2, value); + stmt.execute(); + + stmt = db.compileStatement("DELETE FROM global WHERE name=?"); + stmt.bindString(1, LineageSettings.Global.DEV_FORCE_SHOW_NAVBAR); + stmt.execute(); + + db.setTransactionSuccessful(); + } catch (SQLiteDoneException ex) { + // LineageSettings.Global.DEV_FORCE_SHOW_NAVBAR is not set + } finally { + if (stmt != null) stmt.close(); + db.endTransaction(); + } + } + upgradeVersion = 11; + } // *** Remember to update DATABASE_VERSION above! }