Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 909e77f0 authored by Julia Reynolds's avatar Julia Reynolds Committed by android-build-merger
Browse files

Merge "Remove category from managedservices." into nyc-dev

am: 5961ab3a

* commit '5961ab3a':
  Remove category from managedservices.

Change-Id: Ib454ec3d289c7d8d506cae5c3c021135f7705079
parents e5a8fc60 5961ab3a
Loading
Loading
Loading
Loading
+0 −60
Original line number Diff line number Diff line
@@ -97,8 +97,6 @@ abstract public class ManagedServices {
    // List of packages in restored setting across all mUserProfiles, for quick
    // filtering upon package updates.
    private ArraySet<String> mRestoredPackages = new ArraySet<>();
    // State of current service categories
    private ArrayMap<String, Boolean> mCategoryEnabled = new ArrayMap<>();
    // List of enabled packages that have nevertheless asked not to be run
    private ArraySet<ComponentName> mSnoozingForCurrentProfiles = new ArraySet<>();

@@ -342,47 +340,6 @@ abstract public class ManagedServices {
        }
    }

    public void setCategoryState(String category, boolean enabled) {
        synchronized (mMutex) {
            final Boolean previous = mCategoryEnabled.put(category, enabled);
            if (!(previous == null || previous != enabled)) {
                return;
            }

            // State changed
            if (DEBUG) {
                Slog.d(TAG, ((enabled) ? "Enabling " : "Disabling ") + "category " + category);
            }

            final int[] userIds = mUserProfiles.getCurrentProfileIds();
            for (int userId : userIds) {
                final Set<ComponentName> componentNames = queryPackageForServices(null,
                        userId, category);

                // Disallow services not enabled in Settings
                final ArraySet<ComponentName> userComponents =
                        loadComponentNamesFromSetting(mConfig.secureSettingName, userId);
                if (userComponents == null) {
                    componentNames.clear();
                } else {
                    componentNames.retainAll(userComponents);
                }

                if (DEBUG) {
                    Slog.d(TAG, "Components for category " + category + ": " + componentNames);
                }
                for (ComponentName c : componentNames) {
                    if (enabled) {
                        registerServiceLocked(c, userId);
                    } else {
                        unregisterServiceLocked(c, userId);
                    }
                }
            }

        }
    }

    private void rebuildRestoredPackages() {
        mRestoredPackages.clear();
        mSnoozingForCurrentProfiles.clear();
@@ -454,20 +411,12 @@ abstract public class ManagedServices {
    }

    protected Set<ComponentName> queryPackageForServices(String packageName, int userId) {
        return queryPackageForServices(packageName, userId, null);
    }

    public Set<ComponentName> queryPackageForServices(String packageName, int userId,
            String category) {
        Set<ComponentName> installed = new ArraySet<>();
        final PackageManager pm = mContext.getPackageManager();
        Intent queryIntent = new Intent(mConfig.serviceInterface);
        if (!TextUtils.isEmpty(packageName)) {
            queryIntent.setPackage(packageName);
        }
        if (category != null) {
            queryIntent.addCategory(category);
        }
        List<ResolveInfo> installedServices = pm.queryIntentServicesAsUser(
                queryIntent,
                PackageManager.GET_SERVICES | PackageManager.GET_META_DATA,
@@ -578,15 +527,6 @@ abstract public class ManagedServices {
                }

                final Set<ComponentName> add = new HashSet<>(userComponents);

                // Remove components from disabled categories so that those services aren't run.
                for (Entry<String, Boolean> e : mCategoryEnabled.entrySet()) {
                    if (!e.getValue()) {
                        Set<ComponentName> c = queryPackageForServices(null, userIds[i],
                            e.getKey());
                        add.removeAll(c);
                    }
                }
                add.removeAll(mSnoozingForCurrentProfiles);

                toAdd.put(userIds[i], add);
+1 −1
Original line number Diff line number Diff line
@@ -3790,7 +3790,7 @@ public class NotificationManagerService extends SystemService {
                return;
            }
            Set<ComponentName> rankerComponents = queryPackageForServices(
                    mRankerServicePackageName, UserHandle.USER_SYSTEM, null);
                    mRankerServicePackageName, UserHandle.USER_SYSTEM);
            Iterator<ComponentName> iterator = rankerComponents.iterator();
            if (iterator.hasNext()) {
                ComponentName rankerComponent = iterator.next();