Search in sources :

Example 11 with TwoStatePreference

use of androidx.preference.TwoStatePreference in project Resurrection_packages_apps_Settings by ResurrectionRemix.

the class BadgingNotificationPreferenceControllerTest method updateState_preferenceSetCheckedWhenSettingIsOn.

@Test
public void updateState_preferenceSetCheckedWhenSettingIsOn() {
    final TwoStatePreference preference = mock(TwoStatePreference.class);
    final Context context = RuntimeEnvironment.application;
    Settings.Secure.putInt(context.getContentResolver(), NOTIFICATION_BADGING, ON);
    mController = new BadgingNotificationPreferenceController(context, KEY_NOTIFICATION_BADGING);
    mController.updateState(preference);
    verify(preference).setChecked(true);
}
Also used : Context(android.content.Context) TwoStatePreference(androidx.preference.TwoStatePreference) Test(org.junit.Test)

Example 12 with TwoStatePreference

use of androidx.preference.TwoStatePreference in project Resurrection_packages_apps_Settings by ResurrectionRemix.

the class BadgingNotificationPreferenceControllerTest method updateState_preferenceSetUncheckedWhenSettingIsOff.

@Test
public void updateState_preferenceSetUncheckedWhenSettingIsOff() {
    final TwoStatePreference preference = mock(TwoStatePreference.class);
    final Context context = RuntimeEnvironment.application;
    Settings.Secure.putInt(context.getContentResolver(), NOTIFICATION_BADGING, OFF);
    mController = new BadgingNotificationPreferenceController(context, KEY_NOTIFICATION_BADGING);
    mController.updateState(preference);
    verify(preference).setChecked(false);
}
Also used : Context(android.content.Context) TwoStatePreference(androidx.preference.TwoStatePreference) Test(org.junit.Test)

Example 13 with TwoStatePreference

use of androidx.preference.TwoStatePreference in project kdeconnect-android by KDE.

the class SettingsFragment method onCreatePreferences.

@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
    Context context = getPreferenceManager().getContext();
    PreferenceScreen screen = getPreferenceManager().createPreferenceScreen(context);
    // Rename device
    renameDevice = new EditTextPreference(context);
    renameDevice.setKey(DeviceHelper.KEY_DEVICE_NAME_PREFERENCE);
    renameDevice.setSelectable(true);
    String deviceName = DeviceHelper.getDeviceName(context);
    renameDevice.setTitle(R.string.settings_rename);
    renameDevice.setSummary(deviceName);
    renameDevice.setDialogTitle(R.string.device_rename_title);
    renameDevice.setText(deviceName);
    renameDevice.setPositiveButtonText(R.string.device_rename_confirm);
    renameDevice.setNegativeButtonText(R.string.cancel);
    renameDevice.setOnPreferenceChangeListener((preference, newValue) -> {
        String name = (String) newValue;
        if (TextUtils.isEmpty(name)) {
            if (getView() != null) {
                Snackbar snackbar = Snackbar.make(getView(), R.string.invalid_device_name, Snackbar.LENGTH_LONG);
                int currentTheme = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
                if (currentTheme != Configuration.UI_MODE_NIGHT_YES) {
                    // white color is set to the background of snackbar if dark mode is off
                    snackbar.getView().setBackgroundColor(Color.WHITE);
                }
                snackbar.show();
            }
            return false;
        }
        renameDevice.setSummary((String) newValue);
        return true;
    });
    screen.addPreference(renameDevice);
    // Theme Selector
    ListPreference themeSelector = new ListPreference(context);
    themeSelector.setKey("theme_pref");
    themeSelector.setTitle(R.string.theme_dialog_title);
    themeSelector.setDialogTitle(R.string.theme_dialog_title);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
        themeSelector.setEntries(R.array.theme_list_v28);
    } else {
        themeSelector.setEntries(R.array.theme_list);
    }
    themeSelector.setEntryValues(R.array.theme_list_values);
    themeSelector.setDefaultValue(ThemeUtil.DEFAULT_MODE);
    themeSelector.setSummaryProvider(ListPreference.SimpleSummaryProvider.getInstance());
    themeSelector.setOnPreferenceChangeListener((preference, newValue) -> {
        String themeValue = (String) newValue;
        ThemeUtil.applyTheme(themeValue);
        return true;
    });
    screen.addPreference(themeSelector);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        Preference persistentNotif = new Preference(context);
        persistentNotif.setTitle(R.string.setting_persistent_notification_oreo);
        persistentNotif.setSummary(R.string.setting_persistent_notification_description);
        persistentNotif.setOnPreferenceClickListener(preference -> {
            Intent intent = new Intent();
            intent.setAction("android.settings.APP_NOTIFICATION_SETTINGS");
            intent.putExtra("android.provider.extra.APP_PACKAGE", context.getPackageName());
            context.startActivity(intent);
            return true;
        });
        screen.addPreference(persistentNotif);
    } else {
        // Persistent notification toggle for Android Versions below Oreo
        final TwoStatePreference notificationSwitch = new SwitchPreferenceCompat(context);
        notificationSwitch.setPersistent(false);
        notificationSwitch.setChecked(NotificationHelper.isPersistentNotificationEnabled(context));
        notificationSwitch.setTitle(R.string.setting_persistent_notification);
        notificationSwitch.setOnPreferenceChangeListener((preference, newValue) -> {
            final boolean isChecked = (Boolean) newValue;
            NotificationHelper.setPersistentNotificationEnabled(context, isChecked);
            BackgroundService.RunCommand(context, service -> service.changePersistentNotificationVisibility(isChecked));
            NotificationHelper.setPersistentNotificationEnabled(context, isChecked);
            return true;
        });
        screen.addPreference(notificationSwitch);
    }
    // Trusted Networks
    Preference trustedNetworkPref = new Preference(context);
    trustedNetworkPref.setPersistent(false);
    trustedNetworkPref.setTitle(R.string.trusted_networks);
    trustedNetworkPref.setSummary(R.string.trusted_networks_desc);
    screen.addPreference(trustedNetworkPref);
    trustedNetworkPref.setOnPreferenceClickListener(preference -> {
        startActivity(new Intent(context, TrustedNetworksActivity.class));
        return true;
    });
    // Add device by IP
    Preference devicesByIpPreference = new Preference(context);
    devicesByIpPreference.setPersistent(false);
    devicesByIpPreference.setTitle(R.string.custom_device_list);
    screen.addPreference(devicesByIpPreference);
    devicesByIpPreference.setOnPreferenceClickListener(preference -> {
        startActivity(new Intent(context, CustomDevicesActivity.class));
        return true;
    });
    // More settings text
    Preference moreSettingsText = new Preference(context);
    moreSettingsText.setPersistent(false);
    moreSettingsText.setSelectable(false);
    moreSettingsText.setTitle(R.string.settings_more_settings_title);
    moreSettingsText.setSummary(R.string.settings_more_settings_text);
    screen.addPreference(moreSettingsText);
    setPreferenceScreen(screen);
}
Also used : Context(android.content.Context) TwoStatePreference(androidx.preference.TwoStatePreference) PreferenceScreen(androidx.preference.PreferenceScreen) SwitchPreferenceCompat(androidx.preference.SwitchPreferenceCompat) Intent(android.content.Intent) EditTextPreference(androidx.preference.EditTextPreference) ListPreference(androidx.preference.ListPreference) TwoStatePreference(androidx.preference.TwoStatePreference) Preference(androidx.preference.Preference) ListPreference(androidx.preference.ListPreference) EditTextPreference(androidx.preference.EditTextPreference) Snackbar(com.google.android.material.snackbar.Snackbar)

Aggregations

TwoStatePreference (androidx.preference.TwoStatePreference)13 Test (org.junit.Test)8 Context (android.content.Context)7 Preference (androidx.preference.Preference)3 ComponentName (android.content.ComponentName)1 Intent (android.content.Intent)1 DropDownPreference (androidx.preference.DropDownPreference)1 EditTextPreference (androidx.preference.EditTextPreference)1 ListPreference (androidx.preference.ListPreference)1 OnPreferenceChangeListener (androidx.preference.Preference.OnPreferenceChangeListener)1 PreferenceScreen (androidx.preference.PreferenceScreen)1 SwitchPreferenceCompat (androidx.preference.SwitchPreferenceCompat)1 DefaultRingtonePreference (com.android.settings.DefaultRingtonePreference)1 Snackbar (com.google.android.material.snackbar.Snackbar)1 Calendar (java.util.Calendar)1 Date (java.util.Date)1