OSDN Git Service

NFC: @hide some APIs, add setDefaultForNextTap API.
authorMartijn Coenen <maco@google.com>
Tue, 6 Aug 2013 22:34:03 +0000 (15:34 -0700)
committerMartijn Coenen <maco@google.com>
Tue, 6 Aug 2013 22:36:37 +0000 (15:36 -0700)
Change-Id: I31efe4c96a62e6c3dcb984a885214e6df045c6c6

api/current.txt
core/java/android/nfc/INfcCardEmulation.aidl
core/java/android/nfc/cardemulation/CardEmulationManager.java

index 94d0075..7bc15f4 100644 (file)
@@ -14790,7 +14790,6 @@ package android.nfc.cardemulation {
     method public static synchronized android.nfc.cardemulation.CardEmulationManager getInstance(android.nfc.NfcAdapter);
     method public boolean isDefaultServiceForAid(android.content.ComponentName, java.lang.String);
     method public boolean isDefaultServiceForCategory(android.content.ComponentName, java.lang.String);
-    method public boolean setDefaultServiceForCategory(android.content.ComponentName, java.lang.String);
     field public static final java.lang.String ACTION_CHANGE_DEFAULT = "android.nfc.cardemulation.ACTION_CHANGE_DEFAULT";
     field public static final java.lang.String CATEGORY_OTHER = "other";
     field public static final java.lang.String CATEGORY_PAYMENT = "payment";
index 7369c0b..b8a5ba7 100644 (file)
@@ -28,5 +28,6 @@ interface INfcCardEmulation
     boolean isDefaultServiceForCategory(int userHandle, in ComponentName service, String category);
     boolean isDefaultServiceForAid(int userHandle, in ComponentName service, String aid);
     boolean setDefaultServiceForCategory(int userHandle, in ComponentName service, String category);
+    boolean setDefaultForNextTap(int userHandle, in ComponentName service);
     List<ApduServiceInfo> getServices(int userHandle, in String category);
 }
index abfeaf9..673b33a 100644 (file)
@@ -185,7 +185,7 @@ public final class CardEmulationManager {
     }
 
     /**
-     * @return
+     * @hide
      */
     public boolean setDefaultServiceForCategory(ComponentName service, String category) {
         try {
@@ -210,6 +210,27 @@ public final class CardEmulationManager {
     /**
      * @hide
      */
+    public boolean setDefaultForNextTap(ComponentName service) {
+        try {
+            return sService.setDefaultForNextTap(UserHandle.myUserId(), service);
+        } catch (RemoteException e) {
+            // Try one more time
+            recoverService();
+            if (sService == null) {
+                Log.e(TAG, "Failed to recover CardEmulationService.");
+                return false;
+            }
+            try {
+                return sService.setDefaultForNextTap(UserHandle.myUserId(), service);
+            } catch (RemoteException ee) {
+                Log.e(TAG, "Failed to reach CardEmulationService.");
+                return false;
+            }
+        }
+    }
+    /**
+     * @hide
+     */
     public List<ApduServiceInfo> getServices(String category) {
         try {
             return sService.getServices(UserHandle.myUserId(), category);
@@ -233,4 +254,4 @@ public final class CardEmulationManager {
         NfcAdapter adapter = NfcAdapter.getDefaultAdapter(mContext);
         sService = adapter.getCardEmulationService();
     }
-}
\ No newline at end of file
+}