diff --git a/src/com/android/settings/network/telephony/CarrierConfigManagerExt.kt b/src/com/android/settings/network/telephony/CarrierConfigManagerExt.kt index b4211854c0e..05b4c07c53e 100644 --- a/src/com/android/settings/network/telephony/CarrierConfigManagerExt.kt +++ b/src/com/android/settings/network/telephony/CarrierConfigManagerExt.kt @@ -36,4 +36,7 @@ fun CarrierConfigManager.safeGetConfig( // Settings should not assume Carrier config loader (and any other system services as well) are // always available. If not available, use default value instead. persistableBundleOf() +} catch (e: RuntimeException) { + // The reason is same with above. + persistableBundleOf() } diff --git a/tests/spa_unit/src/com/android/settings/system/ClientInitiatedActionRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/system/ClientInitiatedActionRepositoryTest.kt index 2f52031e7aa..a962d4986e7 100644 --- a/tests/spa_unit/src/com/android/settings/system/ClientInitiatedActionRepositoryTest.kt +++ b/tests/spa_unit/src/com/android/settings/system/ClientInitiatedActionRepositoryTest.kt @@ -27,6 +27,7 @@ import org.junit.runner.RunWith import org.mockito.kotlin.any import org.mockito.kotlin.argumentCaptor import org.mockito.kotlin.doReturn +import org.mockito.kotlin.doThrow import org.mockito.kotlin.mock import org.mockito.kotlin.never import org.mockito.kotlin.stub @@ -43,6 +44,28 @@ class ClientInitiatedActionRepositoryTest { private val repository = ClientInitiatedActionRepository(context) + @Test + fun onSystemUpdate_runtimeException_doNothing() { + mockCarrierConfigManager.stub { + on { getConfigForSubId(any(), any()) } doThrow(RuntimeException()) + } + + repository.onSystemUpdate() + + verify(context, never()).sendBroadcast(any()) + } + + @Test + fun onSystemUpdate_illegalStateException_doNothing() { + mockCarrierConfigManager.stub { + on { getConfigForSubId(any(), any()) } doThrow(IllegalStateException()) + } + + repository.onSystemUpdate() + + verify(context, never()).sendBroadcast(any()) + } + @Test fun onSystemUpdate_notEnabled() { mockCarrierConfigManager.stub {