summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Lin <dtwlin@google.com>2017-08-01 21:16:11 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-08-01 21:16:11 +0000
commit7ed2b496b655b5d494ef024474d626e4d3ceb433 (patch)
tree50ddd241bfe8f63cc719083a06f95d354cb02306
parente73ddbfe7239d442e70fa2d2098c76a927946883 (diff)
parent22c2ce9cfe71b1d905b9af3bc28513a8eba180c4 (diff)
downloadandroid_packages_services_Telecomm-7ed2b496b655b5d494ef024474d626e4d3ceb433.tar.gz
android_packages_services_Telecomm-7ed2b496b655b5d494ef024474d626e4d3ceb433.tar.bz2
android_packages_services_Telecomm-7ed2b496b655b5d494ef024474d626e4d3ceb433.zip
Fix issue with USB headset not being recognized when boots
am: 22c2ce9cfe Change-Id: I7e98cdf43e2803fc3b9a400cd694540f9cff7235
-rw-r--r--src/com/android/server/telecom/WiredHeadsetManager.java32
1 files changed, 20 insertions, 12 deletions
diff --git a/src/com/android/server/telecom/WiredHeadsetManager.java b/src/com/android/server/telecom/WiredHeadsetManager.java
index 13fde486..120d1ce3 100644
--- a/src/com/android/server/telecom/WiredHeadsetManager.java
+++ b/src/com/android/server/telecom/WiredHeadsetManager.java
@@ -60,17 +60,7 @@ public class WiredHeadsetManager {
}
private void updateHeadsetStatus() {
- AudioDeviceInfo[] devices = mAudioManager.getDevices(AudioManager.GET_DEVICES_ALL);
- boolean isPluggedIn = false;
- for (AudioDeviceInfo device : devices) {
- switch (device.getType()) {
- case AudioDeviceInfo.TYPE_WIRED_HEADPHONES:
- case AudioDeviceInfo.TYPE_WIRED_HEADSET:
- case AudioDeviceInfo.TYPE_USB_DEVICE:
- case AudioDeviceInfo.TYPE_USB_HEADSET:
- isPluggedIn = true;
- }
- }
+ final boolean isPluggedIn = isWiredHeadsetPluggedIn();
Log.i(WiredHeadsetManager.this, "ACTION_HEADSET_PLUG event, plugged in: %b, ",
isPluggedIn);
@@ -90,7 +80,7 @@ public class WiredHeadsetManager {
public WiredHeadsetManager(Context context) {
mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
- mIsPluggedIn = mAudioManager.isWiredHeadsetOn();
+ mIsPluggedIn = isWiredHeadsetPluggedIn();
mAudioManager.registerAudioDeviceCallback(new WiredHeadsetCallback(), null);
}
@@ -111,6 +101,24 @@ public class WiredHeadsetManager {
return mIsPluggedIn;
}
+ private boolean isWiredHeadsetPluggedIn() {
+ AudioDeviceInfo[] devices = mAudioManager.getDevices(AudioManager.GET_DEVICES_ALL);
+ boolean isPluggedIn = false;
+ for (AudioDeviceInfo device : devices) {
+ switch (device.getType()) {
+ case AudioDeviceInfo.TYPE_WIRED_HEADPHONES:
+ case AudioDeviceInfo.TYPE_WIRED_HEADSET:
+ case AudioDeviceInfo.TYPE_USB_HEADSET:
+ case AudioDeviceInfo.TYPE_USB_DEVICE:
+ isPluggedIn = true;
+ }
+ if (isPluggedIn) {
+ break;
+ }
+ }
+ return isPluggedIn;
+ }
+
private void onHeadsetPluggedInChanged(boolean isPluggedIn) {
if (mIsPluggedIn != isPluggedIn) {
Log.v(this, "onHeadsetPluggedInChanged, mIsPluggedIn: %b -> %b", mIsPluggedIn,