Search in sources :

Example 81 with PreferenceGroup

use of android.support.v7.preference.PreferenceGroup in project android_packages_apps_Settings by LineageOS.

the class ManageDomainUrls method onRebuildComplete.

@Override
public void onRebuildComplete(ArrayList<AppEntry> apps) {
    if (getContext() == null) {
        return;
    }
    final boolean disableWebActions = Global.getInt(getContext().getContentResolver(), Global.ENABLE_EPHEMERAL_FEATURE, 1) == 0;
    if (disableWebActions) {
        mDomainAppList = getPreferenceScreen();
    } else {
        final PreferenceGroup preferenceScreen = getPreferenceScreen();
        if (preferenceScreen.getPreferenceCount() == 0) {
            // add preferences
            final PreferenceCategory webActionCategory = new PreferenceCategory(getPrefContext());
            webActionCategory.setTitle(R.string.web_action_section_title);
            preferenceScreen.addPreference(webActionCategory);
            // toggle to enable / disable Web Actions [aka Instant Apps]
            mWebAction = new SwitchPreference(getPrefContext());
            mWebAction.setTitle(R.string.web_action_enable_title);
            mWebAction.setSummary(R.string.web_action_enable_summary);
            mWebAction.setChecked(Settings.Secure.getInt(getContentResolver(), Settings.Secure.INSTANT_APPS_ENABLED, 1) != 0);
            mWebAction.setOnPreferenceChangeListener(this);
            webActionCategory.addPreference(mWebAction);
            // Determine whether we should show the instant apps account chooser setting
            ComponentName instantAppSettingsComponent = getActivity().getPackageManager().getInstantAppResolverSettingsComponent();
            Intent instantAppSettingsIntent = null;
            if (instantAppSettingsComponent != null) {
                instantAppSettingsIntent = new Intent().setComponent(instantAppSettingsComponent);
            }
            if (instantAppSettingsIntent != null) {
                final Intent launchIntent = instantAppSettingsIntent;
                // TODO: Make this button actually launch the account chooser.
                mInstantAppAccountPreference = new Preference(getPrefContext());
                mInstantAppAccountPreference.setTitle(R.string.instant_apps_settings);
                mInstantAppAccountPreference.setOnPreferenceClickListener(pref -> {
                    startActivity(launchIntent);
                    return true;
                });
                webActionCategory.addPreference(mInstantAppAccountPreference);
            }
            // list to manage link handling per app
            mDomainAppList = new PreferenceCategory(getPrefContext());
            mDomainAppList.setTitle(R.string.domain_url_section_title);
            preferenceScreen.addPreference(mDomainAppList);
        }
    }
    rebuildAppList(mDomainAppList, apps);
}
Also used : PreferenceCategory(android.support.v7.preference.PreferenceCategory) SwitchPreference(android.support.v14.preference.SwitchPreference) Preference(android.support.v7.preference.Preference) SwitchPreference(android.support.v14.preference.SwitchPreference) PreferenceGroup(android.support.v7.preference.PreferenceGroup) ComponentName(android.content.ComponentName) Intent(android.content.Intent)

Example 82 with PreferenceGroup

use of android.support.v7.preference.PreferenceGroup in project android_packages_apps_Settings by LineageOS.

the class ProgressiveDisclosureMixin method findPreference.

/**
 * Finds preference by key, either from screen or from collapsed list.
 */
public Preference findPreference(PreferenceScreen screen, CharSequence key) {
    Preference preference = screen.findPreference(key);
    if (preference != null) {
        return preference;
    }
    for (int i = 0; i < mCollapsedPrefs.size(); i++) {
        final Preference pref = mCollapsedPrefs.get(i);
        if (TextUtils.equals(key, pref.getKey())) {
            return pref;
        }
        if (pref instanceof PreferenceGroup) {
            final Preference returnedPreference = ((PreferenceGroup) pref).findPreference(key);
            if (returnedPreference != null) {
                return returnedPreference;
            }
        }
    }
    Log.d(TAG, "Cannot find preference with key " + key);
    return null;
}
Also used : Preference(android.support.v7.preference.Preference) PreferenceGroup(android.support.v7.preference.PreferenceGroup)

Example 83 with PreferenceGroup

use of android.support.v7.preference.PreferenceGroup in project android_packages_apps_Settings by LineageOS.

the class PrivateVolumeSettings method addCategory.

private PreferenceCategory addCategory(PreferenceGroup group, CharSequence title) {
    PreferenceCategory category;
    if (mHeaderPoolIndex < mHeaderPreferencePool.size()) {
        category = mHeaderPreferencePool.get(mHeaderPoolIndex);
    } else {
        category = new PreferenceCategory(getPrefContext());
        mHeaderPreferencePool.add(category);
    }
    category.setTitle(title);
    category.removeAll();
    addPreference(group, category);
    ++mHeaderPoolIndex;
    return category;
}
Also used : PreferenceCategory(android.support.v7.preference.PreferenceCategory)

Example 84 with PreferenceGroup

use of android.support.v7.preference.PreferenceGroup in project android_packages_apps_Settings by LineageOS.

the class SecondaryUserController method displayPreference.

@Override
public void displayPreference(PreferenceScreen screen) {
    if (mStoragePreference == null) {
        mStoragePreference = new StorageItemPreference(screen.getContext());
        PreferenceGroup group = (PreferenceGroup) screen.findPreference(TARGET_PREFERENCE_GROUP_KEY);
        mStoragePreference.setTitle(mUser.name);
        mStoragePreference.setKey(PREFERENCE_KEY_BASE + mUser.id);
        if (mSize != SIZE_NOT_SET) {
            mStoragePreference.setStorageSize(mSize, mTotalSizeBytes);
        }
        group.setVisible(true);
        group.addPreference(mStoragePreference);
        maybeSetIcon();
    }
}
Also used : PreferenceGroup(android.support.v7.preference.PreferenceGroup) StorageItemPreference(com.android.settings.deviceinfo.StorageItemPreference)

Example 85 with PreferenceGroup

use of android.support.v7.preference.PreferenceGroup in project android_packages_apps_Settings by LineageOS.

the class VpnSettings method setShownPreferences.

@VisibleForTesting
@UiThread
public void setShownPreferences(final Collection<Preference> updates) {
    mLegacyVpnPreferences.values().retainAll(updates);
    mAppPreferences.values().retainAll(updates);
    // Change {@param updates} in-place to only contain new preferences that were not already
    // added to the preference screen.
    final PreferenceGroup vpnGroup = getPreferenceScreen();
    for (int i = vpnGroup.getPreferenceCount() - 1; i >= 0; i--) {
        Preference p = vpnGroup.getPreference(i);
        if (updates.contains(p)) {
            updates.remove(p);
        } else {
            vpnGroup.removePreference(p);
        }
    }
    // Show any new preferences on the screen
    for (Preference pref : updates) {
        vpnGroup.addPreference(pref);
    }
}
Also used : GearPreference(com.android.settings.widget.GearPreference) Preference(android.support.v7.preference.Preference) PreferenceGroup(android.support.v7.preference.PreferenceGroup) VisibleForTesting(com.android.internal.annotations.VisibleForTesting) UiThread(android.annotation.UiThread)

Aggregations

PreferenceGroup (android.support.v7.preference.PreferenceGroup)104 Preference (android.support.v7.preference.Preference)70 Context (android.content.Context)28 PreferenceScreen (android.support.v7.preference.PreferenceScreen)28 Test (org.junit.Test)26 PreferenceManager (android.support.v7.preference.PreferenceManager)22 SwitchPreference (android.support.v14.preference.SwitchPreference)19 ArrayList (java.util.ArrayList)19 PreferenceCategory (android.support.v7.preference.PreferenceCategory)17 UserInfo (android.content.pm.UserInfo)16 Intent (android.content.Intent)14 AccessiblePreferenceCategory (com.android.settings.AccessiblePreferenceCategory)14 RestrictedSwitchPreference (com.android.settingslib.RestrictedSwitchPreference)14 Account (android.accounts.Account)12 AuthenticatorDescription (android.accounts.AuthenticatorDescription)12 UserHandle (android.os.UserHandle)12 TelephonyManager (android.telephony.TelephonyManager)12 Activity (android.app.Activity)11 RestrictedPreference (com.android.settingslib.RestrictedPreference)11 RemoteException (android.os.RemoteException)8