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

Commit 82c09059 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "[framework] Add an API to get max pause polling timeout." into main

parents 2749a5ec 861472d1
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -58,6 +58,7 @@ package android.nfc {
    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 int forceRoutingTableCommit();
    method @FlaggedApi("android.nfc.nfc_oem_extension") @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getActiveNfceeList();
    method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public long getMaxPausePollingTimeoutMills();
    method @FlaggedApi("android.nfc.nfc_oem_extension") @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public android.nfc.RoutingStatus getRoutingStatus();
    method @FlaggedApi("android.nfc.nfc_oem_extension") @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public java.util.List<android.nfc.NfcRoutingTableEntry> getRoutingTable();
    method @FlaggedApi("android.nfc.nfc_oem_extension") @NonNull public android.nfc.T4tNdefNfcee getT4tNdefNfcee();
@@ -66,7 +67,7 @@ package android.nfc {
    method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean isTagPresent();
    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 overwriteRoutingTable(int, int, int, int);
    method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int pausePolling(int);
    method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int pausePolling(long);
    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 int resumePolling();
    method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setAutoChangeEnabled(boolean);
+2 −1
Original line number Diff line number Diff line
@@ -53,7 +53,7 @@ interface INfcAdapter
    int getState();
    boolean disable(boolean saveState, in String pkg);
    boolean enable(in String pkg);
    int pausePolling(int timeoutInMs);
    int pausePolling(long timeoutInMs);
    int resumePolling();

    void setForegroundDispatch(in PendingIntent intent,
@@ -124,4 +124,5 @@ interface INfcAdapter
    int commitRouting();
    boolean isTagIntentAllowed(in String pkg, in int Userid);
    IT4tNdefNfcee getT4tNdefNfceeInterface();
    long getMaxPausePollingTimeoutMs();
}
+16 −3
Original line number Diff line number Diff line
@@ -748,15 +748,16 @@ public final class NfcOemExtension {
    /**
     * Pauses NFC tag reader mode polling for a {@code timeoutInMs} millisecond.
     * In case of {@code timeoutInMs} is zero or invalid polling will be stopped indefinitely.
     * Use {@link #resumePolling() to resume the polling.
     * @param timeoutInMs the pause polling duration in millisecond, ranging from 0 to 40000.
     * Use {@link #resumePolling()} to resume the polling.
     * Use {@link #getMaxPausePollingTimeoutMs()} to check the max timeout value.
     * @param timeoutInMs the pause polling duration in millisecond.
     * @return status of the operation
     * @throws IllegalArgumentException if timeoutInMs value is invalid
     *         (0 < timeoutInMs < max).
     */
    @FlaggedApi(Flags.FLAG_NFC_OEM_EXTENSION)
    @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS)
    public @PollingStateChangeStatusCode int pausePolling(@DurationMillisLong int timeoutInMs) {
    public @PollingStateChangeStatusCode int pausePolling(@DurationMillisLong long timeoutInMs) {
        return NfcAdapter.callServiceReturn(() ->
                NfcAdapter.sService.pausePolling(timeoutInMs),
                POLLING_STATE_CHANGE_ALREADY_IN_REQUESTED_STATE);
@@ -775,6 +776,18 @@ public final class NfcOemExtension {
                POLLING_STATE_CHANGE_ALREADY_IN_REQUESTED_STATE);
    }

    /**
     * Gets the max pause polling timeout value in millisecond.
     * @return long integer representing the max timeout
     */
    @FlaggedApi(Flags.FLAG_NFC_OEM_EXTENSION)
    @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS)
    @DurationMillisLong
    public long getMaxPausePollingTimeoutMills() {
        return NfcAdapter.callServiceReturn(() ->
                NfcAdapter.sService.getMaxPausePollingTimeoutMs(), 0L);
    }

    /**
     * Set whether to enable auto routing change or not (enabled by default).
     * If disabled, routing targets are limited to a single off-host destination.