Search in sources :

Example 1 with RadioButtonPreference

use of com.android.settings.widget.RadioButtonPreference in project android_packages_apps_Settings by LineageOS.

the class NetworkScorerPicker method updateCandidates.

@VisibleForTesting
public void updateCandidates() {
    final PreferenceScreen screen = getPreferenceScreen();
    screen.removeAll();
    final List<NetworkScorerAppData> scorers = mNetworkScoreManager.getAllValidScorers();
    final String defaultAppKey = getActiveScorerPackage();
    final RadioButtonPreference nonePref = new RadioButtonPreference(getPrefContext());
    nonePref.setTitle(R.string.network_scorer_picker_none_preference);
    if (scorers.isEmpty()) {
        nonePref.setChecked(true);
    } else {
        nonePref.setKey(null);
        nonePref.setChecked(TextUtils.isEmpty(defaultAppKey));
        nonePref.setOnClickListener(this);
    }
    screen.addPreference(nonePref);
    final int numScorers = scorers.size();
    for (int i = 0; i < numScorers; i++) {
        final RadioButtonPreference pref = new RadioButtonPreference(getPrefContext());
        final NetworkScorerAppData appData = scorers.get(i);
        final String appKey = appData.getRecommendationServicePackageName();
        pref.setTitle(appData.getRecommendationServiceLabel());
        pref.setKey(appKey);
        pref.setChecked(TextUtils.equals(defaultAppKey, appKey));
        pref.setOnClickListener(this);
        screen.addPreference(pref);
    }
}
Also used : PreferenceScreen(android.support.v7.preference.PreferenceScreen) NetworkScorerAppData(android.net.NetworkScorerAppData) RadioButtonPreference(com.android.settings.widget.RadioButtonPreference) VisibleForTesting(android.support.annotation.VisibleForTesting)

Example 2 with RadioButtonPreference

use of com.android.settings.widget.RadioButtonPreference in project android_packages_apps_Settings by LineageOS.

the class NetworkScorerPicker method updateCheckedState.

private void updateCheckedState(String selectedKey) {
    final PreferenceScreen screen = getPreferenceScreen();
    final int count = screen.getPreferenceCount();
    for (int i = 0; i < count; i++) {
        final Preference pref = screen.getPreference(i);
        if (pref instanceof RadioButtonPreference) {
            final RadioButtonPreference radioPref = (RadioButtonPreference) pref;
            radioPref.setChecked(TextUtils.equals(pref.getKey(), selectedKey));
        }
    }
}
Also used : PreferenceScreen(android.support.v7.preference.PreferenceScreen) RadioButtonPreference(com.android.settings.widget.RadioButtonPreference) Preference(android.support.v7.preference.Preference) RadioButtonPreference(com.android.settings.widget.RadioButtonPreference)

Example 3 with RadioButtonPreference

use of com.android.settings.widget.RadioButtonPreference in project android_packages_apps_Settings by LineageOS.

the class ChannelImportanceSettings method createPreferenceHierarchy.

private PreferenceScreen createPreferenceHierarchy() {
    PreferenceScreen root = getPreferenceScreen();
    if (root != null) {
        root.removeAll();
    }
    addPreferencesFromResource(R.xml.notification_importance);
    root = getPreferenceScreen();
    for (int i = 0; i < root.getPreferenceCount(); i++) {
        Preference pref = root.getPreference(i);
        if (pref instanceof RadioButtonPreference) {
            RadioButtonPreference radioPref = (RadioButtonPreference) pref;
            radioPref.setOnClickListener(this);
            mImportances.add(radioPref);
        }
    }
    switch(mChannel.getImportance()) {
        case IMPORTANCE_MIN:
            updateRadioButtons(KEY_IMPORTANCE_MIN);
            break;
        case IMPORTANCE_LOW:
            updateRadioButtons(KEY_IMPORTANCE_LOW);
            break;
        case IMPORTANCE_DEFAULT:
            updateRadioButtons(KEY_IMPORTANCE_DEFAULT);
            break;
        case IMPORTANCE_HIGH:
        case IMPORTANCE_MAX:
            updateRadioButtons(KEY_IMPORTANCE_HIGH);
            break;
    }
    return root;
}
Also used : PreferenceScreen(android.support.v7.preference.PreferenceScreen) RadioButtonPreference(com.android.settings.widget.RadioButtonPreference) Preference(android.support.v7.preference.Preference) RadioButtonPreference(com.android.settings.widget.RadioButtonPreference)

Example 4 with RadioButtonPreference

use of com.android.settings.widget.RadioButtonPreference in project android_packages_apps_Settings by LineageOS.

the class NetworkScorerPickerTest method testOnRadioButtonClicked_success.

@Test
public void testOnRadioButtonClicked_success() {
    RadioButtonPreference pref = new RadioButtonPreference(mContext);
    pref.setKey(TEST_SCORER_PACKAGE_1);
    when(mPreferenceScreen.getPreference(anyInt())).thenReturn(pref);
    when(mPreferenceScreen.getPreferenceCount()).thenReturn(1);
    when(mNetworkScoreManager.setActiveScorer(TEST_SCORER_PACKAGE_1)).thenReturn(true);
    when(mNetworkScoreManager.getActiveScorerPackage()).thenReturn(TEST_SCORER_PACKAGE_2);
    mFragment.onRadioButtonClicked(pref);
    verify(mNetworkScoreManager).setActiveScorer(TEST_SCORER_PACKAGE_1);
    assertThat(pref.isChecked()).isTrue();
}
Also used : RadioButtonPreference(com.android.settings.widget.RadioButtonPreference) Test(org.junit.Test)

Example 5 with RadioButtonPreference

use of com.android.settings.widget.RadioButtonPreference in project android_packages_apps_Settings by LineageOS.

the class NetworkScorerPickerTest method testUpdateCandidates_validScorers_noActiveScorer.

@Test
public void testUpdateCandidates_validScorers_noActiveScorer() {
    ComponentName scorer = new ComponentName(TEST_SCORER_PACKAGE_1, TEST_SCORER_CLASS_1);
    NetworkScorerAppData scorerAppData = new NetworkScorerAppData(0, scorer, TEST_SCORER_LABEL_1, null, /* enableUseOpenWifiActivity */
    null);
    when(mNetworkScoreManager.getAllValidScorers()).thenReturn(Lists.newArrayList(scorerAppData));
    when(mNetworkScoreManager.getActiveScorerPackage()).thenReturn(null);
    ArgumentCaptor<RadioButtonPreference> arg = ArgumentCaptor.forClass(RadioButtonPreference.class);
    mFragment.updateCandidates();
    verify(mPreferenceScreen, times(2)).addPreference(arg.capture());
    final RadioButtonPreference nonePref = arg.getAllValues().get(0);
    assertThat(nonePref.getKey()).isNull();
    assertThat(nonePref.isChecked()).isTrue();
    final RadioButtonPreference testScorerPref = arg.getAllValues().get(1);
    assertThat(testScorerPref.getTitle()).isEqualTo(TEST_SCORER_LABEL_1);
    assertThat(testScorerPref.isChecked()).isFalse();
}
Also used : ComponentName(android.content.ComponentName) NetworkScorerAppData(android.net.NetworkScorerAppData) RadioButtonPreference(com.android.settings.widget.RadioButtonPreference) Test(org.junit.Test)

Aggregations

RadioButtonPreference (com.android.settings.widget.RadioButtonPreference)122 Test (org.junit.Test)80 DefaultAppInfo (com.android.settings.applications.defaultapps.DefaultAppInfo)30 NetworkScorerAppData (android.net.NetworkScorerAppData)21 PreferenceScreen (android.support.v7.preference.PreferenceScreen)18 ComponentName (android.content.ComponentName)14 Preference (android.support.v7.preference.Preference)12 PackageInfo (android.content.pm.PackageInfo)6 PackageItemInfo (android.content.pm.PackageItemInfo)6 PackageManager (android.content.pm.PackageManager)6 VisibleForTesting (android.support.annotation.VisibleForTesting)6 DefaultAppInfo (com.android.settingslib.applications.DefaultAppInfo)6 PreferenceCategory (androidx.preference.PreferenceCategory)2 PreferenceScreen (androidx.preference.PreferenceScreen)2 Before (org.junit.Before)2 Resources (android.content.res.Resources)1 VisibleForTesting (androidx.annotation.VisibleForTesting)1 Preference (androidx.preference.Preference)1 PreferenceManager (androidx.preference.PreferenceManager)1 Lifecycle (com.android.settingslib.core.lifecycle.Lifecycle)1