Search in sources :

Example 41 with PreferenceCategory

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

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 42 with PreferenceCategory

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

the class InstalledAppDetails method addDynamicPrefs.

private void addDynamicPrefs() {
    if (UserManager.get(getContext()).isManagedProfile()) {
        return;
    }
    final PreferenceScreen screen = getPreferenceScreen();
    final Context context = getContext();
    if (DefaultHomePreferenceController.hasHomePreference(mPackageName, context)) {
        screen.addPreference(new ShortcutPreference(getPrefContext(), DefaultAppSettings.class, "default_home", R.string.home_app, R.string.configure_apps));
    }
    if (DefaultBrowserPreferenceController.hasBrowserPreference(mPackageName, context)) {
        screen.addPreference(new ShortcutPreference(getPrefContext(), DefaultAppSettings.class, "default_browser", R.string.default_browser_title, R.string.configure_apps));
    }
    if (DefaultPhonePreferenceController.hasPhonePreference(mPackageName, context)) {
        screen.addPreference(new ShortcutPreference(getPrefContext(), DefaultAppSettings.class, "default_phone_app", R.string.default_phone_title, R.string.configure_apps));
    }
    if (DefaultEmergencyPreferenceController.hasEmergencyPreference(mPackageName, context)) {
        screen.addPreference(new ShortcutPreference(getPrefContext(), DefaultAppSettings.class, "default_emergency_app", R.string.default_emergency_app, R.string.configure_apps));
    }
    if (DefaultSmsPreferenceController.hasSmsPreference(mPackageName, context)) {
        screen.addPreference(new ShortcutPreference(getPrefContext(), DefaultAppSettings.class, "default_sms_app", R.string.sms_application_title, R.string.configure_apps));
    }
    // Get the package info with the activities
    PackageInfo packageInfoWithActivities = null;
    try {
        packageInfoWithActivities = mPm.getPackageInfoAsUser(mPackageName, PackageManager.GET_ACTIVITIES, UserHandle.myUserId());
    } catch (NameNotFoundException e) {
    // Log.e(TAG, "Exception while retrieving the package info of " + mPackageName, e);
    }
    boolean hasDrawOverOtherApps = hasPermission(permission.SYSTEM_ALERT_WINDOW);
    boolean hasWriteSettings = hasPermission(permission.WRITE_SETTINGS);
    boolean hasPictureInPictureActivities = (packageInfoWithActivities != null) && PictureInPictureSettings.checkPackageHasPictureInPictureActivities(packageInfoWithActivities.packageName, packageInfoWithActivities.activities);
    boolean isPotentialAppSource = isPotentialAppSource();
    if (hasDrawOverOtherApps || hasWriteSettings || hasPictureInPictureActivities || isPotentialAppSource) {
        PreferenceCategory category = new PreferenceCategory(getPrefContext());
        category.setTitle(R.string.advanced_apps);
        screen.addPreference(category);
        if (hasDrawOverOtherApps) {
            Preference pref = new Preference(getPrefContext());
            pref.setTitle(R.string.draw_overlay);
            pref.setKey("system_alert_window");
            pref.setOnPreferenceClickListener(new OnPreferenceClickListener() {

                @Override
                public boolean onPreferenceClick(Preference preference) {
                    startAppInfoFragment(DrawOverlayDetails.class, getString(R.string.draw_overlay));
                    return true;
                }
            });
            category.addPreference(pref);
        }
        if (hasWriteSettings) {
            Preference pref = new Preference(getPrefContext());
            pref.setTitle(R.string.write_settings);
            pref.setKey("write_settings_apps");
            pref.setOnPreferenceClickListener(new OnPreferenceClickListener() {

                @Override
                public boolean onPreferenceClick(Preference preference) {
                    startAppInfoFragment(WriteSettingsDetails.class, getString(R.string.write_settings));
                    return true;
                }
            });
            category.addPreference(pref);
        }
        if (hasPictureInPictureActivities) {
            Preference pref = new Preference(getPrefContext());
            pref.setTitle(R.string.picture_in_picture_app_detail_title);
            pref.setKey("picture_in_picture");
            pref.setOnPreferenceClickListener(new OnPreferenceClickListener() {

                @Override
                public boolean onPreferenceClick(Preference preference) {
                    AppInfoBase.startAppInfoFragment(PictureInPictureDetails.class, R.string.picture_in_picture_app_detail_title, mPackageName, mPackageInfo.applicationInfo.uid, InstalledAppDetails.this, -1, getMetricsCategory());
                    return true;
                }
            });
            category.addPreference(pref);
        }
        if (isPotentialAppSource) {
            Preference pref = new Preference(getPrefContext());
            pref.setTitle(R.string.install_other_apps);
            pref.setKey("install_other_apps");
            pref.setOnPreferenceClickListener(new OnPreferenceClickListener() {

                @Override
                public boolean onPreferenceClick(Preference preference) {
                    startAppInfoFragment(ExternalSourcesDetails.class, getString(R.string.install_other_apps));
                    return true;
                }
            });
            category.addPreference(pref);
        }
    }
    addAppInstallerInfoPref(screen);
    maybeAddInstantAppButtons();
}
Also used : Context(android.content.Context) PreferenceScreen(android.support.v7.preference.PreferenceScreen) NameNotFoundException(android.content.pm.PackageManager.NameNotFoundException) PackageInfo(android.content.pm.PackageInfo) OnPreferenceClickListener(android.support.v7.preference.Preference.OnPreferenceClickListener) PreferenceCategory(android.support.v7.preference.PreferenceCategory) Preference(android.support.v7.preference.Preference)

Example 43 with PreferenceCategory

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

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 44 with PreferenceCategory

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

the class PhysicalKeyboardFragment method onLoadFinishedInternal.

private void onLoadFinishedInternal(final int loaderId, @NonNull final List<Keyboards> keyboardsList) {
    if (!mLoaderIDs.remove(loaderId)) {
        // Already destroyed loader.  Ignore.
        return;
    }
    Collections.sort(keyboardsList);
    final PreferenceScreen preferenceScreen = getPreferenceScreen();
    preferenceScreen.removeAll();
    for (Keyboards keyboards : keyboardsList) {
        final PreferenceCategory category = new PreferenceCategory(getPrefContext(), null);
        category.setTitle(keyboards.mDeviceInfo.mDeviceName);
        category.setOrder(0);
        preferenceScreen.addPreference(category);
        for (Keyboards.KeyboardInfo info : keyboards.mKeyboardInfoList) {
            mTempKeyboardInfoList.clear();
            final InputMethodInfo imi = info.mImi;
            final InputMethodSubtype imSubtype = info.mImSubtype;
            if (imi != null) {
                KeyboardInfoPreference pref = new KeyboardInfoPreference(getPrefContext(), info);
                pref.setOnPreferenceClickListener(preference -> {
                    showKeyboardLayoutScreen(keyboards.mDeviceInfo.mDeviceIdentifier, imi, imSubtype);
                    return true;
                });
                mTempKeyboardInfoList.add(pref);
                Collections.sort(mTempKeyboardInfoList);
            }
            for (KeyboardInfoPreference pref : mTempKeyboardInfoList) {
                category.addPreference(pref);
            }
        }
    }
    mTempKeyboardInfoList.clear();
    mKeyboardAssistanceCategory.setOrder(1);
    preferenceScreen.addPreference(mKeyboardAssistanceCategory);
    updateShowVirtualKeyboardSwitch();
}
Also used : InputMethodSubtype(android.view.inputmethod.InputMethodSubtype) PreferenceScreen(android.support.v7.preference.PreferenceScreen) PreferenceCategory(android.support.v7.preference.PreferenceCategory) InputMethodInfo(android.view.inputmethod.InputMethodInfo)

Example 45 with PreferenceCategory

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

the class PhysicalKeyboardFragment method onCreatePreferences.

@Override
public void onCreatePreferences(Bundle bundle, String s) {
    Activity activity = Preconditions.checkNotNull(getActivity());
    addPreferencesFromResource(R.xml.physical_keyboard_settings);
    mIm = Preconditions.checkNotNull(activity.getSystemService(InputManager.class));
    mSettings = new InputMethodUtils.InputMethodSettings(activity.getResources(), getContentResolver(), new HashMap<>(), new ArrayList<>(), UserHandle.myUserId(), false);
    mKeyboardAssistanceCategory = Preconditions.checkNotNull((PreferenceCategory) findPreference(KEYBOARD_ASSISTANCE_CATEGORY));
    mShowVirtualKeyboardSwitch = Preconditions.checkNotNull((SwitchPreference) mKeyboardAssistanceCategory.findPreference(SHOW_VIRTUAL_KEYBOARD_SWITCH));
    findPreference(KEYBOARD_SHORTCUTS_HELPER).setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {

        @Override
        public boolean onPreferenceClick(Preference preference) {
            toggleKeyboardShortcutsMenu();
            return true;
        }
    });
}
Also used : InputMethodUtils(com.android.internal.inputmethod.InputMethodUtils) HashMap(java.util.HashMap) PreferenceCategory(android.support.v7.preference.PreferenceCategory) SwitchPreference(android.support.v14.preference.SwitchPreference) Preference(android.support.v7.preference.Preference) SwitchPreference(android.support.v14.preference.SwitchPreference) ArrayList(java.util.ArrayList) Activity(android.app.Activity)

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