Merge "developer-options: avoid oem-unlock preference controller crash"

This commit is contained in:
TreeHugger Robot
2019-02-21 18:00:23 +00:00
committed by Android (Google) Code Review
2 changed files with 29 additions and 1 deletions

View File

@@ -30,6 +30,7 @@ import static org.mockito.Mockito.when;
import android.app.Activity;
import android.content.Context;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.os.UserManager;
import android.service.oemlock.OemLockManager;
@@ -60,6 +61,8 @@ public class OemUnlockPreferenceControllerTest {
@Mock
private RestrictedSwitchPreference mPreference;
@Mock
private PackageManager mPackageManager;
@Mock
private PreferenceScreen mPreferenceScreen;
@Mock
private OemLockManager mOemLockManager;
@@ -74,6 +77,9 @@ public class OemUnlockPreferenceControllerTest {
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
when(mContext.getPackageManager()).thenReturn(mPackageManager);
when(mContext.getPackageManager().hasSystemFeature(PackageManager
.FEATURE_TELEPHONY_CARRIERLOCK)).thenReturn(true);
when(mContext.getSystemService(Context.OEM_LOCK_SERVICE)).thenReturn(mOemLockManager);
when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
when(mContext.getSystemService(Context.TELEPHONY_SERVICE)).thenReturn(mTelephonyManager);
@@ -86,6 +92,16 @@ public class OemUnlockPreferenceControllerTest {
mController.displayPreference(mPreferenceScreen);
}
@Test
public void OemUnlockPreferenceController_shouldNotCrashWhenMissingFEATURE_TELEPHONY_CARRIERLOCK() {
when(mContext.getPackageManager().hasSystemFeature(PackageManager
.FEATURE_TELEPHONY_CARRIERLOCK)).thenReturn(false);
when(mContext.getSystemService(Context.OEM_LOCK_SERVICE)).thenThrow
(new RuntimeException());
new OemUnlockPreferenceController(mContext, mActivity, mFragment);
}
@Test
public void isAvailable_shouldReturnTrueWhenOemLockManagerIsNotNull() {
boolean returnValue = mController.isAvailable();