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

Commit a3dad664 authored by Thomas Nguyen's avatar Thomas Nguyen Committed by youngtaecha
Browse files

Add some extra config data used for validation

Bug: 332963485
Test: atest com.android.internal.telephony.satellite

Change-Id: I6dc35948a9f17c852f52236acc7374437e535e15
parent 4e90bca2
Loading
Loading
Loading
Loading
+19 −18
Original line number Diff line number Diff line
@@ -52,7 +52,7 @@ public class SatelliteConfig {
    private Map<Integer, Map<String, Set<Integer>>> mSupportedServicesPerCarrier;
    private List<String> mSatelliteRegionCountryCodes;
    private Boolean mIsSatelliteRegionAllowed;
    private Path mSatS2FilePath;
    private File mSatS2File;
    private SatelliteConfigData.SatelliteConfigProto mConfigData;

    public SatelliteConfig(SatelliteConfigData.SatelliteConfigProto configData) {
@@ -62,13 +62,14 @@ public class SatelliteConfig {
        mSatelliteRegionCountryCodes = List.of(
                mConfigData.deviceSatelliteRegion.countryCodes);
        mIsSatelliteRegionAllowed = mConfigData.deviceSatelliteRegion.isAllowed;
        mSatS2FilePath = null;
        mSatS2File = null;

        Log.d(TAG, "mVersion:" + mVersion + " | "
                + "mSupportedServicesPerCarrier:" + mSupportedServicesPerCarrier + " | "
                + "mSatelliteRegionCountryCodes:" + mSatelliteRegionCountryCodes + " | "
                + "mSatelliteRegionCountryCodes:"
                + String.join(",", mSatelliteRegionCountryCodes) + " | "
                + "mIsSatelliteRegionAllowed:" + mIsSatelliteRegionAllowed + " | "
                + "s2CellFile size:" + mConfigData.deviceSatelliteRegion.s2CellFile.length);
                + " | s2CellFile size:" + mConfigData.deviceSatelliteRegion.s2CellFile.length);
    }

    /**
@@ -181,21 +182,21 @@ public class SatelliteConfig {
     * @return satellite s2_cell_file path
     */
    @Nullable
    public Path getSatelliteS2CellFile(@Nullable Context context) {
    public File getSatelliteS2CellFile(@Nullable Context context) {
        if (context == null) {
            Log.d(TAG, "getSatelliteS2CellFile : context is null");
            return null;
        }

        if (isFileExist(mSatS2FilePath)) {
            Log.d(TAG, "File mSatS2FilePath is already exist");
            return mSatS2FilePath;
        if (isFileExist(mSatS2File)) {
            Log.d(TAG, "File mSatS2File is already exist");
            return mSatS2File;
        }

        if (mConfigData != null && mConfigData.deviceSatelliteRegion != null) {
            mSatS2FilePath = copySatS2FileToPhoneDirectory(context,
                    mConfigData.deviceSatelliteRegion.s2CellFile);
            return mSatS2FilePath;
            mSatS2File = copySatS2FileToPhoneDirectory(
                    context, mConfigData.deviceSatelliteRegion.s2CellFile);
            return mSatS2File;
        }
        Log.d(TAG, "getSatelliteS2CellFile: "
                + "mConfigData is null or mConfigData.deviceSatelliteRegion is null");
@@ -209,7 +210,7 @@ public class SatelliteConfig {
     */
    @Nullable
    @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE)
    public Path copySatS2FileToPhoneDirectory(@Nullable Context context,
    public File copySatS2FileToPhoneDirectory(@Nullable Context context,
            @Nullable byte[] byteArrayFile) {

        if (context == null || byteArrayFile == null) {
@@ -234,18 +235,18 @@ public class SatelliteConfig {
        } catch (IOException ex) {
            Log.e(TAG, "copySatS2FileToPhoneDirectory: ex=" + ex);
        }
        return targetSatS2FilePath;
        return targetSatS2FilePath.toFile();
    }

    /**
     * @return {@code true} if the SatS2File is already existed and {@code false} otherwise.
     */
    @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE)
    public boolean isFileExist(Path filePath) {
        if (filePath == null) {
            Log.d(TAG, "isFileExist : filePath is null");
    public boolean isFileExist(@Nullable File file) {
        if (file == null) {
            Log.d(TAG, "isFileExist : file is null");
            return false;
        }
        return Files.exists(filePath);
        return file.exists();
    }
}
+6 −9
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;

import android.testing.AndroidTestingRunner;
@@ -35,11 +36,9 @@ import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;

import java.nio.file.Path;
import java.nio.file.Paths;
import java.io.File;
import java.util.ArrayList;
import java.util.Base64;
import java.util.Collections;
@@ -183,9 +182,6 @@ public class SatelliteConfigParserTest extends TelephonyTest {

    @Test
    public void testGetSatelliteS2CellFile() {
        final String filePath = "/data/user_de/0/com.android.phone/app_satellite/s2_cell_file";
        Path targetSatS2FilePath = Paths.get(filePath);

        SatelliteConfigParser spySatelliteConfigParserNull = spy(
                new SatelliteConfigParser((byte[]) null));
        assertNotNull(spySatelliteConfigParserNull);
@@ -201,10 +197,11 @@ public class SatelliteConfigParserTest extends TelephonyTest {
        assertNotNull(spySatelliteConfigParser.getConfig());
        assertFalse(spySatelliteConfigParser.getConfig().isFileExist(null));

        SatelliteConfig mockedSatelliteConfig = Mockito.mock(SatelliteConfig.class);
        doReturn(targetSatS2FilePath).when(mockedSatelliteConfig).getSatelliteS2CellFile(any());
        SatelliteConfig mockedSatelliteConfig = mock(SatelliteConfig.class);
        File mMockSatS2File = mock(File.class);
        doReturn(mMockSatS2File).when(mockedSatelliteConfig).getSatelliteS2CellFile(any());
        doReturn(mockedSatelliteConfig).when(spySatelliteConfigParser).getConfig();
        assertEquals(targetSatS2FilePath,
        assertEquals(mMockSatS2File,
                spySatelliteConfigParser.getConfig().getSatelliteS2CellFile(mContext));
    }