Loading api/current.txt +2 −2 Original line number Diff line number Diff line Loading @@ -23627,7 +23627,7 @@ package android.provider { field public static final java.lang.String DEVELOPMENT_SETTINGS_ENABLED = "development_settings_enabled"; field public static final java.lang.String DEVICE_PROVISIONED = "device_provisioned"; field public static final java.lang.String HTTP_PROXY = "http_proxy"; field public static final java.lang.String INSTALL_NON_MARKET_APPS = "install_non_market_apps"; field public static final deprecated java.lang.String INSTALL_NON_MARKET_APPS = "install_non_market_apps"; field public static final java.lang.String MODE_RINGER = "mode_ringer"; field public static final java.lang.String NETWORK_PREFERENCE = "network_preference"; field public static final java.lang.String RADIO_BLUETOOTH = "bluetooth"; Loading Loading @@ -23697,7 +23697,7 @@ package android.provider { field public static final java.lang.String ENABLED_INPUT_METHODS = "enabled_input_methods"; field public static final deprecated java.lang.String HTTP_PROXY = "http_proxy"; field public static final java.lang.String INPUT_METHOD_SELECTOR_VISIBILITY = "input_method_selector_visibility"; field public static final deprecated java.lang.String INSTALL_NON_MARKET_APPS = "install_non_market_apps"; field public static final java.lang.String INSTALL_NON_MARKET_APPS = "install_non_market_apps"; field public static final java.lang.String LOCATION_MODE = "location_mode"; field public static final int LOCATION_MODE_BATTERY_SAVING = 2; // 0x2 field public static final int LOCATION_MODE_HIGH_ACCURACY = 3; // 0x3 core/java/android/provider/Settings.java +32 −13 Original line number Diff line number Diff line Loading @@ -1088,6 +1088,9 @@ public final class Settings { MOVED_TO_SECURE.add(Secure.WIFI_WATCHDOG_PING_COUNT); MOVED_TO_SECURE.add(Secure.WIFI_WATCHDOG_PING_DELAY_MS); MOVED_TO_SECURE.add(Secure.WIFI_WATCHDOG_PING_TIMEOUT_MS); // At one time in System, then Global, but now back in Secure MOVED_TO_SECURE.add(Secure.INSTALL_NON_MARKET_APPS); } private static final HashSet<String> MOVED_TO_GLOBAL; Loading @@ -1102,7 +1105,6 @@ public final class Settings { MOVED_TO_SECURE_THEN_GLOBAL.add(Global.BLUETOOTH_ON); MOVED_TO_SECURE_THEN_GLOBAL.add(Global.DATA_ROAMING); MOVED_TO_SECURE_THEN_GLOBAL.add(Global.DEVICE_PROVISIONED); MOVED_TO_SECURE_THEN_GLOBAL.add(Global.INSTALL_NON_MARKET_APPS); MOVED_TO_SECURE_THEN_GLOBAL.add(Global.USB_MASS_STORAGE_ENABLED); MOVED_TO_SECURE_THEN_GLOBAL.add(Global.HTTP_PROXY); Loading Loading @@ -2573,10 +2575,10 @@ public final class Settings { public static final String HTTP_PROXY = Global.HTTP_PROXY; /** * @deprecated Use {@link android.provider.Settings.Global#INSTALL_NON_MARKET_APPS} instead * @deprecated Use {@link android.provider.Settings.Secure#INSTALL_NON_MARKET_APPS} instead */ @Deprecated public static final String INSTALL_NON_MARKET_APPS = Global.INSTALL_NON_MARKET_APPS; public static final String INSTALL_NON_MARKET_APPS = Secure.INSTALL_NON_MARKET_APPS; /** * @deprecated Use {@link android.provider.Settings.Secure#LOCATION_PROVIDERS_ALLOWED} Loading Loading @@ -2814,7 +2816,6 @@ public final class Settings { MOVED_TO_GLOBAL.add(Settings.Global.DISPLAY_SIZE_FORCED); MOVED_TO_GLOBAL.add(Settings.Global.DOWNLOAD_MAX_BYTES_OVER_MOBILE); MOVED_TO_GLOBAL.add(Settings.Global.DOWNLOAD_RECOMMENDED_MAX_BYTES_OVER_MOBILE); MOVED_TO_GLOBAL.add(Settings.Global.INSTALL_NON_MARKET_APPS); MOVED_TO_GLOBAL.add(Settings.Global.MOBILE_DATA); MOVED_TO_GLOBAL.add(Settings.Global.NETSTATS_DEV_BUCKET_DURATION); MOVED_TO_GLOBAL.add(Settings.Global.NETSTATS_DEV_DELETE_AGE); Loading Loading @@ -3404,10 +3405,13 @@ public final class Settings { public static final String HTTP_PROXY = Global.HTTP_PROXY; /** * @deprecated Use {@link android.provider.Settings.Global#INSTALL_NON_MARKET_APPS} instead * Whether applications can be installed for this user via the system's * {@link Intent#ACTION_INSTALL_PACKAGE} mechanism. * * <p>1 = permit app installation via the system package installer intent * <p>0 = do not allow use of the package installer */ @Deprecated public static final String INSTALL_NON_MARKET_APPS = Global.INSTALL_NON_MARKET_APPS; public static final String INSTALL_NON_MARKET_APPS = "install_non_market_apps"; /** * Comma-separated list of location providers that activities may access. Do not rely on Loading Loading @@ -5066,13 +5070,10 @@ public final class Settings { "download_manager_recommended_max_bytes_over_mobile"; /** * Whether the package installer should allow installation of apps downloaded from * sources other than Google Play. * * 1 = allow installing from other sources * 0 = only allow installing from Google Play * @deprecated Use {@link android.provider.Settings.Secure#INSTALL_NON_MARKET_APPS} instead */ public static final String INSTALL_NON_MARKET_APPS = "install_non_market_apps"; @Deprecated public static final String INSTALL_NON_MARKET_APPS = Secure.INSTALL_NON_MARKET_APPS; /** * Whether mobile data connections are allowed by the user. See Loading Loading @@ -6238,6 +6239,13 @@ public final class Settings { CALL_METHOD_GET_GLOBAL, CALL_METHOD_PUT_GLOBAL); // Certain settings have been moved from global to the per-user secure namespace private static final HashSet<String> MOVED_TO_SECURE; static { MOVED_TO_SECURE = new HashSet<String>(1); MOVED_TO_SECURE.add(Settings.Global.INSTALL_NON_MARKET_APPS); } /** * Look up a name in the database. * @param resolver to access the database with Loading @@ -6251,6 +6259,11 @@ public final class Settings { /** @hide */ public static String getStringForUser(ContentResolver resolver, String name, int userHandle) { if (MOVED_TO_SECURE.contains(name)) { Log.w(TAG, "Setting " + name + " has moved from android.provider.Settings.Global" + " to android.provider.Settings.Secure, returning read-only value."); return Secure.getStringForUser(resolver, name, userHandle); } return sNameValueCache.getStringForUser(resolver, name, userHandle); } Loading @@ -6273,6 +6286,12 @@ public final class Settings { Log.v(TAG, "Global.putString(name=" + name + ", value=" + value + " for " + userHandle); } // Global and Secure have the same access policy so we can forward writes if (MOVED_TO_SECURE.contains(name)) { Log.w(TAG, "Setting " + name + " has moved from android.provider.Settings.Global" + " to android.provider.Settings.Secure, value is unchanged."); return Secure.putStringForUser(resolver, name, value, userHandle); } return sNameValueCache.putStringForUser(resolver, name, value, userHandle); } Loading packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java +32 −4 Original line number Diff line number Diff line Loading @@ -70,7 +70,7 @@ public class DatabaseHelper extends SQLiteOpenHelper { // database gets upgraded properly. At a minimum, please confirm that 'upgradeVersion' // is properly propagated through your change. Not doing so will result in a loss of user // settings. private static final int DATABASE_VERSION = 102; private static final int DATABASE_VERSION = 103; private Context mContext; private int mUserHandle; Loading Loading @@ -1632,6 +1632,34 @@ public class DatabaseHelper extends SQLiteOpenHelper { upgradeVersion = 102; } if (upgradeVersion == 102) { db.beginTransaction(); SQLiteStatement stmt = null; try { // The INSTALL_NON_MARKET_APPS setting is becoming per-user rather // than device-global. if (mUserHandle == UserHandle.USER_OWNER) { // In the owner user, the global table exists so we can migrate the // entry from there to the secure table, preserving its value. String[] globalToSecure = { Settings.Secure.INSTALL_NON_MARKET_APPS }; moveSettingsToNewTable(db, TABLE_GLOBAL, TABLE_SECURE, globalToSecure, true); } else { // Secondary users' dbs don't have the global table, so institute the // default. stmt = db.compileStatement("INSERT OR IGNORE INTO secure(name,value)" + " VALUES(?,?);"); loadBooleanSetting(stmt, Settings.Secure.INSTALL_NON_MARKET_APPS, R.bool.def_install_non_market_apps); } db.setTransactionSuccessful(); } finally { db.endTransaction(); if (stmt != null) stmt.close(); } upgradeVersion = 103; } // *** Remember to update DATABASE_VERSION above! if (upgradeVersion != currentVersion) { Loading Loading @@ -2191,6 +2219,9 @@ public class DatabaseHelper extends SQLiteOpenHelper { loadStringSetting(stmt, Settings.Secure.IMMERSIVE_MODE_CONFIRMATIONS, R.string.def_immersive_mode_confirmations); loadBooleanSetting(stmt, Settings.Secure.INSTALL_NON_MARKET_APPS, R.bool.def_install_non_market_apps); } finally { if (stmt != null) stmt.close(); } Loading Loading @@ -2289,9 +2320,6 @@ public class DatabaseHelper extends SQLiteOpenHelper { loadBooleanSetting(stmt, Settings.Global.NETSTATS_ENABLED, R.bool.def_netstats_enabled); loadBooleanSetting(stmt, Settings.Global.INSTALL_NON_MARKET_APPS, R.bool.def_install_non_market_apps); loadBooleanSetting(stmt, Settings.Global.USB_MASS_STORAGE_ENABLED, R.bool.def_usb_mass_storage_enabled); Loading Loading
api/current.txt +2 −2 Original line number Diff line number Diff line Loading @@ -23627,7 +23627,7 @@ package android.provider { field public static final java.lang.String DEVELOPMENT_SETTINGS_ENABLED = "development_settings_enabled"; field public static final java.lang.String DEVICE_PROVISIONED = "device_provisioned"; field public static final java.lang.String HTTP_PROXY = "http_proxy"; field public static final java.lang.String INSTALL_NON_MARKET_APPS = "install_non_market_apps"; field public static final deprecated java.lang.String INSTALL_NON_MARKET_APPS = "install_non_market_apps"; field public static final java.lang.String MODE_RINGER = "mode_ringer"; field public static final java.lang.String NETWORK_PREFERENCE = "network_preference"; field public static final java.lang.String RADIO_BLUETOOTH = "bluetooth"; Loading Loading @@ -23697,7 +23697,7 @@ package android.provider { field public static final java.lang.String ENABLED_INPUT_METHODS = "enabled_input_methods"; field public static final deprecated java.lang.String HTTP_PROXY = "http_proxy"; field public static final java.lang.String INPUT_METHOD_SELECTOR_VISIBILITY = "input_method_selector_visibility"; field public static final deprecated java.lang.String INSTALL_NON_MARKET_APPS = "install_non_market_apps"; field public static final java.lang.String INSTALL_NON_MARKET_APPS = "install_non_market_apps"; field public static final java.lang.String LOCATION_MODE = "location_mode"; field public static final int LOCATION_MODE_BATTERY_SAVING = 2; // 0x2 field public static final int LOCATION_MODE_HIGH_ACCURACY = 3; // 0x3
core/java/android/provider/Settings.java +32 −13 Original line number Diff line number Diff line Loading @@ -1088,6 +1088,9 @@ public final class Settings { MOVED_TO_SECURE.add(Secure.WIFI_WATCHDOG_PING_COUNT); MOVED_TO_SECURE.add(Secure.WIFI_WATCHDOG_PING_DELAY_MS); MOVED_TO_SECURE.add(Secure.WIFI_WATCHDOG_PING_TIMEOUT_MS); // At one time in System, then Global, but now back in Secure MOVED_TO_SECURE.add(Secure.INSTALL_NON_MARKET_APPS); } private static final HashSet<String> MOVED_TO_GLOBAL; Loading @@ -1102,7 +1105,6 @@ public final class Settings { MOVED_TO_SECURE_THEN_GLOBAL.add(Global.BLUETOOTH_ON); MOVED_TO_SECURE_THEN_GLOBAL.add(Global.DATA_ROAMING); MOVED_TO_SECURE_THEN_GLOBAL.add(Global.DEVICE_PROVISIONED); MOVED_TO_SECURE_THEN_GLOBAL.add(Global.INSTALL_NON_MARKET_APPS); MOVED_TO_SECURE_THEN_GLOBAL.add(Global.USB_MASS_STORAGE_ENABLED); MOVED_TO_SECURE_THEN_GLOBAL.add(Global.HTTP_PROXY); Loading Loading @@ -2573,10 +2575,10 @@ public final class Settings { public static final String HTTP_PROXY = Global.HTTP_PROXY; /** * @deprecated Use {@link android.provider.Settings.Global#INSTALL_NON_MARKET_APPS} instead * @deprecated Use {@link android.provider.Settings.Secure#INSTALL_NON_MARKET_APPS} instead */ @Deprecated public static final String INSTALL_NON_MARKET_APPS = Global.INSTALL_NON_MARKET_APPS; public static final String INSTALL_NON_MARKET_APPS = Secure.INSTALL_NON_MARKET_APPS; /** * @deprecated Use {@link android.provider.Settings.Secure#LOCATION_PROVIDERS_ALLOWED} Loading Loading @@ -2814,7 +2816,6 @@ public final class Settings { MOVED_TO_GLOBAL.add(Settings.Global.DISPLAY_SIZE_FORCED); MOVED_TO_GLOBAL.add(Settings.Global.DOWNLOAD_MAX_BYTES_OVER_MOBILE); MOVED_TO_GLOBAL.add(Settings.Global.DOWNLOAD_RECOMMENDED_MAX_BYTES_OVER_MOBILE); MOVED_TO_GLOBAL.add(Settings.Global.INSTALL_NON_MARKET_APPS); MOVED_TO_GLOBAL.add(Settings.Global.MOBILE_DATA); MOVED_TO_GLOBAL.add(Settings.Global.NETSTATS_DEV_BUCKET_DURATION); MOVED_TO_GLOBAL.add(Settings.Global.NETSTATS_DEV_DELETE_AGE); Loading Loading @@ -3404,10 +3405,13 @@ public final class Settings { public static final String HTTP_PROXY = Global.HTTP_PROXY; /** * @deprecated Use {@link android.provider.Settings.Global#INSTALL_NON_MARKET_APPS} instead * Whether applications can be installed for this user via the system's * {@link Intent#ACTION_INSTALL_PACKAGE} mechanism. * * <p>1 = permit app installation via the system package installer intent * <p>0 = do not allow use of the package installer */ @Deprecated public static final String INSTALL_NON_MARKET_APPS = Global.INSTALL_NON_MARKET_APPS; public static final String INSTALL_NON_MARKET_APPS = "install_non_market_apps"; /** * Comma-separated list of location providers that activities may access. Do not rely on Loading Loading @@ -5066,13 +5070,10 @@ public final class Settings { "download_manager_recommended_max_bytes_over_mobile"; /** * Whether the package installer should allow installation of apps downloaded from * sources other than Google Play. * * 1 = allow installing from other sources * 0 = only allow installing from Google Play * @deprecated Use {@link android.provider.Settings.Secure#INSTALL_NON_MARKET_APPS} instead */ public static final String INSTALL_NON_MARKET_APPS = "install_non_market_apps"; @Deprecated public static final String INSTALL_NON_MARKET_APPS = Secure.INSTALL_NON_MARKET_APPS; /** * Whether mobile data connections are allowed by the user. See Loading Loading @@ -6238,6 +6239,13 @@ public final class Settings { CALL_METHOD_GET_GLOBAL, CALL_METHOD_PUT_GLOBAL); // Certain settings have been moved from global to the per-user secure namespace private static final HashSet<String> MOVED_TO_SECURE; static { MOVED_TO_SECURE = new HashSet<String>(1); MOVED_TO_SECURE.add(Settings.Global.INSTALL_NON_MARKET_APPS); } /** * Look up a name in the database. * @param resolver to access the database with Loading @@ -6251,6 +6259,11 @@ public final class Settings { /** @hide */ public static String getStringForUser(ContentResolver resolver, String name, int userHandle) { if (MOVED_TO_SECURE.contains(name)) { Log.w(TAG, "Setting " + name + " has moved from android.provider.Settings.Global" + " to android.provider.Settings.Secure, returning read-only value."); return Secure.getStringForUser(resolver, name, userHandle); } return sNameValueCache.getStringForUser(resolver, name, userHandle); } Loading @@ -6273,6 +6286,12 @@ public final class Settings { Log.v(TAG, "Global.putString(name=" + name + ", value=" + value + " for " + userHandle); } // Global and Secure have the same access policy so we can forward writes if (MOVED_TO_SECURE.contains(name)) { Log.w(TAG, "Setting " + name + " has moved from android.provider.Settings.Global" + " to android.provider.Settings.Secure, value is unchanged."); return Secure.putStringForUser(resolver, name, value, userHandle); } return sNameValueCache.putStringForUser(resolver, name, value, userHandle); } Loading
packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java +32 −4 Original line number Diff line number Diff line Loading @@ -70,7 +70,7 @@ public class DatabaseHelper extends SQLiteOpenHelper { // database gets upgraded properly. At a minimum, please confirm that 'upgradeVersion' // is properly propagated through your change. Not doing so will result in a loss of user // settings. private static final int DATABASE_VERSION = 102; private static final int DATABASE_VERSION = 103; private Context mContext; private int mUserHandle; Loading Loading @@ -1632,6 +1632,34 @@ public class DatabaseHelper extends SQLiteOpenHelper { upgradeVersion = 102; } if (upgradeVersion == 102) { db.beginTransaction(); SQLiteStatement stmt = null; try { // The INSTALL_NON_MARKET_APPS setting is becoming per-user rather // than device-global. if (mUserHandle == UserHandle.USER_OWNER) { // In the owner user, the global table exists so we can migrate the // entry from there to the secure table, preserving its value. String[] globalToSecure = { Settings.Secure.INSTALL_NON_MARKET_APPS }; moveSettingsToNewTable(db, TABLE_GLOBAL, TABLE_SECURE, globalToSecure, true); } else { // Secondary users' dbs don't have the global table, so institute the // default. stmt = db.compileStatement("INSERT OR IGNORE INTO secure(name,value)" + " VALUES(?,?);"); loadBooleanSetting(stmt, Settings.Secure.INSTALL_NON_MARKET_APPS, R.bool.def_install_non_market_apps); } db.setTransactionSuccessful(); } finally { db.endTransaction(); if (stmt != null) stmt.close(); } upgradeVersion = 103; } // *** Remember to update DATABASE_VERSION above! if (upgradeVersion != currentVersion) { Loading Loading @@ -2191,6 +2219,9 @@ public class DatabaseHelper extends SQLiteOpenHelper { loadStringSetting(stmt, Settings.Secure.IMMERSIVE_MODE_CONFIRMATIONS, R.string.def_immersive_mode_confirmations); loadBooleanSetting(stmt, Settings.Secure.INSTALL_NON_MARKET_APPS, R.bool.def_install_non_market_apps); } finally { if (stmt != null) stmt.close(); } Loading Loading @@ -2289,9 +2320,6 @@ public class DatabaseHelper extends SQLiteOpenHelper { loadBooleanSetting(stmt, Settings.Global.NETSTATS_ENABLED, R.bool.def_netstats_enabled); loadBooleanSetting(stmt, Settings.Global.INSTALL_NON_MARKET_APPS, R.bool.def_install_non_market_apps); loadBooleanSetting(stmt, Settings.Global.USB_MASS_STORAGE_ENABLED, R.bool.def_usb_mass_storage_enabled); Loading