From 849a6f78a599f98169e941d38d98d952a986489b Mon Sep 17 00:00:00 2001 From: Roshan Pius Date: Mon, 23 Mar 2020 16:41:21 -0700 Subject: [PATCH] WifiMigration: Add a settings key to indicate migration is complete Bug: 151888061 Test: Manual verification (ensured that this method returns null after first reboot) Change-Id: Ie8ad397c7b68e35cfa7b696ef22d84f376cf3fe7 --- core/java/android/provider/Settings.java | 8 ++++++++ .../test/src/android/provider/SettingsBackupTest.java | 1 + wifi/java/android/net/wifi/WifiMigration.java | 11 ++++++++++- 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index a28ea899694cf..ccc3132c535d4 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -10337,6 +10337,14 @@ public final class Settings { @SystemApi public static final String WIFI_WAKEUP_ENABLED = "wifi_wakeup_enabled"; + /** + * Value to specify if wifi settings migration is complete or not. + * + * Type: int (0 for false, 1 for true) + * @hide + */ + public static final String WIFI_MIGRATION_COMPLETED = "wifi_migration_completed"; + /** * Value to specify whether network quality scores and badging should be shown in the UI. * diff --git a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java index 24cc3c901920c..a36949b9e1ffa 100644 --- a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java +++ b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java @@ -540,6 +540,7 @@ public class SettingsBackupTest { Settings.Global.WIFI_FREQUENCY_BAND, Settings.Global.WIFI_IDLE_MS, Settings.Global.WIFI_MAX_DHCP_RETRY_COUNT, + Settings.Global.WIFI_MIGRATION_COMPLETED, Settings.Global.WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS, Settings.Global.WIFI_NETWORK_SHOW_RSSI, Settings.Global.WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY, diff --git a/wifi/java/android/net/wifi/WifiMigration.java b/wifi/java/android/net/wifi/WifiMigration.java index 87afdc59c2b9a..5792d27a94f99 100755 --- a/wifi/java/android/net/wifi/WifiMigration.java +++ b/wifi/java/android/net/wifi/WifiMigration.java @@ -522,7 +522,12 @@ public final class WifiMigration { */ @NonNull public static SettingsMigrationData loadFromSettings(@NonNull Context context) { - return new SettingsMigrationData.Builder() + if (Settings.Global.getInt( + context.getContentResolver(), Settings.Global.WIFI_MIGRATION_COMPLETED, 0) == 1) { + // migration already complete, ignore. + return null; + } + SettingsMigrationData data = new SettingsMigrationData.Builder() .setScanAlwaysAvailable( Settings.Global.getInt(context.getContentResolver(), Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, 0) == 1) @@ -545,5 +550,9 @@ public final class WifiMigration { Settings.Global.getInt(context.getContentResolver(), Settings.Global.WIFI_VERBOSE_LOGGING_ENABLED, 0) == 1) .build(); + Settings.Global.putInt( + context.getContentResolver(), Settings.Global.WIFI_MIGRATION_COMPLETED, 1); + return data; + } }