Store the event of settings db downgrade

am: 264c7a90c7

Change-Id: I5b9d5a9bd3c2df337776921a34960ceef8fda1ce
This commit is contained in:
Svetoslav Ganov
2016-08-25 02:25:47 +00:00
committed by android-build-merger
2 changed files with 18 additions and 2 deletions

View File

@@ -8730,6 +8730,16 @@ public final class Settings {
*/
public static final String RETAIL_DEMO_MODE_CONSTANTS = "retail_demo_mode_constants";
/**
* The reason for the settings database being downgraded. This is only for
* troubleshooting purposes and its value should not be interpreted in any way.
*
* Type: string
*
* @hide
*/
public static final String DATABASE_DOWNGRADE_REASON = "database_downgrade_reason";
/**
* Settings to backup. This is here so that it's in the same place as the settings
* keys and easy to update.

View File

@@ -114,7 +114,7 @@ import java.util.regex.Pattern;
public class SettingsProvider extends ContentProvider {
private static final boolean DEBUG = false;
private static final boolean DROP_DATABASE_ON_MIGRATION = !Build.IS_DEBUGGABLE;
private static final boolean DROP_DATABASE_ON_MIGRATION = true;
private static final String LOG_TAG = "SettingsProvider";
@@ -2142,6 +2142,12 @@ public class SettingsProvider extends ContentProvider {
// Now upgrade should work fine.
onUpgradeLocked(mUserId, oldVersion, newVersion);
// Make a note what happened, so we don't wonder why data was lost
String reason = "Settings rebuilt! Current version: "
+ curVersion + " while expected: " + newVersion;
getGlobalSettingsLocked().insertSettingLocked(
Settings.Global.DATABASE_DOWNGRADE_REASON, reason, "android");
}
// Set the global settings version if owner.
@@ -2427,7 +2433,7 @@ public class SettingsProvider extends ContentProvider {
}
if (currentVersion != newVersion) {
Slog.w("SettingsProvider", "warning: upgrading settings database to version "
Slog.wtf("SettingsProvider", "warning: upgrading settings database to version "
+ newVersion + " left it at "
+ currentVersion + " instead; this is probably a bug", new Throwable());
if (DEBUG) {