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

Commit ba0934ef authored by youngtaecha's avatar youngtaecha Committed by Youngtae Cha
Browse files

Support optionality for SatelliteConfig fields

Bug: 416619396
Test: atest SatelliteConfigParserTest(http://ab/I08300010395007752)
Test: Manually verified if previous v16, v17 config data downloaded well
Flag: EXEMPT bug fix

Change-Id: Ie404926618404836950b8cb496ce1dd1eead8297
parent 0f37f72c
Loading
Loading
Loading
Loading
+92 −17
Original line number Diff line number Diff line
@@ -61,27 +61,68 @@ public class SatelliteConfig {
    private SatelliteConfigData.SatelliteConfigProto mConfigData;

    public SatelliteConfig(@NonNull SatelliteConfigData.SatelliteConfigProto configData) {
        logd("SatelliteConfig");
        mConfigData = configData;
        mVersion = mConfigData.version;
        logd("mVersion: " + mVersion);
        buildCarrierSupportedServicesPerCarrier();
        buildCarrierRoamingConfig();
        buildDeviceSatelliteRegion();
    }

    private void buildCarrierSupportedServicesPerCarrier() {
        logd("buildCarrierSupportedServicesPerCarrier");
        if (mConfigData.carrierSupportedSatelliteServices == null) {
            logd("mSupportedServicesPerCarrier: empty");
        } else {
            mSupportedServicesPerCarrier = getCarrierSupportedSatelliteServices();
        if (mConfigData.carrierRoamingConfig != null) {
            logd("mSupportedServicesPerCarrier: " + mSupportedServicesPerCarrier);
        }
    }

    private void buildCarrierRoamingConfig() {
        logd("buildCarrierRoamingConfig");
        if (mConfigData.carrierRoamingConfig == null) {
            logd("mConfigData.carrierRoamingConfig: empty");
        } else {
            mCarrierRoamingMaxAllowedDataMode = mConfigData.carrierRoamingConfig.maxAllowedDataMode;
            logd("mCarrierRoamingMaxAllowedDataMode: " + mCarrierRoamingMaxAllowedDataMode);
        }
    }

    private void buildDeviceSatelliteRegion() {
        logd("buildDeviceSatelliteRegion");
        if (mConfigData.deviceSatelliteRegion == null) {
            logd("mConfigData.deviceSatelliteRegion: empty");
        } else {
            if (mConfigData.deviceSatelliteRegion.countryCodes == null) {
                logd("mConfigData.deviceSatelliteRegion.countryCodes is null, set empty list");
                mSatelliteRegionCountryCodes = new ArrayList<>();
            } else {
                mSatelliteRegionCountryCodes = List.of(
                        mConfigData.deviceSatelliteRegion.countryCodes);
                logd("mSatelliteRegionCountryCodes: "
                        + String.join(",", mSatelliteRegionCountryCodes));
            }

            mIsSatelliteRegionAllowed = mConfigData.deviceSatelliteRegion.isAllowed;
            logd("mIsSatelliteRegionAllowed: " + mIsSatelliteRegionAllowed);

            mSatS2File = null;
        mSatelliteAccessConfigJsonFile = null;
            if (mConfigData.deviceSatelliteRegion.s2CellFile != null)  {
                logd("s2CellFile size: " + mConfigData.deviceSatelliteRegion.s2CellFile.length);
            } else {
                logd("s2CellFile: empty");
            }

        logd("mVersion:" + mVersion + " | "
                + "mSupportedServicesPerCarrier:" + mSupportedServicesPerCarrier + " | "
                + "mCarrierRoamingMaxAllowedDataMode:" + mCarrierRoamingMaxAllowedDataMode + " | "
                + "mSatelliteRegionCountryCodes:"
                + String.join(",", mSatelliteRegionCountryCodes) + " | "
                + "mIsSatelliteRegionAllowed:" + mIsSatelliteRegionAllowed + " | "
                + "s2CellFile size:" + mConfigData.deviceSatelliteRegion.s2CellFile.length  + " | "
                + "satellite_access_config_json size:"
            mSatelliteAccessConfigJsonFile = null;
            if (mConfigData.deviceSatelliteRegion.satelliteAccessConfigFile != null)  {
                logd("satellite_access_config_json size: "
                        + mConfigData.deviceSatelliteRegion.satelliteAccessConfigFile.length);
            } else {
                logd("satellite_access_config_json: empty");
            }
        }
    }

    /**
@@ -329,6 +370,40 @@ public class SatelliteConfig {
        }
    }

    /**
     * This method cleans the Satellite Config OTA resources and it should be used only in CTS/Unit
     * tests
     */
    @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE)
    public boolean hasSatelliteS2CellFile() {
        if (mConfigData != null && mConfigData.deviceSatelliteRegion != null) {
            if (mConfigData.deviceSatelliteRegion.s2CellFile != null
                    && mConfigData.deviceSatelliteRegion.s2CellFile.length > 0) {
                logd("hasSatelliteS2CellFile: s2CellFile is exist");
                return true;
            }
        }
        logd("hasSatelliteS2CellFile: s2CellFile is not exist");
        return false;
    }

    /**
     * This method cleans the Satellite Config OTA resources and it should be used only in CTS/Unit
     * tests
     */
    @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE)
    public boolean hasSatelliteAccessConfigFile() {
        if (mConfigData != null && mConfigData.deviceSatelliteRegion != null) {
            if (mConfigData.deviceSatelliteRegion.satelliteAccessConfigFile != null
                    && mConfigData.deviceSatelliteRegion.satelliteAccessConfigFile.length > 0) {
                logd("hasSatelliteAccessConfigFile: satelliteAccessConfigFile is exist");
                return true;
            }
        }
        logd("hasSatelliteAccessConfigFile: satelliteAccessConfigFile is not exist");
        return false;
    }

    /**
     * @return {@code true} if the SatS2File is already existed and {@code false} otherwise.
     */
+328 −41

File changed.

Preview size limit exceeded, changes collapsed.