Merge "Add support to configure state of operator name in status bar [2/2]" into main

This commit is contained in:
Zhibin Liu
2025-03-24 00:15:24 -07:00
committed by Gerrit Code Review
2 changed files with 32 additions and 1 deletions

View File

@@ -63,7 +63,12 @@ public class ShowOperatorNamePreferenceController extends AbstractPreferenceCont
@Override @Override
public void updateState(Preference preference) { public void updateState(Preference preference) {
int value = Settings.Secure.getInt(mContext.getContentResolver(), int value = Settings.Secure.getInt(mContext.getContentResolver(),
KEY_SHOW_OPERATOR_NAME, 1); KEY_SHOW_OPERATOR_NAME, getShowOperatorNameDefault());
((TwoStatePreference) preference).setChecked(value != 0); ((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.spy;
import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import android.app.admin.DevicePolicyManager; import android.app.admin.DevicePolicyManager;
import android.content.Context; import android.content.Context;
import android.content.res.Resources;
import android.os.PersistableBundle; import android.os.PersistableBundle;
import android.provider.Settings; import android.provider.Settings;
import android.telephony.CarrierConfigManager; import android.telephony.CarrierConfigManager;
import androidx.preference.SwitchPreference; import androidx.preference.SwitchPreference;
import androidx.preference.TwoStatePreference;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@@ -54,11 +57,14 @@ public class ShowOperatorNamePreferenceControllerTest {
@Mock @Mock
private PersistableBundle mConfig; private PersistableBundle mConfig;
private Context mContext; private Context mContext;
private Resources mResources;
@Before @Before
public void setUp() { public void setUp() {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
mContext = spy(RuntimeEnvironment.application); mContext = spy(RuntimeEnvironment.application);
mResources = spy(mContext.getResources());
when(mContext.getResources()).thenReturn(mResources);
when(mConfigManager.getConfigForSubId(anyInt())).thenReturn(mConfig); when(mConfigManager.getConfigForSubId(anyInt())).thenReturn(mConfig);
when(mContext.getSystemService(CarrierConfigManager.class)).thenReturn(mConfigManager); when(mContext.getSystemService(CarrierConfigManager.class)).thenReturn(mConfigManager);
@@ -99,4 +105,24 @@ public class ShowOperatorNamePreferenceControllerTest {
Settings.Secure.getInt(mContext.getContentResolver(), KEY_SHOW_OPERATOR_NAME, 1); Settings.Secure.getInt(mContext.getContentResolver(), KEY_SHOW_OPERATOR_NAME, 1);
assertThat(mode).isEqualTo(0); 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);
}
} }