Loading services/java/com/android/server/WiredAccessoryObserver.java +38 −15 Original line number Diff line number Diff line Loading @@ -66,6 +66,8 @@ class WiredAccessoryObserver extends UEventObserver { BIT_HDMI_AUDIO); private static final int HEADSETS_WITH_MIC = BIT_HEADSET; public static final String DOCK_AUDIO_SETTING_CHANGED = "DOCK_AUDIO_SETTING_CHANGED"; private int mHeadsetState; private int mPrevHeadsetState; private String mHeadsetName; Loading @@ -80,13 +82,20 @@ class WiredAccessoryObserver extends UEventObserver { mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "WiredAccessoryObserver"); mWakeLock.setReferenceCounted(false); final IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_BOOT_COMPLETED); filter.addAction(DOCK_AUDIO_SETTING_CHANGED); context.registerReceiver(new BootCompletedReceiver(), new IntentFilter(Intent.ACTION_BOOT_COMPLETED), null, null); filter, null, null); } private final class BootCompletedReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { final String action = intent.getAction(); if (Intent.ACTION_BOOT_COMPLETED.equals(action)) { // At any given time accessories could be inserted // one on the board, one on the dock and one on HDMI: // observe three UEVENTs Loading @@ -103,6 +112,20 @@ class WiredAccessoryObserver extends UEventObserver { startObserving(uEventInfoDock[i][0]); } } } else if (DOCK_AUDIO_SETTING_CHANGED.equals(action)) { // DOCK CHANGED if (Settings.System.getInt(context.getContentResolver(), Settings.System.DOCK_USB_AUDIO_ENABLED, 0) == 1) { for (int i = 0; i < MAX_AUDIO_PORTS_DOCK; i++) { startObserving(uEventInfoDock[i][0]); } } else { stopObserving(); for (int i = 0; i < MAX_AUDIO_PORTS; i++) { startObserving(uEventInfo[i][0]); } } } } } Loading Loading
services/java/com/android/server/WiredAccessoryObserver.java +38 −15 Original line number Diff line number Diff line Loading @@ -66,6 +66,8 @@ class WiredAccessoryObserver extends UEventObserver { BIT_HDMI_AUDIO); private static final int HEADSETS_WITH_MIC = BIT_HEADSET; public static final String DOCK_AUDIO_SETTING_CHANGED = "DOCK_AUDIO_SETTING_CHANGED"; private int mHeadsetState; private int mPrevHeadsetState; private String mHeadsetName; Loading @@ -80,13 +82,20 @@ class WiredAccessoryObserver extends UEventObserver { mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "WiredAccessoryObserver"); mWakeLock.setReferenceCounted(false); final IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_BOOT_COMPLETED); filter.addAction(DOCK_AUDIO_SETTING_CHANGED); context.registerReceiver(new BootCompletedReceiver(), new IntentFilter(Intent.ACTION_BOOT_COMPLETED), null, null); filter, null, null); } private final class BootCompletedReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { final String action = intent.getAction(); if (Intent.ACTION_BOOT_COMPLETED.equals(action)) { // At any given time accessories could be inserted // one on the board, one on the dock and one on HDMI: // observe three UEVENTs Loading @@ -103,6 +112,20 @@ class WiredAccessoryObserver extends UEventObserver { startObserving(uEventInfoDock[i][0]); } } } else if (DOCK_AUDIO_SETTING_CHANGED.equals(action)) { // DOCK CHANGED if (Settings.System.getInt(context.getContentResolver(), Settings.System.DOCK_USB_AUDIO_ENABLED, 0) == 1) { for (int i = 0; i < MAX_AUDIO_PORTS_DOCK; i++) { startObserving(uEventInfoDock[i][0]); } } else { stopObserving(); for (int i = 0; i < MAX_AUDIO_PORTS; i++) { startObserving(uEventInfo[i][0]); } } } } } Loading