Fix settings crashes on missing Telephony features

Bug: 310710841
Test: open settings app
Flag: EXEMPT bugfix
Change-Id: Ic96585fb34902de54ec838c5692673b33edd2c27
This commit is contained in:
Tomasz Wasilczyk
2025-01-14 15:05:42 -08:00
parent c47c644696
commit 6a311b9f5b
4 changed files with 27 additions and 5 deletions

View File

@@ -40,6 +40,7 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.PersistableBundle;
import android.telephony.CarrierConfigManager;
import android.telephony.ServiceState;
@@ -67,9 +68,9 @@ import org.mockito.MockitoAnnotations;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.concurrent.Executor;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.Executor;
@RunWith(AndroidJUnit4.class)
public class SimStatusDialogControllerTest {
@@ -95,6 +96,7 @@ public class SimStatusDialogControllerTest {
private SimStatusDialogController mController;
private Context mContext;
private PackageManager mPackageManager;
@Mock
private LifecycleOwner mLifecycleOwner;
private Lifecycle mLifecycle;
@@ -112,6 +114,12 @@ public class SimStatusDialogControllerTest {
MockitoAnnotations.initMocks(this);
mContext = spy(ApplicationProvider.getApplicationContext());
when(mDialog.getContext()).thenReturn(mContext);
mPackageManager = spy(mContext.getPackageManager());
when(mContext.getPackageManager()).thenReturn(mPackageManager);
when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_TELEPHONY_RADIO_ACCESS))
.thenReturn(true);
when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_TELEPHONY_CALLING))
.thenReturn(true);
mLifecycle = new Lifecycle(mLifecycleOwner);
mTelephonyManager = spy(mContext.getSystemService(TelephonyManager.class));