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

Commit 32bc5aab authored by Zhibin Liu's avatar Zhibin Liu Committed by Automerger Merge Worker
Browse files

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

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

Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/3516771



Change-Id: Icbafc5ffafb3181412e181800505c3d8be6ae5f4
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 4dc8d326 7c598253
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);
    }
}