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

Commit 835a32ba authored by Alexandra Ducati-Manas's avatar Alexandra Ducati-Manas Committed by Roshan Pius
Browse files

Adding System code route to overwriteRoutingTable() API

Bug: 369634994
Test: atest CtsNfcTestCases

Change-Id: I09de2c9747fd57a410ee0bc1259ea045208fe3e1
parent 17b49c03
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -63,7 +63,7 @@ package android.nfc {
    method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean isAutoChangeEnabled();
    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);
    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 void pausePolling(int);
    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 resumePolling();
+1 −1
Original line number Diff line number Diff line
@@ -54,5 +54,5 @@ interface INfcCardEmulation
    void setAutoChangeStatus(boolean state);
    boolean isAutoChangeEnabled();
    List<String> getRoutingStatus();
    void overwriteRoutingTable(int userHandle, String emptyAid, String protocol, String tech);
    void overwriteRoutingTable(int userHandle, String emptyAid, String protocol, String tech, String sc);
}
+7 −2
Original line number Diff line number Diff line
@@ -647,24 +647,29 @@ public final class NfcOemExtension {
     *                   {@link ProtocolAndTechnologyRoute}
     * @param emptyAid Zero-length AID route destination, where the possible inputs are defined in
     *                 {@link ProtocolAndTechnologyRoute}
     * @param systemCode System Code route destination, where the possible inputs are defined in
     *                   {@link ProtocolAndTechnologyRoute}
     */
    @RequiresPermission(Manifest.permission.WRITE_SECURE_SETTINGS)
    @FlaggedApi(Flags.FLAG_NFC_OEM_EXTENSION)
    public void overwriteRoutingTable(
            @CardEmulation.ProtocolAndTechnologyRoute int protocol,
            @CardEmulation.ProtocolAndTechnologyRoute int technology,
            @CardEmulation.ProtocolAndTechnologyRoute int emptyAid) {
            @CardEmulation.ProtocolAndTechnologyRoute int emptyAid,
            @CardEmulation.ProtocolAndTechnologyRoute int systemCode) {

        String protocolRoute = routeIntToString(protocol);
        String technologyRoute = routeIntToString(technology);
        String emptyAidRoute = routeIntToString(emptyAid);
        String systemCodeRoute = routeIntToString(systemCode);

        NfcAdapter.callService(() ->
                NfcAdapter.sCardEmulationService.overwriteRoutingTable(
                        mContext.getUser().getIdentifier(),
                        emptyAidRoute,
                        protocolRoute,
                        technologyRoute
                        technologyRoute,
                        systemCodeRoute
                ));
    }