Add support to configure state of operator name in status bar [2/2]

This keeps the Settings entry under Display Settings for
Operator name in Status bar to be configurable.

Bug: 399826221
Test: atest SettingsRoboTests:com.android.settings.display.ShowOperatorNamePreferenceControllerTest
Change-Id: I6a7777868175e6970f28060a6d74c70f582ca770
This commit is contained in:
Bharath
2025-03-11 23:10:40 +05:30
committed by Bharath R
parent e71f6991e2
commit 7aa330d5ab
2 changed files with 32 additions and 1 deletions

View File

@@ -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);
}
}

View File

@@ -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);
}
}