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 0f97b2c8d443..bc8a7afd94e9 100644 --- a/nfc/api/system-current.txt +++ b/nfc/api/system-current.txt @@ -82,6 +82,7 @@ package android.nfc { method public void onEnableStarted(); method public void onHceEventReceived(int); method public void onNdefRead(@NonNull java.util.function.Consumer<java.lang.Boolean>); + method public void onReaderOptionChanged(boolean); method public void onRfDiscoveryStarted(boolean); method public void onRfFieldActivated(boolean); method public void onRoutingChanged(); diff --git a/nfc/java/android/nfc/INfcOemExtensionCallback.aidl b/nfc/java/android/nfc/INfcOemExtensionCallback.aidl index b65c83773618..e49ef7e80705 100644 --- a/nfc/java/android/nfc/INfcOemExtensionCallback.aidl +++ b/nfc/java/android/nfc/INfcOemExtensionCallback.aidl @@ -37,6 +37,7 @@ interface INfcOemExtensionCallback { void onTagDispatch(in ResultReceiver isSkipped); void onRoutingChanged(); void onHceEventReceived(int action); + void onReaderOptionChanged(boolean enabled); void onCardEmulationActivated(boolean isActivated); void onRfFieldActivated(boolean isActivated); void onRfDiscoveryStarted(boolean isDiscoveryStarted); diff --git a/nfc/java/android/nfc/NfcOemExtension.java b/nfc/java/android/nfc/NfcOemExtension.java index 632f693c4fad..d51b704a7e7f 100644 --- a/nfc/java/android/nfc/NfcOemExtension.java +++ b/nfc/java/android/nfc/NfcOemExtension.java @@ -223,6 +223,13 @@ public final class NfcOemExtension { void onHceEventReceived(@HostCardEmulationAction int action); /** + * API to notify when reader option has been changed using + * {@link NfcAdapter#enableReaderOption(boolean)} by some app. + * @param enabled Flag indicating ReaderMode enabled/disabled + */ + void onReaderOptionChanged(boolean enabled); + + /** * Notifies NFC is activated in listen mode. * NFC Forum NCI-2.3 ch.5.2.6 specification * @@ -488,6 +495,12 @@ public final class NfcOemExtension { handleVoidCallback(action, cb::onHceEventReceived, ex)); } + @Override + public void onReaderOptionChanged(boolean enabled) throws RemoteException { + mCallbackMap.forEach((cb, ex) -> + handleVoidCallback(enabled, cb::onReaderOptionChanged, ex)); + } + private <T> void handleVoidCallback( T input, Consumer<T> callbackMethod, Executor executor) { synchronized (mLock) { |