From 5ded0fcf6c14caab00f00f62e50ac4acd028802a Mon Sep 17 00:00:00 2001 From: Hendrik Hagendorn Date: Sun, 15 Jan 2017 08:45:51 +0100 Subject: [PATCH] sdk: Update for refactored battery icon options * Handle the migration for old settings and default to Android's stock battery style. * Hiding battery icon is now achieved using icon blacklist via system tuner settings. Change-Id: Ie41d71c774a34abe225e2c0a6a0a9fd4316189cd --- host/migration/src/LineageSettings.java | 6 +-- .../res/values/defaults.xml | 12 +++--- .../LineageDatabaseHelper.java | 39 ++++++++++++++++++- .../lineageos/providers/LineageSettings.java | 8 ++-- 4 files changed, 48 insertions(+), 17 deletions(-) diff --git a/host/migration/src/LineageSettings.java b/host/migration/src/LineageSettings.java index dabe8344..13540967 100644 --- a/host/migration/src/LineageSettings.java +++ b/host/migration/src/LineageSettings.java @@ -80,10 +80,8 @@ public final class LineageSettings { /** * Display style of the status bar battery information * 0: Display the battery an icon in portrait mode - * 2: Display the battery as a circle - * 4: Hide the battery status information - * 5: Display the battery an icon in landscape mode - * 6: Display the battery as plain text + * 1: Display the battery as a circle + * 2: Display the battery as plain text * default: 0 * @hide */ diff --git a/packages/LineageSettingsProvider/res/values/defaults.xml b/packages/LineageSettingsProvider/res/values/defaults.xml index 3a23f523..8c993720 100644 --- a/packages/LineageSettingsProvider/res/values/defaults.xml +++ b/packages/LineageSettingsProvider/res/values/defaults.xml @@ -1,6 +1,7 @@ - 2 + * 1: Display the battery as a circle + * 2: Display the battery as plain text + --> + 0 true diff --git a/packages/LineageSettingsProvider/src/org/lineageos/lineagesettings/LineageDatabaseHelper.java b/packages/LineageSettingsProvider/src/org/lineageos/lineagesettings/LineageDatabaseHelper.java index b4563276..670b402f 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 = 11; + private static final int DATABASE_VERSION = 12; private static final String DATABASE_NAME_OLD = "cmsettings.db"; @@ -392,6 +392,43 @@ public class LineageDatabaseHelper extends SQLiteOpenHelper{ } upgradeVersion = 11; } + + if (upgradeVersion < 12) { + if (mUserHandle == UserHandle.USER_OWNER) { + db.beginTransaction(); + SQLiteStatement stmt = null; + try { + stmt = db.compileStatement("SELECT value FROM system WHERE name=?"); + stmt.bindString(1, LineageSettings.System.STATUS_BAR_BATTERY_STYLE); + long value = stmt.simpleQueryForLong(); + + long newValue = 0; + switch ((int) value) { + case 2: + newValue = 1; + break; + case 5: + newValue = 0; + break; + case 6: + newValue = 2; + break; + } + + stmt = db.compileStatement("UPDATE system SET value=? WHERE name=?"); + stmt.bindLong(1, newValue); + stmt.bindString(2, LineageSettings.System.STATUS_BAR_BATTERY_STYLE); + stmt.execute(); + db.setTransactionSuccessful(); + } catch (SQLiteDoneException ex) { + // LineageSettings.System.STATUS_BAR_BATTERY_STYLE is not set + } finally { + if (stmt != null) stmt.close(); + db.endTransaction(); + } + } + upgradeVersion = 12; + } // *** Remember to update DATABASE_VERSION above! } diff --git a/sdk/src/java/lineageos/providers/LineageSettings.java b/sdk/src/java/lineageos/providers/LineageSettings.java index 9d121024..e7336fa5 100644 --- a/sdk/src/java/lineageos/providers/LineageSettings.java +++ b/sdk/src/java/lineageos/providers/LineageSettings.java @@ -923,17 +923,15 @@ public final class LineageSettings { /** * Display style of the status bar battery information * 0: Display the battery an icon in portrait mode - * 2: Display the battery as a circle - * 4: Hide the battery status information - * 5: Display the battery an icon in landscape mode - * 6: Display the battery as plain text + * 1: Display the battery as a circle + * 2: Display the battery as plain text * default: 0 */ public static final String STATUS_BAR_BATTERY_STYLE = "status_bar_battery_style"; /** @hide */ public static final Validator STATUS_BAR_BATTERY_STYLE_VALIDATOR = - new DiscreteValueValidator(new String[] {"0", "2", "4", "5", "6"}); + new InclusiveIntegerRangeValidator(0, 2); /** * Status bar battery %