Search in sources :

Example 76 with PreferenceCategory

use of android.support.v7.preference.PreferenceCategory in project android_packages_apps_Settings by DirtyUnicorns.

the class SettingsPreferenceFragmentTest method removePreference_nested_shouldRemove.

@Test
public void removePreference_nested_shouldRemove() {
    final String key = "test_key";
    final PreferenceScreen mScreen = spy(new PreferenceScreen(mContext, null));
    when(mScreen.getPreferenceManager()).thenReturn(mock(PreferenceManager.class));
    final PreferenceCategory nestedCategory = new ProgressCategory(mContext);
    final Preference preference = new Preference(mContext);
    preference.setKey(key);
    preference.setPersistent(false);
    mScreen.addPreference(nestedCategory);
    nestedCategory.addPreference(preference);
    assertThat(mFragment.removePreference(mScreen, key)).isTrue();
    assertThat(nestedCategory.getPreferenceCount()).isEqualTo(0);
}
Also used : PreferenceScreen(android.support.v7.preference.PreferenceScreen) PreferenceCategory(android.support.v7.preference.PreferenceCategory) Preference(android.support.v7.preference.Preference) PreferenceManager(android.support.v7.preference.PreferenceManager) Test(org.junit.Test)

Example 77 with PreferenceCategory

use of android.support.v7.preference.PreferenceCategory in project android_packages_apps_Settings by DirtyUnicorns.

the class AppNotificationSettings method populateChannelList.

private void populateChannelList() {
    if (!mChannelGroups.isEmpty()) {
        // If there's anything in mChannelGroups, we've called populateChannelList twice.
        // Clear out existing channels and log.
        Log.w(TAG, "Notification channel group posted twice to settings - old size " + mChannelGroups.size() + ", new size " + mChannelGroupList.size());
        for (Preference p : mChannelGroups) {
            getPreferenceScreen().removePreference(p);
        }
    }
    if (mChannelGroupList.isEmpty()) {
        PreferenceCategory groupCategory = new PreferenceCategory(getPrefContext());
        groupCategory.setTitle(R.string.notification_channels);
        groupCategory.setKey(KEY_GENERAL_CATEGORY);
        getPreferenceScreen().addPreference(groupCategory);
        mChannelGroups.add(groupCategory);
        Preference empty = new Preference(getPrefContext());
        empty.setTitle(R.string.no_channels);
        empty.setEnabled(false);
        groupCategory.addPreference(empty);
    } else {
        for (NotificationChannelGroup group : mChannelGroupList) {
            PreferenceCategory groupCategory = new PreferenceCategory(getPrefContext());
            if (group.getId() == null) {
                groupCategory.setTitle(mChannelGroupList.size() > 1 ? R.string.notification_channels_other : R.string.notification_channels);
                groupCategory.setKey(KEY_GENERAL_CATEGORY);
            } else {
                groupCategory.setTitle(group.getName());
                groupCategory.setKey(group.getId());
            }
            groupCategory.setOrderingAsAdded(true);
            getPreferenceScreen().addPreference(groupCategory);
            mChannelGroups.add(groupCategory);
            final List<NotificationChannel> channels = group.getChannels();
            Collections.sort(channels, mChannelComparator);
            int N = channels.size();
            for (int i = 0; i < N; i++) {
                final NotificationChannel channel = channels.get(i);
                populateSingleChannelPrefs(groupCategory, channel);
            }
        }
        int deletedChannelCount = mBackend.getDeletedChannelCount(mAppRow.pkg, mAppRow.uid);
        if (deletedChannelCount > 0 && getPreferenceScreen().findPreference(KEY_DELETED) == null) {
            mDeletedChannels = new FooterPreference(getPrefContext());
            mDeletedChannels.setSelectable(false);
            mDeletedChannels.setTitle(getResources().getQuantityString(R.plurals.deleted_channels, deletedChannelCount, deletedChannelCount));
            mDeletedChannels.setEnabled(false);
            mDeletedChannels.setKey(KEY_DELETED);
            mDeletedChannels.setOrder(ORDER_LAST);
            getPreferenceScreen().addPreference(mDeletedChannels);
        }
    }
    updateDependents(mAppRow.banned);
}
Also used : NotificationChannel(android.app.NotificationChannel) NotificationChannelGroup(android.app.NotificationChannelGroup) LayoutPreference(com.android.settings.applications.LayoutPreference) RestrictedSwitchPreference(com.android.settingslib.RestrictedSwitchPreference) MasterSwitchPreference(com.android.settings.widget.MasterSwitchPreference) FooterPreference(com.android.settingslib.widget.FooterPreference) Preference(android.support.v7.preference.Preference) PreferenceCategory(android.support.v7.preference.PreferenceCategory) FooterPreference(com.android.settingslib.widget.FooterPreference)

Example 78 with PreferenceCategory

use of android.support.v7.preference.PreferenceCategory in project android_packages_apps_Settings by DirtyUnicorns.

the class AppNotificationSettings method updateDependents.

protected void updateDependents(boolean banned) {
    for (PreferenceCategory category : mChannelGroups) {
        setVisible(category, !banned);
    }
    if (mDeletedChannels != null) {
        setVisible(mDeletedChannels, !banned);
    }
    setVisible(mBlockedDesc, banned);
    setVisible(mBadge, !banned);
    if (mShowLegacyChannelConfig) {
        setVisible(mImportanceToggle, !banned);
        setVisible(mPriority, checkCanBeVisible(NotificationManager.IMPORTANCE_DEFAULT) || (checkCanBeVisible(NotificationManager.IMPORTANCE_LOW) && mDndVisualEffectsSuppressed));
        setVisible(mVisibilityOverride, !banned && checkCanBeVisible(NotificationManager.IMPORTANCE_LOW) && isLockScreenSecure());
    }
    if (mAppLink != null) {
        setVisible(mAppLink, !banned);
    }
    if (mAppRow.systemApp && !mAppRow.banned) {
        setVisible(mBlockBar, false);
    }
}
Also used : PreferenceCategory(android.support.v7.preference.PreferenceCategory)

Example 79 with PreferenceCategory

use of android.support.v7.preference.PreferenceCategory in project android_packages_apps_Settings by DirtyUnicorns.

the class ZenModeSettings method onCreate.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.zen_mode_settings);
    final PreferenceScreen root = getPreferenceScreen();
    mAutomaticRules = (PreferenceCategory) root.findPreference(KEY_AUTOMATIC_RULES);
    mPrioritySettings = root.findPreference(KEY_PRIORITY_SETTINGS);
    mVisualSettings = root.findPreference(KEY_VISUAL_SETTINGS);
    mPolicy = NotificationManager.from(mContext).getNotificationPolicy();
    mSummaryBuilder = new SummaryBuilder(getContext());
    mPm = mContext.getPackageManager();
    mServiceListing = new ZenServiceListing(mContext, CONFIG);
    mServiceListing.reloadApprovedServices();
}
Also used : PreferenceScreen(android.support.v7.preference.PreferenceScreen) ZenServiceListing(com.android.settings.utils.ZenServiceListing)

Example 80 with PreferenceCategory

use of android.support.v7.preference.PreferenceCategory in project vlc-android by GeoffreyMetais.

the class PreferencesExtensions method createCheckboxes.

private void createCheckboxes() {
    PackageManager pm = getActivity().getApplicationContext().getPackageManager();
    for (int i = 0; i < mExtensions.size(); ++i) {
        ExtensionListing extension = mExtensions.get(i);
        ClickableSwitchPreference switchPreference = new ClickableSwitchPreference(preferenceScreen.getContext());
        switchPreference.setTitle(extension.title());
        switchPreference.setSummary(extension.description());
        final String key = ExtensionsManager.EXTENSION_PREFIX + "_" + extension.componentName().getPackageName();
        switchPreference.setKey(key);
        int iconRes = extension.menuIcon();
        Drawable extensionIcon = null;
        if (iconRes != 0) {
            try {
                Resources res = pm.getResourcesForApplication(extension.componentName().getPackageName());
                extensionIcon = res.getDrawable(extension.menuIcon());
            } catch (PackageManager.NameNotFoundException e) {
            }
        }
        if (extensionIcon != null)
            switchPreference.setIcon(extensionIcon);
        else
            try {
                switchPreference.setIcon(pm.getApplicationIcon(mExtensions.get(i).componentName().getPackageName()));
            } catch (PackageManager.NameNotFoundException e) {
                switchPreference.setIcon(R.drawable.icon);
            }
        final boolean checked = mSettings.getBoolean(key, false);
        switchPreference.setChecked(checked);
        preferenceScreen.addPreference(switchPreference);
        switchPreference.setOnSwitchClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {
                if (((SwitchCompat) view).isChecked())
                    mSettings.edit().putBoolean(key, true).apply();
                else
                    for (Map.Entry<String, ?> entry : mSettings.getAll().entrySet()) if (entry.getKey().startsWith(ExtensionsManager.EXTENSION_PREFIX + "_"))
                        mSettings.edit().putBoolean(entry.getKey(), false).apply();
            }
        });
        count++;
    }
    if (count == 0) {
        PreferenceCategory emptyCategory = new PreferenceCategory(preferenceScreen.getContext());
        emptyCategory.setTitle(R.string.extensions_empty);
        preferenceScreen.addPreference(emptyCategory);
    }
}
Also used : Drawable(android.graphics.drawable.Drawable) View(android.view.View) ExtensionListing(org.videolan.vlc.extensions.ExtensionListing) PackageManager(android.content.pm.PackageManager) PreferenceCategory(android.support.v7.preference.PreferenceCategory) Resources(android.content.res.Resources) Map(java.util.Map) ClickableSwitchPreference(org.videolan.vlc.gui.view.ClickableSwitchPreference)

Aggregations

PreferenceCategory (android.support.v7.preference.PreferenceCategory)166 Preference (android.support.v7.preference.Preference)105 PreferenceScreen (android.support.v7.preference.PreferenceScreen)75 Intent (android.content.Intent)35 Context (android.content.Context)34 SwitchPreference (android.support.v14.preference.SwitchPreference)31 RestrictedSwitchPreference (com.android.settingslib.RestrictedSwitchPreference)27 ArrayList (java.util.ArrayList)24 ComponentName (android.content.ComponentName)22 ListPreference (android.support.v7.preference.ListPreference)18 Bundle (android.os.Bundle)16 PreferenceGroup (android.support.v7.preference.PreferenceGroup)14 DimmableIconPreference (com.android.settings.DimmableIconPreference)14 ContentResolver (android.content.ContentResolver)13 LayoutPreference (com.android.settings.applications.LayoutPreference)13 PreferenceManager (android.support.v7.preference.PreferenceManager)12 MasterSwitchPreference (com.android.settings.widget.MasterSwitchPreference)12 FooterPreference (com.android.settingslib.widget.FooterPreference)12 Test (org.junit.Test)12 Activity (android.app.Activity)9