Merge "Don't use the internal data-enable mechanism"
diff --git a/res/drawable-hdpi/app_settings.png b/res/drawable-hdpi/app_settings.png
deleted file mode 100644
index 68b6ec6..0000000
--- a/res/drawable-hdpi/app_settings.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_appwidget_settings_brightness_mid.png b/res/drawable-hdpi/ic_appwidget_settings_brightness_mid.png
deleted file mode 100644
index c258d1c..0000000
--- a/res/drawable-hdpi/ic_appwidget_settings_brightness_mid.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_filter_settings.png b/res/drawable-hdpi/ic_menu_filter_settings.png
deleted file mode 100644
index fde4749..0000000
--- a/res/drawable-hdpi/ic_menu_filter_settings.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_popup_brightness.png b/res/drawable-hdpi/ic_popup_brightness.png
deleted file mode 100644
index a68b44f..0000000
--- a/res/drawable-hdpi/ic_popup_brightness.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_settings_search.png b/res/drawable-hdpi/ic_settings_search.png
deleted file mode 100755
index ec07f37..0000000
--- a/res/drawable-hdpi/ic_settings_search.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/app_settings.png b/res/drawable-mdpi/app_settings.png
deleted file mode 100644
index ed23bbf..0000000
--- a/res/drawable-mdpi/app_settings.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_appwidget_settings_brightness_mid.png b/res/drawable-mdpi/ic_appwidget_settings_brightness_mid.png
deleted file mode 100644
index 5ffef7a..0000000
--- a/res/drawable-mdpi/ic_appwidget_settings_brightness_mid.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_filter_settings.png b/res/drawable-mdpi/ic_menu_filter_settings.png
deleted file mode 100644
index bc1e51a..0000000
--- a/res/drawable-mdpi/ic_menu_filter_settings.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_popup_brightness.png b/res/drawable-mdpi/ic_popup_brightness.png
deleted file mode 100755
index e9172a6..0000000
--- a/res/drawable-mdpi/ic_popup_brightness.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_settings_search.png b/res/drawable-mdpi/ic_settings_search.png
deleted file mode 100755
index 8e13de3..0000000
--- a/res/drawable-mdpi/ic_settings_search.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/lock_anim_00.png b/res/drawable-mdpi/lock_anim_00.png
deleted file mode 100644
index afdda8b..0000000
--- a/res/drawable-mdpi/lock_anim_00.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/lock_anim_02.png b/res/drawable-mdpi/lock_anim_02.png
deleted file mode 100644
index 0542b1d..0000000
--- a/res/drawable-mdpi/lock_anim_02.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/lock_anim_04.png b/res/drawable-mdpi/lock_anim_04.png
deleted file mode 100644
index a3ca629..0000000
--- a/res/drawable-mdpi/lock_anim_04.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/lock_anim_06.png b/res/drawable-mdpi/lock_anim_06.png
deleted file mode 100644
index 90205a6..0000000
--- a/res/drawable-mdpi/lock_anim_06.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/lock_anim_08.png b/res/drawable-mdpi/lock_anim_08.png
deleted file mode 100644
index af7cd28..0000000
--- a/res/drawable-mdpi/lock_anim_08.png
+++ /dev/null
Binary files differ
diff --git a/src/com/android/settings/bluetooth/CachedBluetoothDevice.java b/src/com/android/settings/bluetooth/CachedBluetoothDevice.java
index bfd2e99..63c3d27 100644
--- a/src/com/android/settings/bluetooth/CachedBluetoothDevice.java
+++ b/src/com/android/settings/bluetooth/CachedBluetoothDevice.java
@@ -25,6 +25,7 @@
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothClass;
import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothUuid;
import android.content.Context;
import android.content.DialogInterface;
import android.content.res.Resources;
@@ -584,42 +585,12 @@
if (DEBUG) {
Log.e(TAG, "updating profiles for " + mDevice.getName());
-
- boolean printUuids = true;
BluetoothClass bluetoothClass = mDevice.getBluetoothClass();
- if (bluetoothClass != null) {
- if (bluetoothClass.doesClassMatch(BluetoothClass.PROFILE_HEADSET) !=
- mProfiles.contains(Profile.HEADSET)) {
- Log.v(TAG, "headset classbits != uuid");
- printUuids = true;
- }
-
- if (bluetoothClass.doesClassMatch(BluetoothClass.PROFILE_A2DP) !=
- mProfiles.contains(Profile.A2DP)) {
- Log.v(TAG, "a2dp classbits != uuid");
- printUuids = true;
- }
-
- if (bluetoothClass.doesClassMatch(BluetoothClass.PROFILE_OPP) !=
- mProfiles.contains(Profile.OPP)) {
- Log.v(TAG, "opp classbits != uuid");
- printUuids = true;
- }
-
- if (bluetoothClass.doesClassMatch(BluetoothClass.PROFILE_HID) !=
- mProfiles.contains(Profile.HID)) {
- Log.v(TAG, "hid classbits != uuid");
- printUuids = true;
- }
- }
-
- if (printUuids) {
- if (bluetoothClass != null) Log.v(TAG, "Class: " + bluetoothClass.toString());
- Log.v(TAG, "UUID:");
- for (int i = 0; i < uuids.length; i++) {
- Log.v(TAG, " " + uuids[i]);
- }
+ if (bluetoothClass != null) Log.v(TAG, "Class: " + bluetoothClass.toString());
+ Log.v(TAG, "UUID:");
+ for (int i = 0; i < uuids.length; i++) {
+ Log.v(TAG, " " + uuids[i]);
}
}
return true;
diff --git a/src/com/android/settings/bluetooth/LocalBluetoothManager.java b/src/com/android/settings/bluetooth/LocalBluetoothManager.java
index 07d3931..88fa87f 100644
--- a/src/com/android/settings/bluetooth/LocalBluetoothManager.java
+++ b/src/com/android/settings/bluetooth/LocalBluetoothManager.java
@@ -26,13 +26,13 @@
import android.bluetooth.BluetoothProfile;
import android.content.Context;
import android.content.SharedPreferences;
+import android.os.ParcelUuid;
import android.util.Config;
import android.util.Log;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
-import java.util.Set;
// TODO: have some notion of shutting down. Maybe a minute after they leave BT settings?
/**
@@ -48,7 +48,6 @@
/** Singleton instance. */
private static LocalBluetoothManager sInstance;
- private boolean mInitialized;
private Context mContext;
/** If a BT-related activity is in the foreground, this will be it. */
@@ -89,22 +88,17 @@
synchronized (LocalBluetoothManager.class) {
if (sInstance == null) {
sInstance = new LocalBluetoothManager();
+ if (!sInstance.init(context)) {
+ return null;
+ }
+ LocalBluetoothProfileManager.init(sInstance);
}
- if (!sInstance.init(context)) {
- return null;
- }
-
- LocalBluetoothProfileManager.init(sInstance);
-
return sInstance;
}
}
private boolean init(Context context) {
- if (mInitialized) return true;
- mInitialized = true;
-
// This will be around as long as this process is
mContext = context.getApplicationContext();
@@ -226,6 +220,12 @@
void setBluetoothStateInt(int state) {
mState = state;
+
+ if (state == BluetoothAdapter.STATE_ON) {
+ ParcelUuid[] uuids = mAdapter.getUuids();
+ LocalBluetoothProfileManager.updateLocalProfiles(getInstance(mContext), uuids);
+ }
+
if (state == BluetoothAdapter.STATE_ON ||
state == BluetoothAdapter.STATE_OFF) {
mCachedDeviceManager.onBluetoothStateChanged(state ==
diff --git a/src/com/android/settings/bluetooth/LocalBluetoothProfileManager.java b/src/com/android/settings/bluetooth/LocalBluetoothProfileManager.java
index a01fdec..aa3bf38 100644
--- a/src/com/android/settings/bluetooth/LocalBluetoothProfileManager.java
+++ b/src/com/android/settings/bluetooth/LocalBluetoothProfileManager.java
@@ -121,6 +121,30 @@
}
}
+ // TODO(): Combine the init and updateLocalProfiles codes.
+ // init can get called from various paths, it makes no sense to add and then delete.
+ public static void updateLocalProfiles(LocalBluetoothManager localManager, ParcelUuid[] uuids) {
+ if (!BluetoothUuid.containsAnyUuid(uuids, HEADSET_PROFILE_UUIDS)) {
+ sProfileMap.remove(Profile.HEADSET);
+ }
+
+ if (BluetoothUuid.containsAnyUuid(uuids, A2DP_PROFILE_UUIDS)) {
+ sProfileMap.remove(Profile.A2DP);
+ }
+
+ if (BluetoothUuid.containsAnyUuid(uuids, OPP_PROFILE_UUIDS)) {
+ sProfileMap.remove(Profile.OPP);
+ }
+
+ if (BluetoothUuid.containsAnyUuid(uuids, HID_PROFILE_UUIDS)) {
+ sProfileMap.remove(Profile.HID);
+ }
+
+ if (BluetoothUuid.containsAnyUuid(uuids, PANU_PROFILE_UUIDS)) {
+ sProfileMap.remove(Profile.PAN);
+ }
+ }
+
private static LinkedList<ServiceListener> mServiceListeners =
new LinkedList<ServiceListener>();
@@ -171,23 +195,28 @@
return;
}
- if (BluetoothUuid.containsAnyUuid(uuids, HEADSET_PROFILE_UUIDS)) {
+ if (BluetoothUuid.containsAnyUuid(uuids, HEADSET_PROFILE_UUIDS) &&
+ sProfileMap.containsKey(Profile.HEADSET)) {
profiles.add(Profile.HEADSET);
}
- if (BluetoothUuid.containsAnyUuid(uuids, A2DP_PROFILE_UUIDS)) {
+ if (BluetoothUuid.containsAnyUuid(uuids, A2DP_PROFILE_UUIDS) &&
+ sProfileMap.containsKey(Profile.A2DP)) {
profiles.add(Profile.A2DP);
}
- if (BluetoothUuid.containsAnyUuid(uuids, OPP_PROFILE_UUIDS)) {
+ if (BluetoothUuid.containsAnyUuid(uuids, OPP_PROFILE_UUIDS) &&
+ sProfileMap.containsKey(Profile.OPP)) {
profiles.add(Profile.OPP);
}
- if (BluetoothUuid.containsAnyUuid(uuids, HID_PROFILE_UUIDS)) {
+ if (BluetoothUuid.containsAnyUuid(uuids, HID_PROFILE_UUIDS) &&
+ sProfileMap.containsKey(Profile.HID)) {
profiles.add(Profile.HID);
}
- if (BluetoothUuid.containsAnyUuid(uuids, PANU_PROFILE_UUIDS)) {
+ if (BluetoothUuid.containsAnyUuid(uuids, PANU_PROFILE_UUIDS) &&
+ sProfileMap.containsKey(Profile.PAN)) {
profiles.add(Profile.PAN);
}
}
diff --git a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
index a13a292..22cec54 100644
--- a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
+++ b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
@@ -225,7 +225,7 @@
} else if (KEY_INPUT_METHOD.equals(preference.getKey())) {
final InputMethodManager imm = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
- imm.showInputMethodSubtypePicker();
+ imm.showInputMethodPicker();
} else if (preference.getIntent() == null) {
PreferenceScreen pref = (PreferenceScreen) preference;
String activityName = pref.getKey();