Fix of compatibility with multifunction extUSB adapters.
Tested with HTC YC A300.
diff --git a/services/java/com/android/server/HeadsetObserver.java b/services/java/com/android/server/HeadsetObserver.java
index 9b0a2d4..0742cae 100644
--- a/services/java/com/android/server/HeadsetObserver.java
+++ b/services/java/com/android/server/HeadsetObserver.java
@@ -97,7 +97,7 @@
 
     private synchronized final void update(String newName, int newState) {
         if (newName != mHeadsetName || newState != mHeadsetState) {
-            boolean isUnplug = (newState == 0 && mHeadsetState == 1);
+            boolean isUnplug = (newState == 0 && mHeadsetState > 0);
             mHeadsetName = newName;
             mHeadsetState = newState;
             mAudioRouteNeedsUpdate = true;
@@ -123,7 +123,7 @@
         Intent intent = new Intent(Intent.ACTION_HEADSET_PLUG);
         intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY);
 
-        intent.putExtra("state", mHeadsetState);
+        intent.putExtra("state", isUnplug ? 0 : 1);
         intent.putExtra("name", mHeadsetName);
 
         // TODO: Should we require a permission?
@@ -137,7 +137,7 @@
 
     private synchronized final void updateAudioRoute() {
         if (mAudioRouteNeedsUpdate) {
-            mAudioManager.setWiredHeadsetOn(mHeadsetState == 1);
+            mAudioManager.setWiredHeadsetOn(mHeadsetState > 0);
             mAudioRouteNeedsUpdate = false;
         }
     }