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

Commit f7ce51f9 authored by allenwtsu's avatar allenwtsu
Browse files

[RCS] Implement notifyRcsAutoConfigurationReceived()

Bug: 147122370
Test: build pass
Change-Id: I239c53806b148e899d8078c469731f05e8b97885
parent 03c1364b
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -10159,6 +10159,7 @@ package android.telephony.ims {
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean getProvisioningStatusForCapability(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int, int);
    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public String getProvisioningStringValue(int);
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean getRcsProvisioningStatusForCapability(int);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void notifyRcsAutoConfigurationReceived(@NonNull byte[], boolean);
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void registerProvisioningChangedCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.ProvisioningManager.Callback) throws android.telephony.ims.ImsException;
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public int setProvisioningIntValue(int, int);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void setProvisioningStatusForCapability(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int, int, boolean);
@@ -10368,6 +10369,7 @@ package android.telephony.ims.stub {
    method public String getConfigString(int);
    method public final void notifyProvisionedValueChanged(int, int);
    method public final void notifyProvisionedValueChanged(int, String);
    method public void notifyRcsAutoConfigurationReceived(@NonNull byte[], boolean);
    method public int setConfig(int, int);
    method public int setConfig(int, String);
    field public static final int CONFIG_RESULT_FAILED = 1; // 0x1
+2 −0
Original line number Diff line number Diff line
@@ -3579,6 +3579,7 @@ package android.telephony.ims {
    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") @WorkerThread public boolean getProvisioningStatusForCapability(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int, int);
    method @Nullable @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") @WorkerThread public String getProvisioningStringValue(int);
    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") @WorkerThread public boolean getRcsProvisioningStatusForCapability(int);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void notifyRcsAutoConfigurationReceived(@NonNull byte[], boolean);
    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public void registerProvisioningChangedCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.ProvisioningManager.Callback) throws android.telephony.ims.ImsException;
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public int setProvisioningIntValue(int, int);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void setProvisioningStatusForCapability(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int, int, boolean);
@@ -3788,6 +3789,7 @@ package android.telephony.ims.stub {
    method public String getConfigString(int);
    method public final void notifyProvisionedValueChanged(int, int);
    method public final void notifyProvisionedValueChanged(int, String);
    method public void notifyRcsAutoConfigurationReceived(@NonNull byte[], boolean);
    method public int setConfig(int, int);
    method public int setConfig(int, String);
    field public static final int CONFIG_RESULT_FAILED = 1; // 0x1
+10 −4
Original line number Diff line number Diff line
@@ -441,19 +441,25 @@ public class ProvisioningManager {
    /**
     * Notify the framework that an RCS autoconfiguration XML file has been received for
     * provisioning.
     * <p>
     * Requires Permission: Manifest.permission.MODIFY_PHONE_STATE or that the calling app has
     * carrier privileges (see {@link #hasCarrierPrivileges}).
     * @param config The XML file to be read. ASCII/UTF8 encoded text if not compressed.
     * @param isCompressed The XML file is compressed in gzip format and must be decompressed
     *         before being read.
     * @hide
     *
     */
    @RequiresPermission(Manifest.permission.MODIFY_PHONE_STATE)
    public void notifyRcsAutoConfigurationReceived(@NonNull byte[] config, boolean isCompressed) {
        if (config == null) {
            throw new IllegalArgumentException("Must include a non-null config XML file.");
        }
        // TODO: Connect to ImsConfigImplBase.
        throw new UnsupportedOperationException("notifyRcsAutoConfigurationReceived is not"
                + "supported");
        try {
            getITelephony().notifyRcsAutoConfigurationReceived(mSubId, config, isCompressed);
        } catch (RemoteException e) {
            throw e.rethrowAsRuntimeException();
        }

    }

    private static boolean isImsAvailableOnDevice() {
+1 −0
Original line number Diff line number Diff line
@@ -40,4 +40,5 @@ interface IImsConfig {
    // Return result code defined in ImsConfig#OperationStatusConstants
    int setConfigString(int item, String value);
    void updateImsCarrierConfigs(in PersistableBundle bundle);
    void notifyRcsAutoConfigurationReceived(in byte[] config, boolean isCompressed);
}
+9 −2
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package android.telephony.ims.stub;

import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.SystemApi;
import android.annotation.TestApi;
import android.content.Context;
@@ -199,6 +200,12 @@ public class ImsConfigImplBase {
            }
        }

        @Override
        public void notifyRcsAutoConfigurationReceived(byte[] config, boolean isCompressed)
                throws RemoteException {
            getImsConfigImpl().notifyRcsAutoConfigurationReceived(config, isCompressed);
        }

        private void notifyImsConfigChanged(int item, int value) throws RemoteException {
            getImsConfigImpl().notifyConfigChanged(item, value);
        }
@@ -355,9 +362,9 @@ public class ImsConfigImplBase {
     * @param config The XML file to be read, if not compressed, it should be in ASCII/UTF8 format.
     * @param isCompressed The XML file is compressed in gzip format and must be decompressed
     *         before being read.
     * @hide
     *
     */
    public void notifyRcsAutoConfigurationReceived(byte[] config, boolean isCompressed) {
    public void notifyRcsAutoConfigurationReceived(@NonNull byte[] config, boolean isCompressed) {
    }

    /**
Loading