summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/com/android/settings/display/ShowOperatorNamePreferenceController.java7
-rw-r--r--tests/robotests/src/com/android/settings/display/ShowOperatorNamePreferenceControllerTest.java26
2 files changed, 32 insertions, 1 deletions
diff --git a/src/com/android/settings/display/ShowOperatorNamePreferenceController.java b/src/com/android/settings/display/ShowOperatorNamePreferenceController.java
index 558763a5ca6..4bc3ab7bc2f 100644
--- a/src/com/android/settings/display/ShowOperatorNamePreferenceController.java
+++ b/src/com/android/settings/display/ShowOperatorNamePreferenceController.java
@@ -63,7 +63,12 @@ public class ShowOperatorNamePreferenceController extends AbstractPreferenceCont
@Override
public void updateState(Preference preference) {
int value = Settings.Secure.getInt(mContext.getContentResolver(),
- KEY_SHOW_OPERATOR_NAME, 1);
+ KEY_SHOW_OPERATOR_NAME, getShowOperatorNameDefault());
((TwoStatePreference) preference).setChecked(value != 0);
}
+
+ private int getShowOperatorNameDefault() {
+ return mContext.getResources()
+ .getInteger(com.android.internal.R.integer.config_showOperatorNameDefault);
+ }
}
diff --git a/tests/robotests/src/com/android/settings/display/ShowOperatorNamePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/ShowOperatorNamePreferenceControllerTest.java
index c6f8a1fa340..be1eab0f37b 100644
--- a/tests/robotests/src/com/android/settings/display/ShowOperatorNamePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/ShowOperatorNamePreferenceControllerTest.java
@@ -22,15 +22,18 @@ import static org.mockito.Mockito.anyInt;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.app.admin.DevicePolicyManager;
import android.content.Context;
+import android.content.res.Resources;
import android.os.PersistableBundle;
import android.provider.Settings;
import android.telephony.CarrierConfigManager;
import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
import org.junit.Before;
import org.junit.Test;
@@ -54,11 +57,14 @@ public class ShowOperatorNamePreferenceControllerTest {
@Mock
private PersistableBundle mConfig;
private Context mContext;
+ private Resources mResources;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mContext = spy(RuntimeEnvironment.application);
+ mResources = spy(mContext.getResources());
+ when(mContext.getResources()).thenReturn(mResources);
when(mConfigManager.getConfigForSubId(anyInt())).thenReturn(mConfig);
when(mContext.getSystemService(CarrierConfigManager.class)).thenReturn(mConfigManager);
@@ -99,4 +105,24 @@ public class ShowOperatorNamePreferenceControllerTest {
Settings.Secure.getInt(mContext.getContentResolver(), KEY_SHOW_OPERATOR_NAME, 1);
assertThat(mode).isEqualTo(0);
}
+
+ @Test
+ public void testUpdateState_DefaultValueEnabled() {
+ when(mResources.getInteger(com.android.internal.R.integer.config_showOperatorNameDefault))
+ .thenReturn(1);
+
+ TwoStatePreference testPreference = mock(TwoStatePreference.class);
+ mController.updateState(testPreference);
+ verify(testPreference).setChecked(true);
+ }
+
+ @Test
+ public void testUpdateState_DefaultValueDisabled() {
+ when(mResources.getInteger(com.android.internal.R.integer.config_showOperatorNameDefault))
+ .thenReturn(0);
+
+ TwoStatePreference testPreference = mock(TwoStatePreference.class);
+ mController.updateState(testPreference);
+ verify(testPreference).setChecked(false);
+ }
}