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 <taesu82.lee@samsung.com>
diff --git a/src/com/android/settings/MasterClear.java b/src/com/android/settings/MasterClear.java
index 0df3984..8bb898a 100644
--- a/src/com/android/settings/MasterClear.java
+++ b/src/com/android/settings/MasterClear.java
@@ -64,6 +64,7 @@
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 @@
}
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 424d976..4fbc09d 100644
--- a/src/com/android/settings/ResetNetwork.java
+++ b/src/com/android/settings/ResetNetwork.java
@@ -52,6 +52,7 @@
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 @@
}
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 0e5eaa8..70b92c9 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.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 @@
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 73adf93..03d42a9 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.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 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.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 @@
private MasterClear mMasterClear;
private ShadowActivity mShadowActivity;
private FragmentActivity mActivity;
+ private ShadowUserManager mShadowUserManager;
private View mContentView;
@Before
@@ -100,6 +105,9 @@
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 @@
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 @@
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) {