Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ee03676a authored by Brad Lassey's avatar Brad Lassey
Browse files

Add method to retrieve whether observe mode is currently enabled or not

Bug: b/322604034
Test: Tested with new CTS test
Change-Id: I9439d67afc5dc4cf050b4858d4257f77961b2b0d
parent 3e99e2b4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -73,6 +73,7 @@ package android.nfc {
    method @FlaggedApi("android.nfc.enable_nfc_charging") @Nullable public android.nfc.WlcListenerDeviceInfo getWlcListenerDeviceInfo();
    method public boolean ignore(android.nfc.Tag, int, android.nfc.NfcAdapter.OnTagRemovedListener, android.os.Handler);
    method public boolean isEnabled();
    method @FlaggedApi("android.nfc.nfc_observe_mode") public boolean isObserveModeEnabled();
    method @FlaggedApi("android.nfc.nfc_observe_mode") public boolean isObserveModeSupported();
    method @FlaggedApi("android.nfc.enable_nfc_reader_option") public boolean isReaderOptionEnabled();
    method @FlaggedApi("android.nfc.enable_nfc_reader_option") public boolean isReaderOptionSupported();
+1 −0
Original line number Diff line number Diff line
@@ -88,6 +88,7 @@ interface INfcAdapter
    @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS)")
    boolean enableReaderOption(boolean enable);
    boolean isObserveModeSupported();
    boolean isObserveModeEnabled();
    boolean setObserveMode(boolean enabled);

    @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS)")
+16 −0
Original line number Diff line number Diff line
@@ -1207,6 +1207,22 @@ public final class NfcAdapter {
        }
    }

    /**
     * Returns whether Observe Mode is currently enabled or not.
     *
     * @return true if observe mode is enabled, false otherwise.
     */

    @FlaggedApi(Flags.FLAG_NFC_OBSERVE_MODE)
    public boolean isObserveModeEnabled() {
        try {
            return sService.isObserveModeEnabled();
        } catch (RemoteException e) {
            attemptDeadServiceRecovery(e);
            return false;
        }
    }

    /**
     * Controls whether the NFC adapter will allow transactions to proceed or be in observe mode
     * and simply observe and notify the APDU service of polling loop frames. See