Search in sources :

Example 1 with PreferenceDataStore

use of androidx.preference.PreferenceDataStore in project mollyim-android by mollyim.

the class CorrectedPreferenceFragment method onCreatePreferences.

@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
    PreferenceDataStore dataStore = new SharedPreferencesDataStore(SecurePreferenceManager.getSecurePreferences(getContext()));
    getPreferenceManager().setPreferenceDataStore(dataStore);
    onCreateEncryptedPreferences(savedInstanceState, rootKey);
}
Also used : PreferenceDataStore(androidx.preference.PreferenceDataStore)

Example 2 with PreferenceDataStore

use of androidx.preference.PreferenceDataStore in project android_packages_apps_Launcher3 by crdroidandroid.

the class DeveloperOptionsFragment method loadPluginPrefs.

private void loadPluginPrefs() {
    if (mPluginsCategory != null) {
        mPreferenceScreen.removePreference(mPluginsCategory);
    }
    if (!PluginManagerWrapper.hasPlugins(getActivity())) {
        mPluginsCategory = null;
        return;
    }
    mPluginsCategory = newCategory("Plugins");
    PluginManagerWrapper manager = PluginManagerWrapper.INSTANCE.get(getContext());
    Context prefContext = getContext();
    PackageManager pm = getContext().getPackageManager();
    Set<String> pluginActions = manager.getPluginActions();
    ArrayMap<Pair<String, String>, ArrayList<Pair<String, ResolveInfo>>> plugins = new ArrayMap<>();
    Set<String> pluginPermissionApps = pm.getPackagesHoldingPermissions(new String[] { PLUGIN_PERMISSION }, MATCH_DISABLED_COMPONENTS).stream().map(pi -> pi.packageName).collect(Collectors.toSet());
    for (String action : pluginActions) {
        String name = toName(action);
        List<ResolveInfo> result = pm.queryIntentServices(new Intent(action), MATCH_DISABLED_COMPONENTS | GET_RESOLVED_FILTER);
        for (ResolveInfo info : result) {
            String packageName = info.serviceInfo.packageName;
            if (!pluginPermissionApps.contains(packageName)) {
                continue;
            }
            Pair<String, String> key = Pair.create(packageName, info.serviceInfo.processName);
            if (!plugins.containsKey(key)) {
                plugins.put(key, new ArrayList<>());
            }
            plugins.get(key).add(Pair.create(name, info));
        }
    }
    PreferenceDataStore enabler = manager.getPluginEnabler();
    plugins.forEach((key, si) -> {
        String packageName = key.first;
        List<ComponentName> componentNames = si.stream().map(p -> new ComponentName(packageName, p.second.serviceInfo.name)).collect(Collectors.toList());
        if (!componentNames.isEmpty()) {
            SwitchPreference pref = new PluginPreference(prefContext, si.get(0).second, enabler, componentNames);
            pref.setSummary("Plugins: " + si.stream().map(p -> p.first).collect(Collectors.joining(", ")));
            mPluginsCategory.addPreference(pref);
        }
    });
}
Also used : Context(android.content.Context) PreferenceGroup(androidx.preference.PreferenceGroup) Context(android.content.Context) Bundle(android.os.Bundle) PackageManager(android.content.pm.PackageManager) NonNull(androidx.annotation.NonNull) Uri(android.net.Uri) Pair(android.util.Pair) PreferenceCategory(androidx.preference.PreferenceCategory) Intent(android.content.Intent) PreferenceFragmentCompat(androidx.preference.PreferenceFragmentCompat) Editable(android.text.Editable) MenuItem(android.view.MenuItem) ArrayList(java.util.ArrayList) MenuInflater(android.view.MenuInflater) PreferenceViewHolder(androidx.preference.PreferenceViewHolder) Menu(android.view.Menu) VISIBLE(android.view.View.VISIBLE) View(android.view.View) Settings(android.provider.Settings) Build(android.os.Build) TargetApi(android.annotation.TargetApi) ArrayMap(android.util.ArrayMap) PreferenceScreen(androidx.preference.PreferenceScreen) MATCH_DISABLED_COMPONENTS(android.content.pm.PackageManager.MATCH_DISABLED_COMPONENTS) FlagTogglerPrefUi(com.android.launcher3.config.FlagTogglerPrefUi) ComponentName(android.content.ComponentName) SwitchPreference(androidx.preference.SwitchPreference) PLUGIN_CHANGED(com.android.launcher3.uioverrides.plugins.PluginManagerWrapper.PLUGIN_CHANGED) IntentFilter(android.content.IntentFilter) GET_RESOLVED_FILTER(android.content.pm.PackageManager.GET_RESOLVED_FILTER) Set(java.util.Set) FeatureFlags(com.android.launcher3.config.FeatureFlags) BroadcastReceiver(android.content.BroadcastReceiver) Preference(androidx.preference.Preference) PluginManagerWrapper(com.android.launcher3.uioverrides.plugins.PluginManagerWrapper) Collectors(java.util.stream.Collectors) PreferenceDataStore(androidx.preference.PreferenceDataStore) ResolveInfo(android.content.pm.ResolveInfo) List(java.util.List) Nullable(androidx.annotation.Nullable) GONE(android.view.View.GONE) R(com.android.launcher3.R) PluginManagerWrapper.pluginEnabledKey(com.android.launcher3.uioverrides.plugins.PluginManagerWrapper.pluginEnabledKey) EditText(android.widget.EditText) TextWatcher(android.text.TextWatcher) PreferenceDataStore(androidx.preference.PreferenceDataStore) SwitchPreference(androidx.preference.SwitchPreference) ArrayList(java.util.ArrayList) PluginManagerWrapper(com.android.launcher3.uioverrides.plugins.PluginManagerWrapper) ArrayMap(android.util.ArrayMap) Intent(android.content.Intent) ResolveInfo(android.content.pm.ResolveInfo) PackageManager(android.content.pm.PackageManager) ComponentName(android.content.ComponentName) Pair(android.util.Pair)

Example 3 with PreferenceDataStore

use of androidx.preference.PreferenceDataStore in project android_packages_apps_Launcher3 by AOSPA.

the class DeveloperOptionsFragment method loadPluginPrefs.

private void loadPluginPrefs() {
    if (mPluginsCategory != null) {
        mPreferenceScreen.removePreference(mPluginsCategory);
    }
    if (!PluginManagerWrapper.hasPlugins(getActivity())) {
        mPluginsCategory = null;
        return;
    }
    mPluginsCategory = newCategory("Plugins");
    PluginManagerWrapper manager = PluginManagerWrapper.INSTANCE.get(getContext());
    Context prefContext = getContext();
    PackageManager pm = getContext().getPackageManager();
    Set<String> pluginActions = manager.getPluginActions();
    ArrayMap<Pair<String, String>, ArrayList<Pair<String, ResolveInfo>>> plugins = new ArrayMap<>();
    Set<String> pluginPermissionApps = pm.getPackagesHoldingPermissions(new String[] { PLUGIN_PERMISSION }, MATCH_DISABLED_COMPONENTS).stream().map(pi -> pi.packageName).collect(Collectors.toSet());
    for (String action : pluginActions) {
        String name = toName(action);
        List<ResolveInfo> result = pm.queryIntentServices(new Intent(action), MATCH_DISABLED_COMPONENTS | GET_RESOLVED_FILTER);
        for (ResolveInfo info : result) {
            String packageName = info.serviceInfo.packageName;
            if (!pluginPermissionApps.contains(packageName)) {
                continue;
            }
            Pair<String, String> key = Pair.create(packageName, info.serviceInfo.processName);
            if (!plugins.containsKey(key)) {
                plugins.put(key, new ArrayList<>());
            }
            plugins.get(key).add(Pair.create(name, info));
        }
    }
    PreferenceDataStore enabler = manager.getPluginEnabler();
    plugins.forEach((key, si) -> {
        String packageName = key.first;
        List<ComponentName> componentNames = si.stream().map(p -> new ComponentName(packageName, p.second.serviceInfo.name)).collect(Collectors.toList());
        if (!componentNames.isEmpty()) {
            SwitchPreference pref = new PluginPreference(prefContext, si.get(0).second, enabler, componentNames);
            pref.setSummary("Plugins: " + si.stream().map(p -> p.first).collect(Collectors.joining(", ")));
            mPluginsCategory.addPreference(pref);
        }
    });
}
Also used : Context(android.content.Context) Bundle(android.os.Bundle) PackageManager(android.content.pm.PackageManager) NonNull(androidx.annotation.NonNull) Uri(android.net.Uri) EXTRA_FRAGMENT_ARG_KEY(com.android.launcher3.settings.SettingsActivity.EXTRA_FRAGMENT_ARG_KEY) PreferenceViewHolder(androidx.preference.PreferenceViewHolder) Map(java.util.Map) VISIBLE(android.view.View.VISIBLE) View(android.view.View) TargetApi(android.annotation.TargetApi) Utilities(com.android.launcher3.Utilities) PreferenceScreen(androidx.preference.PreferenceScreen) MATCH_DISABLED_COMPONENTS(android.content.pm.PackageManager.MATCH_DISABLED_COMPONENTS) FlagTogglerPrefUi(com.android.launcher3.config.FlagTogglerPrefUi) SwitchPreference(androidx.preference.SwitchPreference) IntentFilter(android.content.IntentFilter) GET_RESOLVED_FILTER(android.content.pm.PackageManager.GET_RESOLVED_FILTER) Set(java.util.Set) BroadcastReceiver(android.content.BroadcastReceiver) PluginManagerWrapper(com.android.launcher3.uioverrides.plugins.PluginManagerWrapper) Collectors(java.util.stream.Collectors) List(java.util.List) Nullable(androidx.annotation.Nullable) GONE(android.view.View.GONE) TextWatcher(android.text.TextWatcher) PreferenceGroup(androidx.preference.PreferenceGroup) Context(android.content.Context) Pair(android.util.Pair) PreferenceCategory(androidx.preference.PreferenceCategory) Intent(android.content.Intent) PreferenceFragmentCompat(androidx.preference.PreferenceFragmentCompat) Editable(android.text.Editable) MenuItem(android.view.MenuItem) ArrayList(java.util.ArrayList) MenuInflater(android.view.MenuInflater) Toast(android.widget.Toast) Menu(android.view.Menu) Settings(android.provider.Settings) Build(android.os.Build) ArrayMap(android.util.ArrayMap) ComponentName(android.content.ComponentName) PLUGIN_CHANGED(com.android.launcher3.uioverrides.plugins.PluginManagerWrapper.PLUGIN_CHANGED) FeatureFlags(com.android.launcher3.config.FeatureFlags) Preference(androidx.preference.Preference) PreferenceDataStore(androidx.preference.PreferenceDataStore) ResolveInfo(android.content.pm.ResolveInfo) OnboardingPrefs(com.android.launcher3.util.OnboardingPrefs) SharedPreferences(android.content.SharedPreferences) R(com.android.launcher3.R) PluginManagerWrapper.pluginEnabledKey(com.android.launcher3.uioverrides.plugins.PluginManagerWrapper.pluginEnabledKey) EditText(android.widget.EditText) PreferenceDataStore(androidx.preference.PreferenceDataStore) SwitchPreference(androidx.preference.SwitchPreference) ArrayList(java.util.ArrayList) PluginManagerWrapper(com.android.launcher3.uioverrides.plugins.PluginManagerWrapper) ArrayMap(android.util.ArrayMap) Intent(android.content.Intent) ResolveInfo(android.content.pm.ResolveInfo) PackageManager(android.content.pm.PackageManager) ComponentName(android.content.ComponentName) Pair(android.util.Pair)

Example 4 with PreferenceDataStore

use of androidx.preference.PreferenceDataStore in project Neo-Launcher by NeoApplications.

the class DeveloperOptionsFragment method loadPluginPrefs.

private void loadPluginPrefs() {
    if (mPluginsCategory != null) {
        mPreferenceScreen.removePreference(mPluginsCategory);
    }
    if (!PluginManagerWrapper.hasPlugins(getActivity())) {
        mPluginsCategory = null;
        return;
    }
    mPluginsCategory = newCategory("Plugins");
    PluginManagerWrapper manager = PluginManagerWrapper.INSTANCE.get(getContext());
    Context prefContext = getContext();
    PackageManager pm = getContext().getPackageManager();
    Set<String> pluginActions = manager.getPluginActions();
    ArrayMap<String, ArraySet<String>> plugins = new ArrayMap<>();
    for (String action : pluginActions) {
        String name = toName(action);
        List<ResolveInfo> result = pm.queryIntentServices(new Intent(action), PackageManager.MATCH_DISABLED_COMPONENTS);
        for (ResolveInfo info : result) {
            String packageName = info.serviceInfo.packageName;
            if (!plugins.containsKey(packageName)) {
                plugins.put(packageName, new ArraySet<>());
            }
            plugins.get(packageName).add(name);
        }
    }
    List<PackageInfo> apps = pm.getPackagesHoldingPermissions(new String[] { PLUGIN_PERMISSION }, PackageManager.MATCH_DISABLED_COMPONENTS | PackageManager.GET_SERVICES);
    PreferenceDataStore enabled = manager.getPluginEnabler();
    apps.forEach(app -> {
        if (!plugins.containsKey(app.packageName))
            return;
        SwitchPreference pref = new PluginPreference(prefContext, app, enabled);
        pref.setSummary("Plugins: " + toString(plugins.get(app.packageName)));
        mPluginsCategory.addPreference(pref);
    });
}
Also used : Context(android.content.Context) PreferenceDataStore(androidx.preference.PreferenceDataStore) ArraySet(android.util.ArraySet) SwitchPreference(androidx.preference.SwitchPreference) PackageInfo(android.content.pm.PackageInfo) PluginManagerWrapper(com.android.launcher3.uioverrides.plugins.PluginManagerWrapper) ArrayMap(android.util.ArrayMap) Intent(android.content.Intent) ResolveInfo(android.content.pm.ResolveInfo) PackageManager(android.content.pm.PackageManager)

Example 5 with PreferenceDataStore

use of androidx.preference.PreferenceDataStore in project android_packages_apps_Launcher3 by ArrowOS.

the class DeveloperOptionsFragment method loadPluginPrefs.

private void loadPluginPrefs() {
    if (mPluginsCategory != null) {
        mPreferenceScreen.removePreference(mPluginsCategory);
    }
    if (!PluginManagerWrapper.hasPlugins(getActivity())) {
        mPluginsCategory = null;
        return;
    }
    mPluginsCategory = newCategory("Plugins");
    PluginManagerWrapper manager = PluginManagerWrapper.INSTANCE.get(getContext());
    Context prefContext = getContext();
    PackageManager pm = getContext().getPackageManager();
    Set<String> pluginActions = manager.getPluginActions();
    ArrayMap<Pair<String, String>, ArrayList<Pair<String, ResolveInfo>>> plugins = new ArrayMap<>();
    Set<String> pluginPermissionApps = pm.getPackagesHoldingPermissions(new String[] { PLUGIN_PERMISSION }, MATCH_DISABLED_COMPONENTS).stream().map(pi -> pi.packageName).collect(Collectors.toSet());
    for (String action : pluginActions) {
        String name = toName(action);
        List<ResolveInfo> result = pm.queryIntentServices(new Intent(action), MATCH_DISABLED_COMPONENTS | GET_RESOLVED_FILTER);
        for (ResolveInfo info : result) {
            String packageName = info.serviceInfo.packageName;
            if (!pluginPermissionApps.contains(packageName)) {
                continue;
            }
            Pair<String, String> key = Pair.create(packageName, info.serviceInfo.processName);
            if (!plugins.containsKey(key)) {
                plugins.put(key, new ArrayList<>());
            }
            plugins.get(key).add(Pair.create(name, info));
        }
    }
    PreferenceDataStore enabler = manager.getPluginEnabler();
    plugins.forEach((key, si) -> {
        String packageName = key.first;
        List<ComponentName> componentNames = si.stream().map(p -> new ComponentName(packageName, p.second.serviceInfo.name)).collect(Collectors.toList());
        if (!componentNames.isEmpty()) {
            SwitchPreference pref = new PluginPreference(prefContext, si.get(0).second, enabler, componentNames);
            pref.setSummary("Plugins: " + si.stream().map(p -> p.first).collect(Collectors.joining(", ")));
            mPluginsCategory.addPreference(pref);
        }
    });
}
Also used : Context(android.content.Context) Bundle(android.os.Bundle) PackageManager(android.content.pm.PackageManager) NonNull(androidx.annotation.NonNull) Uri(android.net.Uri) EXTRA_FRAGMENT_ARG_KEY(com.android.launcher3.settings.SettingsActivity.EXTRA_FRAGMENT_ARG_KEY) PreferenceViewHolder(androidx.preference.PreferenceViewHolder) Map(java.util.Map) VISIBLE(android.view.View.VISIBLE) View(android.view.View) TargetApi(android.annotation.TargetApi) Utilities(com.android.launcher3.Utilities) PreferenceScreen(androidx.preference.PreferenceScreen) MATCH_DISABLED_COMPONENTS(android.content.pm.PackageManager.MATCH_DISABLED_COMPONENTS) FlagTogglerPrefUi(com.android.launcher3.config.FlagTogglerPrefUi) SwitchPreference(androidx.preference.SwitchPreference) IntentFilter(android.content.IntentFilter) GET_RESOLVED_FILTER(android.content.pm.PackageManager.GET_RESOLVED_FILTER) Set(java.util.Set) BroadcastReceiver(android.content.BroadcastReceiver) PluginManagerWrapper(com.android.launcher3.uioverrides.plugins.PluginManagerWrapper) Collectors(java.util.stream.Collectors) List(java.util.List) Nullable(androidx.annotation.Nullable) GONE(android.view.View.GONE) TextWatcher(android.text.TextWatcher) PreferenceGroup(androidx.preference.PreferenceGroup) Context(android.content.Context) Pair(android.util.Pair) PreferenceCategory(androidx.preference.PreferenceCategory) Intent(android.content.Intent) PreferenceFragmentCompat(androidx.preference.PreferenceFragmentCompat) Editable(android.text.Editable) MenuItem(android.view.MenuItem) ArrayList(java.util.ArrayList) MenuInflater(android.view.MenuInflater) Toast(android.widget.Toast) Menu(android.view.Menu) Settings(android.provider.Settings) Build(android.os.Build) ArrayMap(android.util.ArrayMap) ComponentName(android.content.ComponentName) PLUGIN_CHANGED(com.android.launcher3.uioverrides.plugins.PluginManagerWrapper.PLUGIN_CHANGED) FeatureFlags(com.android.launcher3.config.FeatureFlags) Preference(androidx.preference.Preference) PreferenceDataStore(androidx.preference.PreferenceDataStore) ResolveInfo(android.content.pm.ResolveInfo) OnboardingPrefs(com.android.launcher3.util.OnboardingPrefs) SharedPreferences(android.content.SharedPreferences) R(com.android.launcher3.R) PluginManagerWrapper.pluginEnabledKey(com.android.launcher3.uioverrides.plugins.PluginManagerWrapper.pluginEnabledKey) EditText(android.widget.EditText) PreferenceDataStore(androidx.preference.PreferenceDataStore) SwitchPreference(androidx.preference.SwitchPreference) ArrayList(java.util.ArrayList) PluginManagerWrapper(com.android.launcher3.uioverrides.plugins.PluginManagerWrapper) ArrayMap(android.util.ArrayMap) Intent(android.content.Intent) ResolveInfo(android.content.pm.ResolveInfo) PackageManager(android.content.pm.PackageManager) ComponentName(android.content.ComponentName) Pair(android.util.Pair)

Aggregations

PreferenceDataStore (androidx.preference.PreferenceDataStore)14 Context (android.content.Context)7 Intent (android.content.Intent)7 PackageManager (android.content.pm.PackageManager)7 ResolveInfo (android.content.pm.ResolveInfo)7 ArrayMap (android.util.ArrayMap)7 SwitchPreference (androidx.preference.SwitchPreference)7 PluginManagerWrapper (com.android.launcher3.uioverrides.plugins.PluginManagerWrapper)7 TargetApi (android.annotation.TargetApi)6 BroadcastReceiver (android.content.BroadcastReceiver)6 ComponentName (android.content.ComponentName)6 IntentFilter (android.content.IntentFilter)6 MATCH_DISABLED_COMPONENTS (android.content.pm.PackageManager.MATCH_DISABLED_COMPONENTS)6 Uri (android.net.Uri)6 Build (android.os.Build)6 Bundle (android.os.Bundle)6 Settings (android.provider.Settings)6 Pair (android.util.Pair)6 Menu (android.view.Menu)6 MenuInflater (android.view.MenuInflater)6