Merge "NfcAdapterExtras: expose driver name." into jb-mr1-dev
diff --git a/core/java/android/nfc/INfcAdapterExtras.aidl b/core/java/android/nfc/INfcAdapterExtras.aidl
index 2b9d4f0..41ebf63 100644
--- a/core/java/android/nfc/INfcAdapterExtras.aidl
+++ b/core/java/android/nfc/INfcAdapterExtras.aidl
@@ -29,4 +29,5 @@
     int getCardEmulationRoute(in String pkg);
     void setCardEmulationRoute(in String pkg, int route);
     void authenticate(in String pkg, in byte[] token);
+    String getDriverName(in String pkg);
 }
diff --git a/nfc-extras/java/com/android/nfc_extras/NfcAdapterExtras.java b/nfc-extras/java/com/android/nfc_extras/NfcAdapterExtras.java
index 9c87c22..ffed804 100644
--- a/nfc-extras/java/com/android/nfc_extras/NfcAdapterExtras.java
+++ b/nfc-extras/java/com/android/nfc_extras/NfcAdapterExtras.java
@@ -234,4 +234,21 @@
             attemptDeadServiceRecovery(e);
         }
     }
+
+    /**
+     * Returns the name of this adapter's driver.
+     *
+     * <p>Different NFC adapters may use different drivers.  This value is
+     * informational and should not be parsed.
+     *
+     * @return the driver name, or empty string if unknown
+     */
+    public String getDriverName() {
+        try {
+            return sService.getDriverName(mPackageName);
+        } catch (RemoteException e) {
+            attemptDeadServiceRecovery(e);
+            return "";
+        }
+    }
 }