Read headset state from audio manager instead of calculating ourselves.

Bug: 24067587
Change-Id: I94ff59bdf8a8440ead52cda29b378b3fccfca619
diff --git a/src/com/android/server/telecom/WiredHeadsetManager.java b/src/com/android/server/telecom/WiredHeadsetManager.java
index a61dd6e..ef5f38c 100644
--- a/src/com/android/server/telecom/WiredHeadsetManager.java
+++ b/src/com/android/server/telecom/WiredHeadsetManager.java
@@ -39,7 +39,7 @@
         @Override
         public void onReceive(Context context, Intent intent) {
             if (intent.getAction().equals(Intent.ACTION_HEADSET_PLUG)) {
-                boolean isPluggedIn = intent.getIntExtra("state", 0) == 1;
+                boolean isPluggedIn = mAudioManager.isWiredHeadsetOn();
                 Log.v(WiredHeadsetManager.this, "ACTION_HEADSET_PLUG event, plugged in: %b",
                         isPluggedIn);
                 onHeadsetPluggedInChanged(isPluggedIn);
@@ -48,6 +48,7 @@
     }
 
     private final WiredHeadsetBroadcastReceiver mReceiver;
+    private final AudioManager mAudioManager;
     private boolean mIsPluggedIn;
     /**
      * ConcurrentHashMap constructor params: 8 is initial table size, 0.9f is
@@ -60,8 +61,8 @@
     WiredHeadsetManager(Context context) {
         mReceiver = new WiredHeadsetBroadcastReceiver();
 
-        AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
-        mIsPluggedIn = audioManager.isWiredHeadsetOn();
+        mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
+        mIsPluggedIn = mAudioManager.isWiredHeadsetOn();
 
         // Register for misc other intent broadcasts.
         IntentFilter intentFilter = new IntentFilter(Intent.ACTION_HEADSET_PLUG);