diff options
| -rw-r--r-- | nfc/api/system-current.txt | 1 | ||||
| -rw-r--r-- | nfc/java/android/nfc/INfcOemExtensionCallback.aidl | 1 | ||||
| -rw-r--r-- | nfc/java/android/nfc/NfcOemExtension.java | 13 |
3 files changed, 15 insertions, 0 deletions
diff --git a/nfc/api/system-current.txt b/nfc/api/system-current.txt index a23845fa17e9..c25f77b12116 100644 --- a/nfc/api/system-current.txt +++ b/nfc/api/system-current.txt @@ -107,6 +107,7 @@ package android.nfc { method public void onRfDiscoveryStarted(boolean); method public void onRfFieldActivated(boolean); method public void onRoutingChanged(); + method public void onRoutingTableFull(); method public void onStateUpdated(int); method public void onTagConnected(boolean); method public void onTagDispatch(@NonNull java.util.function.Consumer<java.lang.Boolean>); diff --git a/nfc/java/android/nfc/INfcOemExtensionCallback.aidl b/nfc/java/android/nfc/INfcOemExtensionCallback.aidl index b102e873d737..fb793b024288 100644 --- a/nfc/java/android/nfc/INfcOemExtensionCallback.aidl +++ b/nfc/java/android/nfc/INfcOemExtensionCallback.aidl @@ -52,5 +52,6 @@ interface INfcOemExtensionCallback { void onNdefMessage(in Tag tag, in NdefMessage message, in ResultReceiver hasOemExecutableContent); void onLaunchHceAppChooserActivity(in String selectedAid, in List<ApduServiceInfo> services, in ComponentName failedComponent, in String category); void onLaunchHceTapAgainActivity(in ApduServiceInfo service, in String category); + void onRoutingTableFull(); void onLogEventNotified(in OemLogItems item); } diff --git a/nfc/java/android/nfc/NfcOemExtension.java b/nfc/java/android/nfc/NfcOemExtension.java index abd99bc02f55..57ee981caf9c 100644 --- a/nfc/java/android/nfc/NfcOemExtension.java +++ b/nfc/java/android/nfc/NfcOemExtension.java @@ -394,6 +394,13 @@ public final class NfcOemExtension { void onLaunchHceTapAgainDialog(@NonNull ApduServiceInfo service, @NonNull String category); /** + * Callback to indicate that routing table is full and the OEM can optionally launch a + * dialog to request the user to remove some Card Emulation apps from the device to free + * routing table space. + */ + void onRoutingTableFull(); + + /** * Callback when OEM specified log event are notified. * @param item the log items that contains log information of NFC event. */ @@ -853,6 +860,12 @@ public final class NfcOemExtension { handleVoidCallback(enabled, cb::onReaderOptionChanged, ex)); } + public void onRoutingTableFull() throws RemoteException { + mCallbackMap.forEach((cb, ex) -> + handleVoidCallback(null, + (Object input) -> cb.onRoutingTableFull(), ex)); + } + @Override public void onGetOemAppSearchIntent(List<String> packages, ResultReceiver intentConsumer) throws RemoteException { |