Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7aa330d5 authored by Bharath's avatar Bharath Committed by Bharath R
Browse files

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
parent e71f6991
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -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);
    }
}
+26 −0
Original line number Diff line number Diff line
@@ -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);
    }
}