Merge "Move bluetooth priorities from Secure to Global." into jb-mr1-dev

This commit is contained in:
Jeff Sharkey
2012-10-01 13:08:20 -07:00
committed by Android (Google) Code Review
2 changed files with 93 additions and 25 deletions

View File

@@ -3077,30 +3077,6 @@ public final class Settings {
@Deprecated @Deprecated
public static final String BLUETOOTH_ON = Global.BLUETOOTH_ON; public static final String BLUETOOTH_ON = Global.BLUETOOTH_ON;
/**
* Get the key that retrieves a bluetooth headset's priority.
* @hide
*/
public static final String getBluetoothHeadsetPriorityKey(String address) {
return ("bluetooth_headset_priority_" + address.toUpperCase());
}
/**
* Get the key that retrieves a bluetooth a2dp sink's priority.
* @hide
*/
public static final String getBluetoothA2dpSinkPriorityKey(String address) {
return ("bluetooth_a2dp_sink_priority_" + address.toUpperCase());
}
/**
* Get the key that retrieves a bluetooth Input Device's priority.
* @hide
*/
public static final String getBluetoothInputDevicePriorityKey(String address) {
return ("bluetooth_input_device_priority_" + address.toUpperCase());
}
/** /**
* @deprecated Use {@link android.provider.Settings.Global#DATA_ROAMING} instead * @deprecated Use {@link android.provider.Settings.Global#DATA_ROAMING} instead
*/ */
@@ -5160,6 +5136,40 @@ public final class Settings {
*/ */
public static final String DEFAULT_DNS_SERVER = "default_dns_server"; public static final String DEFAULT_DNS_SERVER = "default_dns_server";
/** {@hide} */
public static final String
BLUETOOTH_HEADSET_PRIORITY_PREFIX = "bluetooth_headset_priority_";
/** {@hide} */
public static final String
BLUETOOTH_A2DP_SINK_PRIORITY_PREFIX = "bluetooth_a2dp_sink_priority_";
/** {@hide} */
public static final String
BLUETOOTH_INPUT_DEVICE_PRIORITY_PREFIX = "bluetooth_input_device_priority_";
/**
* Get the key that retrieves a bluetooth headset's priority.
* @hide
*/
public static final String getBluetoothHeadsetPriorityKey(String address) {
return BLUETOOTH_HEADSET_PRIORITY_PREFIX + address.toUpperCase();
}
/**
* Get the key that retrieves a bluetooth a2dp sink's priority.
* @hide
*/
public static final String getBluetoothA2dpSinkPriorityKey(String address) {
return BLUETOOTH_A2DP_SINK_PRIORITY_PREFIX + address.toUpperCase();
}
/**
* Get the key that retrieves a bluetooth Input Device's priority.
* @hide
*/
public static final String getBluetoothInputDevicePriorityKey(String address) {
return BLUETOOTH_INPUT_DEVICE_PRIORITY_PREFIX + address.toUpperCase();
}
// Populated lazily, guarded by class object: // Populated lazily, guarded by class object:
private static NameValueCache sNameValueCache = new NameValueCache( private static NameValueCache sNameValueCache = new NameValueCache(
SYS_PROP_SETTING_VERSION, SYS_PROP_SETTING_VERSION,

View File

@@ -68,7 +68,7 @@ public class DatabaseHelper extends SQLiteOpenHelper {
// database gets upgraded properly. At a minimum, please confirm that 'upgradeVersion' // 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 // is properly propagated through your change. Not doing so will result in a loss of user
// settings. // settings.
private static final int DATABASE_VERSION = 89; private static final int DATABASE_VERSION = 90;
private Context mContext; private Context mContext;
private int mUserHandle; private int mUserHandle;
@@ -1380,6 +1380,26 @@ public class DatabaseHelper extends SQLiteOpenHelper {
upgradeVersion = 89; upgradeVersion = 89;
} }
if (upgradeVersion == 89) {
if (mUserHandle == UserHandle.USER_OWNER) {
db.beginTransaction();
try {
String[] prefixesToMove = {
Settings.Global.BLUETOOTH_HEADSET_PRIORITY_PREFIX,
Settings.Global.BLUETOOTH_A2DP_SINK_PRIORITY_PREFIX,
Settings.Global.BLUETOOTH_INPUT_DEVICE_PRIORITY_PREFIX,
};
movePrefixedSettingsToNewTable(db, TABLE_SECURE, TABLE_GLOBAL, prefixesToMove);
db.setTransactionSuccessful();
} finally {
db.endTransaction();
}
}
upgradeVersion = 90;
}
// *** Remember to update DATABASE_VERSION above! // *** Remember to update DATABASE_VERSION above!
if (upgradeVersion != currentVersion) { if (upgradeVersion != currentVersion) {
@@ -1446,6 +1466,44 @@ public class DatabaseHelper extends SQLiteOpenHelper {
} }
} }
/**
* Move any settings with the given prefixes from the source table to the
* destination table.
*/
private void movePrefixedSettingsToNewTable(
SQLiteDatabase db, String sourceTable, String destTable, String[] prefixesToMove) {
SQLiteStatement insertStmt = null;
SQLiteStatement deleteStmt = null;
db.beginTransaction();
try {
insertStmt = db.compileStatement("INSERT INTO " + destTable
+ " (name,value) SELECT name,value FROM " + sourceTable
+ " WHERE substr(name,0,?)=?");
deleteStmt = db.compileStatement(
"DELETE FROM " + sourceTable + " WHERE substr(name,0,?)=?");
for (String prefix : prefixesToMove) {
insertStmt.bindLong(1, prefix.length() + 1);
insertStmt.bindString(2, prefix);
insertStmt.execute();
deleteStmt.bindLong(1, prefix.length() + 1);
deleteStmt.bindString(2, prefix);
deleteStmt.execute();
}
db.setTransactionSuccessful();
} finally {
db.endTransaction();
if (insertStmt != null) {
insertStmt.close();
}
if (deleteStmt != null) {
deleteStmt.close();
}
}
}
private void upgradeLockPatternLocation(SQLiteDatabase db) { private void upgradeLockPatternLocation(SQLiteDatabase db) {
Cursor c = db.query(TABLE_SYSTEM, new String[] {"_id", "value"}, "name='lock_pattern'", Cursor c = db.query(TABLE_SYSTEM, new String[] {"_id", "value"}, "name='lock_pattern'",
null, null, null, null); null, null, null, null);