Search in sources :

Example 16 with PreferenceCategory

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

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

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

the class DataPlanUsageSummary method addDataPlanSection.

private void addDataPlanSection(int defaultSubId) {
    Context context = getPrefContext();
    addPreferencesFromResource(R.xml.data_plan_usage);
    PreferenceScreen screen = getPreferenceScreen();
    screen.setTitle(context.getString(R.string.data_usage_summary_title));
    PreferenceCategory preferenceCategory = (PreferenceCategory) findPreference(KEY_DATA_PLAN_USAGE);
    screen.addPreference(preferenceCategory);
    Preference dataPlansSyncTimePreference = new Preference(context);
    dataPlansSyncTimePreference.setLayoutResource(R.layout.data_plans_sync_time_preference);
    dataPlansSyncTimePreference.setTitle(MockDataPlanUsage.SYNC_TIME);
    preferenceCategory.addPreference(dataPlansSyncTimePreference);
    mDataPlanSummaryPreferenceList = new ArrayList<>(MockDataPlanUsage.DATA_PLAN_USAGES.length);
    for (int i = 0; i < MockDataPlanUsage.DATA_PLAN_USAGES.length; i++) {
        DataPlanSummaryPreference dataPlanSummaryPreference = new DataPlanSummaryPreference(context);
        dataPlanSummaryPreference.setKey(KEY_STATUS_HEADER + (i + 1));
        mDataPlanSummaryPreferenceList.add(dataPlanSummaryPreference);
        preferenceCategory.addPreference(dataPlanSummaryPreference);
    }
    Preference preference = new Preference(context);
    preference.setLayoutResource(R.layout.manage_data_plans_preference);
    preferenceCategory.addPreference(preference);
    setPreferenceScreen(screen);
    mLimitPreference = findPreference(KEY_LIMIT_SUMMARY);
    List<SubscriptionInfo> subscriptions = services.mSubscriptionManager.getActiveSubscriptionInfoList();
    if (subscriptions == null || subscriptions.isEmpty()) {
        addMobileSection(defaultSubId);
    }
    for (int i = 0, subscriptionsSize = subscriptions != null ? subscriptions.size() : 0; i < subscriptionsSize; i++) {
        SubscriptionInfo subInfo = subscriptions.get(i);
        if (subscriptionsSize > 1) {
            addMobileSection(subInfo.getSubscriptionId(), subInfo);
        } else {
            addMobileSection(subInfo.getSubscriptionId());
        }
    }
}
Also used : Context(android.content.Context) PreferenceScreen(android.support.v7.preference.PreferenceScreen) PreferenceCategory(android.support.v7.preference.PreferenceCategory) Preference(android.support.v7.preference.Preference) SubscriptionInfo(android.telephony.SubscriptionInfo)

Example 18 with PreferenceCategory

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

the class AccessibilitySettings method updateSystemPreferences.

private void updateSystemPreferences() {
    // supports HWC hardware-accelerated color transform.
    if (isColorTransformAccelerated(getContext())) {
        PreferenceCategory experimentalCategory = mCategoryToPrefCategoryMap.get(CATEGORY_EXPERIMENTAL);
        PreferenceCategory displayCategory = mCategoryToPrefCategoryMap.get(CATEGORY_DISPLAY);
        experimentalCategory.removePreference(mToggleInversionPreference);
        experimentalCategory.removePreference(mDisplayDaltonizerPreferenceScreen);
        mToggleInversionPreference.setOrder(mToggleLargePointerIconPreference.getOrder());
        mDisplayDaltonizerPreferenceScreen.setOrder(mToggleInversionPreference.getOrder());
        mToggleInversionPreference.setSummary(R.string.summary_empty);
        displayCategory.addPreference(mToggleInversionPreference);
        displayCategory.addPreference(mDisplayDaltonizerPreferenceScreen);
    }
    // Text contrast.
    mToggleHighTextContrastPreference.setChecked(Settings.Secure.getInt(getContentResolver(), Settings.Secure.ACCESSIBILITY_HIGH_TEXT_CONTRAST_ENABLED, 0) == 1);
    // If the quick setting is enabled, the preference MUST be enabled.
    mToggleInversionPreference.setChecked(Settings.Secure.getInt(getContentResolver(), Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED, 0) == 1);
    // Power button ends calls.
    if (KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_POWER) && Utils.isVoiceCapable(getActivity())) {
        final int incallPowerBehavior = Settings.Secure.getInt(getContentResolver(), Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR, Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR_DEFAULT);
        final boolean powerButtonEndsCall = (incallPowerBehavior == Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR_HANGUP);
        mTogglePowerButtonEndsCallPreference.setChecked(powerButtonEndsCall);
    }
    // Auto-rotate screen
    updateLockScreenRotationCheckbox();
    // Large pointer icon.
    mToggleLargePointerIconPreference.setChecked(Settings.Secure.getInt(getContentResolver(), Settings.Secure.ACCESSIBILITY_LARGE_POINTER_ICON, 0) != 0);
    // Master mono
    updateMasterMono();
    // Long press timeout.
    final int longPressTimeout = Settings.Secure.getInt(getContentResolver(), Settings.Secure.LONG_PRESS_TIMEOUT, mLongPressTimeoutDefault);
    String value = String.valueOf(longPressTimeout);
    mSelectLongPressTimeoutPreference.setValue(value);
    mSelectLongPressTimeoutPreference.setSummary(mLongPressTimeoutValueToTitleMap.get(value));
    updateFeatureSummary(Settings.Secure.ACCESSIBILITY_CAPTIONING_ENABLED, mCaptioningPreferenceScreen);
    updateFeatureSummary(Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED, mDisplayDaltonizerPreferenceScreen);
    updateMagnificationSummary(mDisplayMagnificationPreferenceScreen);
    updateFontSizeSummary(mFontSizePreferenceScreen);
    updateAutoclickSummary(mAutoclickPreferenceScreen);
    updateAccessibilityShortcut(mAccessibilityShortcutPreferenceScreen);
}
Also used : PreferenceCategory(android.support.v7.preference.PreferenceCategory)

Example 19 with PreferenceCategory

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

the class AccessibilitySettings method initializeAllPreferences.

private void initializeAllPreferences() {
    for (int i = 0; i < CATEGORIES.length; i++) {
        PreferenceCategory prefCategory = (PreferenceCategory) findPreference(CATEGORIES[i]);
        mCategoryToPrefCategoryMap.put(CATEGORIES[i], prefCategory);
    }
    // Text contrast.
    mToggleHighTextContrastPreference = (SwitchPreference) findPreference(TOGGLE_HIGH_TEXT_CONTRAST_PREFERENCE);
    // Display inversion.
    mToggleInversionPreference = (SwitchPreference) findPreference(TOGGLE_INVERSION_PREFERENCE);
    mToggleInversionPreference.setOnPreferenceChangeListener(this);
    // Power button ends calls.
    mTogglePowerButtonEndsCallPreference = (SwitchPreference) findPreference(TOGGLE_POWER_BUTTON_ENDS_CALL_PREFERENCE);
    if (!KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_POWER) || !Utils.isVoiceCapable(getActivity())) {
        mCategoryToPrefCategoryMap.get(CATEGORY_INTERACTION_CONTROL).removePreference(mTogglePowerButtonEndsCallPreference);
    }
    // Lock screen rotation.
    mToggleLockScreenRotationPreference = (SwitchPreference) findPreference(TOGGLE_LOCK_SCREEN_ROTATION_PREFERENCE);
    if (!RotationPolicy.isRotationSupported(getActivity())) {
        mCategoryToPrefCategoryMap.get(CATEGORY_INTERACTION_CONTROL).removePreference(mToggleLockScreenRotationPreference);
    }
    // Large pointer icon.
    mToggleLargePointerIconPreference = (SwitchPreference) findPreference(TOGGLE_LARGE_POINTER_ICON);
    // Master Mono
    mToggleMasterMonoPreference = (SwitchPreference) findPreference(TOGGLE_MASTER_MONO);
    // Long press timeout.
    mSelectLongPressTimeoutPreference = (ListPreference) findPreference(SELECT_LONG_PRESS_TIMEOUT_PREFERENCE);
    mSelectLongPressTimeoutPreference.setOnPreferenceChangeListener(this);
    if (mLongPressTimeoutValueToTitleMap.size() == 0) {
        String[] timeoutValues = getResources().getStringArray(R.array.long_press_timeout_selector_values);
        mLongPressTimeoutDefault = Integer.parseInt(timeoutValues[0]);
        String[] timeoutTitles = getResources().getStringArray(R.array.long_press_timeout_selector_titles);
        final int timeoutValueCount = timeoutValues.length;
        for (int i = 0; i < timeoutValueCount; i++) {
            mLongPressTimeoutValueToTitleMap.put(timeoutValues[i], timeoutTitles[i]);
        }
    }
    // Captioning.
    mCaptioningPreferenceScreen = findPreference(CAPTIONING_PREFERENCE_SCREEN);
    // Display magnification.
    mDisplayMagnificationPreferenceScreen = findPreference(DISPLAY_MAGNIFICATION_PREFERENCE_SCREEN);
    configureMagnificationPreferenceIfNeeded(mDisplayMagnificationPreferenceScreen);
    // Font size.
    mFontSizePreferenceScreen = findPreference(FONT_SIZE_PREFERENCE_SCREEN);
    // Autoclick after pointer stops.
    mAutoclickPreferenceScreen = findPreference(AUTOCLICK_PREFERENCE_SCREEN);
    // Display color adjustments.
    mDisplayDaltonizerPreferenceScreen = findPreference(DISPLAY_DALTONIZER_PREFERENCE_SCREEN);
    // Accessibility shortcut
    mAccessibilityShortcutPreferenceScreen = findPreference(ACCESSIBILITY_SHORTCUT_PREFERENCE);
}
Also used : PreferenceCategory(android.support.v7.preference.PreferenceCategory)

Example 20 with PreferenceCategory

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

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)

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