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

Commit c4502aa2 authored by Bob Wang's avatar Bob Wang Committed by Android (Google) Code Review
Browse files

Merge "[framework] Add Nfc oem extension api surface." into main

parents 0621ce9c 4a9fdd0e
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -57,7 +57,9 @@ package android.nfc {

  @FlaggedApi("android.nfc.nfc_oem_extension") public final class NfcOemExtension {
    method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void clearPreference();
    method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void maybeTriggerFirmwareUpdate();
    method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void registerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.nfc.NfcOemExtension.Callback);
    method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void synchronizeScreenState();
    method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void unregisterCallback(@NonNull android.nfc.NfcOemExtension.Callback);
  }

+2 −0
Original line number Diff line number Diff line
@@ -110,4 +110,6 @@ interface INfcAdapter
    void registerOemExtensionCallback(INfcOemExtensionCallback callbacks);
    void unregisterOemExtensionCallback(INfcOemExtensionCallback callbacks);
    void clearPreference();
    void setScreenState();
    void checkFirmware();
}
+28 −0
Original line number Diff line number Diff line
@@ -141,6 +141,34 @@ public final class NfcOemExtension {
        }
    }

    /**
     * Get the screen state from system and set it to current screen state.
     */
    @FlaggedApi(Flags.FLAG_NFC_OEM_EXTENSION)
    @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS)
    public void synchronizeScreenState() {
        try {
            NfcAdapter.sService.setScreenState();
        } catch (RemoteException e) {
            mAdapter.attemptDeadServiceRecovery(e);
        }
    }

    /**
     * Check if the firmware needs updating.
     *
     * <p>If an update is needed, a firmware will be triggered when NFC is disabled.
     */
    @FlaggedApi(Flags.FLAG_NFC_OEM_EXTENSION)
    @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS)
    public void maybeTriggerFirmwareUpdate() {
        try {
            NfcAdapter.sService.checkFirmware();
        } catch (RemoteException e) {
            mAdapter.attemptDeadServiceRecovery(e);
        }
    }

    private final class NfcOemExtensionCallback extends INfcOemExtensionCallback.Stub {
        @Override
        public void onTagConnected(boolean connected, Tag tag) throws RemoteException {