OSDN Git Service

Fix to show eUICC preference in eng build
authorTaesu Lee <taesu82.lee@samsung.com>
Mon, 22 Jul 2019 10:20:05 +0000 (19:20 +0900)
committerTaesu Lee <taesu82.lee@samsung.com>
Fri, 6 Sep 2019 07:11:39 +0000 (16:11 +0900)
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>
src/com/android/settings/MasterClear.java
src/com/android/settings/ResetNetwork.java
src/com/android/settings/network/telephony/MobileNetworkUtils.java
tests/robotests/src/com/android/settings/MasterClearTest.java

index 0df3984..8bb898a 100644 (file)
@@ -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
index 424d976..4fbc09d 100644 (file)
@@ -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
index 0e5eaa8..70b92c9 100644 (file)
@@ -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));
index 73adf93..03d42a9 100644 (file)
@@ -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) {