Merge "Default to enable oem-unlocking preference" into qt-dev

This commit is contained in:
TreeHugger Robot
2019-04-17 16:54:19 +00:00
committed by Android (Google) Code Review
2 changed files with 20 additions and 14 deletions

View File

@@ -21,13 +21,12 @@ import static com.android.settings.development.DevelopmentOptionsActivityRequest
import android.app.Activity; import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.res.Resources; import android.content.res.Resources;
import android.os.Build;
import android.os.UserHandle; import android.os.UserHandle;
import android.os.UserManager; import android.os.UserManager;
import android.service.oemlock.OemLockManager; import android.service.oemlock.OemLockManager;
import android.telephony.TelephonyManager; import android.telephony.TelephonyManager;
import android.util.Log;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference; import androidx.preference.Preference;
@@ -56,15 +55,11 @@ public class OemUnlockPreferenceController extends DeveloperOptionsPreferenceCon
DevelopmentSettingsDashboardFragment fragment) { DevelopmentSettingsDashboardFragment fragment) {
super(context); super(context);
if (context.getPackageManager().hasSystemFeature(PackageManager if (Build.IS_EMULATOR && Build.IS_ENG) {
.FEATURE_TELEPHONY_CARRIERLOCK)) {
mOemLockManager = (OemLockManager) context.getSystemService(Context.OEM_LOCK_SERVICE);
} else {
mOemLockManager = null; mOemLockManager = null;
Log.i(TAG, "Missing FEATURE_TELEPHONY_CARRIERLOCK, OemUnlock Preference" + } else {
" Controller disabled."); mOemLockManager = (OemLockManager) context.getSystemService(Context.OEM_LOCK_SERVICE);
} }
mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE); mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
mTelephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); mTelephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
mFragment = fragment; mFragment = fragment;

View File

@@ -32,6 +32,7 @@ import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.content.res.Resources; import android.content.res.Resources;
import android.os.Build;
import android.os.UserManager; import android.os.UserManager;
import android.service.oemlock.OemLockManager; import android.service.oemlock.OemLockManager;
import android.telephony.TelephonyManager; import android.telephony.TelephonyManager;
@@ -48,6 +49,8 @@ import org.mockito.Answers;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner; import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import org.robolectric.util.ReflectionHelpers;
@RunWith(RobolectricTestRunner.class) @RunWith(RobolectricTestRunner.class)
public class OemUnlockPreferenceControllerTest { public class OemUnlockPreferenceControllerTest {
@@ -93,11 +96,19 @@ public class OemUnlockPreferenceControllerTest {
} }
@Test @Test
public void OemUnlockPreferenceController_shouldNotCrashWhenMissingFEATURE_TELEPHONY_CARRIERLOCK() { @Config(qualifiers = "mcc999")
when(mContext.getPackageManager().hasSystemFeature(PackageManager public void OemUnlockPreferenceController_shouldNotCrashInEmulatorEngBuild() {
.FEATURE_TELEPHONY_CARRIERLOCK)).thenReturn(false); ReflectionHelpers.setStaticField(Build.class, "IS_EMULATOR", true);
when(mContext.getSystemService(Context.OEM_LOCK_SERVICE)).thenThrow ReflectionHelpers.setStaticField(Build.class, "IS_ENG", true);
(new RuntimeException());
new OemUnlockPreferenceController(mContext, mActivity, mFragment);
}
@Test
@Config(qualifiers = "mcc999")
public void OemUnlockPreferenceController_shouldNotCrashInOtherBuild() {
ReflectionHelpers.setStaticField(Build.class, "IS_EMULATOR", false);
ReflectionHelpers.setStaticField(Build.class, "IS_ENG", false);
new OemUnlockPreferenceController(mContext, mActivity, mFragment); new OemUnlockPreferenceController(mContext, mActivity, mFragment);
} }