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

Commit 87a7992c authored by Aishwarya Mallampati's avatar Aishwarya Mallampati
Browse files

DO NOT MERGE Changed provisionData type from string to byte[].

Bug: 275270448
Test: atest SatelliteManagerTest
Change-Id: Id3d1616102ca34b5f7702c7c98a618d5ea6e0255
parent 21e651ba
Loading
Loading
Loading
Loading
+14 −11
Original line number Diff line number Diff line
@@ -259,14 +259,14 @@ public class SatelliteController extends Handler {

    private static final class ProvisionSatelliteServiceArgument {
        @NonNull public String token;
        @NonNull public String regionId;
        @NonNull public byte[] provisionData;
        @NonNull public Consumer<Integer> callback;
        public int subId;

        ProvisionSatelliteServiceArgument(String token, String regionId, Consumer<Integer> callback,
                int subId) {
        ProvisionSatelliteServiceArgument(String token, byte[] provisionData,
                Consumer<Integer> callback, int subId) {
            this.token = token;
            this.regionId = regionId;
            this.provisionData = provisionData;
            this.callback = callback;
            this.subId = subId;
        }
@@ -452,7 +452,7 @@ public class SatelliteController extends Handler {
                mProvisionMetricsStats.setProvisioningStartTime();
                if (mSatelliteModemInterface.isSatelliteServiceSupported()) {
                    mSatelliteModemInterface.provisionSatelliteService(argument.token,
                            argument.regionId, onCompleted);
                            argument.provisionData, onCompleted);
                    break;
                }
                Phone phone = request.phone;
@@ -1016,14 +1016,15 @@ public class SatelliteController extends Handler {
     * @param subId The subId of the subscription to be provisioned.
     * @param token The token to be used as a unique identifier for provisioning with satellite
     *              gateway.
     * @param regionId The region ID for the device's current location.
     * @param provisionData Data from the provisioning app that can be used by provisioning server
     * @param callback The callback to get the error code of the request.
     *
     * @return The signal transport used by the caller to cancel the provision request,
     *         or {@code null} if the request failed.
     */
    @Nullable public ICancellationSignal provisionSatelliteService(int subId,
            @NonNull String token, @NonNull String regionId, @NonNull IIntegerConsumer callback) {
            @NonNull String token, @NonNull byte[] provisionData,
            @NonNull IIntegerConsumer callback) {
        Consumer<Integer> result = FunctionalUtils.ignoreRemoteException(callback::accept);
        if (!isSatelliteSupported()) {
            result.accept(SatelliteManager.SATELLITE_NOT_SUPPORTED);
@@ -1044,13 +1045,14 @@ public class SatelliteController extends Handler {
        }

        sendRequestAsync(CMD_PROVISION_SATELLITE_SERVICE,
                new ProvisionSatelliteServiceArgument(token, regionId, result, validSubId), phone);
                new ProvisionSatelliteServiceArgument(token, provisionData, result, validSubId),
                phone);

        ICancellationSignal cancelTransport = CancellationSignal.createTransport();
        CancellationSignal.fromTransport(cancelTransport).setOnCancelListener(() -> {
            sendRequestAsync(CMD_DEPROVISION_SATELLITE_SERVICE,
                    new ProvisionSatelliteServiceArgument(token, regionId, null, validSubId),
                    phone);
                    new ProvisionSatelliteServiceArgument(token, provisionData, null,
                            validSubId), phone);
            mProvisionMetricsStats.setIsCanceled(true);
        });
        return cancelTransport;
@@ -1083,7 +1085,8 @@ public class SatelliteController extends Handler {

        Phone phone = SatelliteServiceUtils.getPhone();
        sendRequestAsync(CMD_DEPROVISION_SATELLITE_SERVICE,
                new ProvisionSatelliteServiceArgument(token, null, result, validSubId), phone);
                new ProvisionSatelliteServiceArgument(token, null, result, validSubId),
                phone);
    }

    /**
+3 −3
Original line number Diff line number Diff line
@@ -676,14 +676,14 @@ public class SatelliteModemInterface {
     *
     * @param token The token to be used as a unique identifier for provisioning with satellite
     *              gateway.
     * @param regionId The region ID for the device's current location.
     * @param provisionData Data from the provisioning app that can be used by provisioning server
     * @param message The Message to send to result of the operation to.
     */
    public void provisionSatelliteService(@NonNull String token, @NonNull String regionId,
    public void provisionSatelliteService(@NonNull String token, @NonNull byte[] provisionData,
            @NonNull Message message) {
        if (mSatelliteService != null) {
            try {
                mSatelliteService.provisionSatelliteService(token, regionId,
                mSatelliteService.provisionSatelliteService(token, provisionData,
                        new IIntegerConsumer.Stub() {
                            @Override
                            public void accept(int result) {