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

Commit 4b7df080 authored by tom hsu's avatar tom hsu Committed by Tom Hsu
Browse files

Do not cache the partial carrier configs

Flag: EXEMPT bug fix
Bug: b/411026956
Test: atest pass
Change-Id: Iee99aa0018879c19233abd281bf59fb706317e5f
parent 77427be4
Loading
Loading
Loading
Loading
+5 −11
Original line number Diff line number Diff line
@@ -168,19 +168,13 @@ public class CarrierConfigCache {
            @NonNull String... keys) {
        if (sCarrierConfigManager == null) return null;

        synchronized (sCarrierConfigs) {
            if (sCarrierConfigs.containsKey(subId)) {
                return sCarrierConfigs.get(subId);
            }
        final PersistableBundle config = sCarrierConfigManager.getConfigForSubId(subId, keys);
        if (config == null) {
            Log.e(TAG, "Could not get carrier config, subId:" + subId);
            return null;
        }
            sCarrierConfigs.put(subId, config);
        return config;
    }
    }

    /**
     * Gets the Carrier-Configuration for the default subscription.
+15 −0
Original line number Diff line number Diff line
@@ -16,8 +16,12 @@

package com.android.settings.network;

import static android.telephony.CarrierConfigManager.KEY_SATELLITE_ESOS_SUPPORTED_BOOL;

import static com.google.common.truth.Truth.assertThat;

import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
@@ -98,4 +102,15 @@ public class CarrierConfigCacheTest {

        verify(mCarrierConfigManager, times(1)).getConfigForSubId(TWICE_SUB_ID);
    }

    @Test
    public void getSpecificConfigsForSubId_getTwice_onlyGetOnceFromManager() {
        when(mCarrierConfigManager.getConfigForSubId(eq(TWICE_SUB_ID), any())).thenReturn(
                mCarrierConfig);

        mCarrierConfigCache.getSpecificConfigsForSubId(TWICE_SUB_ID,
                KEY_SATELLITE_ESOS_SUPPORTED_BOOL);

        verify(mCarrierConfigManager, times(1)).getConfigForSubId(eq(TWICE_SUB_ID), any());
    }
}