From: Taesu Lee Date: Mon, 22 Jul 2019 10:20:05 +0000 (+0900) Subject: Fix to show eUICC preference in eng build X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=39e4fbb746801df3f26851a24260fa05e2424658;p=android-x86%2Fpackages-apps-Settings.git Fix to show eUICC preference in eng build DEVELOPMENT_SETTINGS_ENABLED is not set before entering Developer options in settings app even if it is in eng build. To show eUICC preference in eng build, uses isDevelopmentSettingsEnabled() instead. Test: Manual and make RunSettingsRoboTests Change-Id: Ia1f46fad94bc62ca48dcfef7cd5d6188766aa380 Signed-off-by: Taesu Lee --- diff --git a/src/com/android/settings/MasterClear.java b/src/com/android/settings/MasterClear.java index 0df39842f9..8bb898abca 100644 --- a/src/com/android/settings/MasterClear.java +++ b/src/com/android/settings/MasterClear.java @@ -64,6 +64,7 @@ import com.android.settings.enterprise.ActionDisabledByAdminDialogHelper; import com.android.settings.password.ChooseLockSettingsHelper; import com.android.settings.password.ConfirmLockPattern; import com.android.settingslib.RestrictedLockUtilsInternal; +import com.android.settingslib.development.DevelopmentSettingsEnabler; import com.google.android.setupcompat.template.FooterBarMixin; import com.google.android.setupcompat.template.FooterButton; @@ -382,8 +383,7 @@ public class MasterClear extends InstrumentedFragment implements OnGlobalLayoutL } ContentResolver cr = context.getContentResolver(); return Settings.Global.getInt(cr, Settings.Global.EUICC_PROVISIONED, 0) != 0 - || Settings.Global.getInt( - cr, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0) != 0; + || DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(context); } @VisibleForTesting diff --git a/src/com/android/settings/ResetNetwork.java b/src/com/android/settings/ResetNetwork.java index 424d976e90..4fbc09db9b 100644 --- a/src/com/android/settings/ResetNetwork.java +++ b/src/com/android/settings/ResetNetwork.java @@ -52,6 +52,7 @@ import com.android.settings.password.ChooseLockSettingsHelper; import com.android.settings.password.ConfirmLockPattern; import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; import com.android.settingslib.RestrictedLockUtilsInternal; +import com.android.settingslib.development.DevelopmentSettingsEnabler; import java.util.ArrayList; import java.util.List; @@ -236,7 +237,7 @@ public class ResetNetwork extends InstrumentedFragment { } ContentResolver resolver = context.getContentResolver(); return Settings.Global.getInt(resolver, Global.EUICC_PROVISIONED, 0) != 0 - || Settings.Global.getInt(resolver, Global.DEVELOPMENT_SETTINGS_ENABLED, 0) != 0; + || DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(context); } @Override diff --git a/src/com/android/settings/network/telephony/MobileNetworkUtils.java b/src/com/android/settings/network/telephony/MobileNetworkUtils.java index 0e5eaa89ed..70b92c9aa2 100644 --- a/src/com/android/settings/network/telephony/MobileNetworkUtils.java +++ b/src/com/android/settings/network/telephony/MobileNetworkUtils.java @@ -53,6 +53,7 @@ import com.android.internal.util.ArrayUtils; import com.android.settings.R; import com.android.settings.Utils; import com.android.settings.core.BasePreferenceController; +import com.android.settingslib.development.DevelopmentSettingsEnabler; import com.android.settingslib.graph.SignalDrawable; import java.util.Arrays; @@ -224,7 +225,7 @@ public class MobileNetworkUtils { final boolean euiccProvisioned = Settings.Global.getInt(cr, Settings.Global.EUICC_PROVISIONED, 0) != 0; final boolean inDeveloperMode = - Settings.Global.getInt(cr, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0) != 0; + DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(context); return (inDeveloperMode || euiccProvisioned || (!esimIgnoredDevice && enabledEsimUiByDefault && inEsimSupportedCountries)); diff --git a/tests/robotests/src/com/android/settings/MasterClearTest.java b/tests/robotests/src/com/android/settings/MasterClearTest.java index 73adf937c8..03d42a930f 100644 --- a/tests/robotests/src/com/android/settings/MasterClearTest.java +++ b/tests/robotests/src/com/android/settings/MasterClearTest.java @@ -39,6 +39,7 @@ import android.content.Intent; import android.content.pm.ActivityInfo; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; +import android.os.UserManager; import android.provider.Settings; import android.view.LayoutInflater; import android.view.View; @@ -50,7 +51,9 @@ import android.widget.ScrollView; import androidx.fragment.app.FragmentActivity; import com.android.settings.testutils.shadow.ShadowUtils; +import com.android.settingslib.development.DevelopmentSettingsEnabler; +import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -62,6 +65,7 @@ import org.robolectric.RobolectricTestRunner; import org.robolectric.Shadows; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowActivity; +import org.robolectric.shadows.ShadowUserManager; @RunWith(RobolectricTestRunner.class) @Config(shadows = ShadowUtils.class) @@ -92,6 +96,7 @@ public class MasterClearTest { private MasterClear mMasterClear; private ShadowActivity mShadowActivity; private FragmentActivity mActivity; + private ShadowUserManager mShadowUserManager; private View mContentView; @Before @@ -100,6 +105,9 @@ public class MasterClearTest { mMasterClear = spy(new MasterClear()); mActivity = Robolectric.setupActivity(FragmentActivity.class); mShadowActivity = Shadows.shadowOf(mActivity); + UserManager userManager = mActivity.getSystemService(UserManager.class); + mShadowUserManager = Shadows.shadowOf(userManager); + mShadowUserManager.setIsAdminUser(true); mContentView = LayoutInflater.from(mActivity).inflate(R.layout.master_clear, null); // Make scrollView only have one child @@ -107,6 +115,11 @@ public class MasterClearTest { when(mScrollView.getChildCount()).thenReturn(1); } + @After + public void tearDown() { + mShadowUserManager.setIsAdminUser(false); + } + @Test public void testShowFinalConfirmation_eraseEsimVisible_eraseEsimChecked() { final Context context = mock(Context.class); @@ -443,8 +456,7 @@ public class MasterClearTest { doReturn(isEuiccEnabled).when(mMasterClear).isEuiccEnabled(any()); ContentResolver cr = mActivity.getContentResolver(); Settings.Global.putInt(cr, Settings.Global.EUICC_PROVISIONED, isEuiccProvisioned ? 1 : 0); - Settings.Global.putInt( - cr, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, isDeveloper ? 1 : 0); + DevelopmentSettingsEnabler.setDevelopmentSettingsEnabled(mActivity, isDeveloper); } private void initScrollView(int height, int scrollY, int childBottom) {