New policy for internal and wired device names.

For internal and unknowable wired devices, return the product name (i.e. "Nexus 7").
For connected devices with manufacturer-supplied product names, return those.
Change getName() to getProductName().

Bug: 20880296
Change-Id: I67ef3d4c73b3acab368b0879faa26fa9127c21bb
diff --git a/api/current.txt b/api/current.txt
index 08d6a9d..47dfa2f 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -14696,7 +14696,7 @@
     method public int[] getChannelMasks();
     method public int[] getFormats();
     method public int getId();
-    method public java.lang.CharSequence getName();
+    method public java.lang.CharSequence getProductName();
     method public int[] getSampleRates();
     method public int getType();
     method public boolean isSink();
diff --git a/api/system-current.txt b/api/system-current.txt
index 7cf49e8..f490d68 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -15906,7 +15906,7 @@
     method public int[] getChannelMasks();
     method public int[] getFormats();
     method public int getId();
-    method public java.lang.CharSequence getName();
+    method public java.lang.CharSequence getProductName();
     method public int[] getSampleRates();
     method public int getType();
     method public boolean isSink();
diff --git a/media/java/android/media/AudioDeviceInfo.java b/media/java/android/media/AudioDeviceInfo.java
index 566f8dc..b4c109b 100644
--- a/media/java/android/media/AudioDeviceInfo.java
+++ b/media/java/android/media/AudioDeviceInfo.java
@@ -121,8 +121,9 @@
     /**
      * @return The human-readable name of the audio device.
      */
-    public CharSequence getName() {
-        return mPort.name();
+    public CharSequence getProductName() {
+        String portName = mPort.name();
+        return portName.length() != 0 ? portName : android.os.Build.MODEL;
     }
 
     /**
diff --git a/services/core/java/com/android/server/WiredAccessoryManager.java b/services/core/java/com/android/server/WiredAccessoryManager.java
index 0de8c8d..e0e6070 100644
--- a/services/core/java/com/android/server/WiredAccessoryManager.java
+++ b/services/core/java/com/android/server/WiredAccessoryManager.java
@@ -216,9 +216,9 @@
 
         mWakeLock.acquire();
 
-        Log.i(TAG, "MSG_NEW_DEVICE_STATE ");
+        Log.i(TAG, "MSG_NEW_DEVICE_STATE");
         Message msg = mHandler.obtainMessage(MSG_NEW_DEVICE_STATE, headsetState,
-                mHeadsetState, newName);
+                mHeadsetState, "");
         mHandler.sendMessage(msg);
 
         mHeadsetState = headsetState;