diff options
| author | 2022-03-02 11:03:12 -0800 | |
|---|---|---|
| committer | 2022-03-02 11:18:41 -0800 | |
| commit | c4481c54941528a0207e2f98f45def06419b8c8a (patch) | |
| tree | ec04727280ce9cd5f9945a2eac55e7dcfeaa5051 | |
| parent | 1c11a5dfe6f5356442a8035e8ffb339fee66a03c (diff) | |
Add PackageManagerLocal for mainline modules
Bug: 211763739
Change-Id: Ia25ea8e224fcf88030761636c574f5084c98b035
| -rw-r--r-- | services/api/current.txt | 7 | ||||
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerLocal.java | 31 | ||||
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerService.java | 5 |
3 files changed, 43 insertions, 0 deletions
diff --git a/services/api/current.txt b/services/api/current.txt index 440f66aaa76b..45c00595841d 100644 --- a/services/api/current.txt +++ b/services/api/current.txt @@ -44,6 +44,13 @@ package com.android.server.am { } +package com.android.server.pm { + + public interface PackageManagerLocal { + } + +} + package com.android.server.role { public interface RoleServicePlatformHelper { diff --git a/services/core/java/com/android/server/pm/PackageManagerLocal.java b/services/core/java/com/android/server/pm/PackageManagerLocal.java new file mode 100644 index 000000000000..7b76567fcc6e --- /dev/null +++ b/services/core/java/com/android/server/pm/PackageManagerLocal.java @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.server.pm; + +import android.annotation.SystemApi; + +/** + * In-process API for server side PackageManager related infrastructure. + * + * For now, avoiding adding methods that rely on package data until we solve the snapshot + * consistency problem. + * + * @hide + */ +@SystemApi(client = SystemApi.Client.SYSTEM_SERVER) +public interface PackageManagerLocal { +} diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 0602f3e72031..90dd8fc5d319 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -203,6 +203,7 @@ import com.android.internal.util.Preconditions; import com.android.permission.persistence.RuntimePermissionsPersistence; import com.android.server.EventLogTags; import com.android.server.FgThread; +import com.android.server.LocalManagerRegistry; import com.android.server.LocalServices; import com.android.server.LockGuard; import com.android.server.PackageWatchdog; @@ -1537,6 +1538,7 @@ public class PackageManagerService extends IPackageManager.Stub ServiceManager.addService("package", m); final PackageManagerNative pmn = new PackageManagerNative(m); ServiceManager.addService("package_native", pmn); + LocalManagerRegistry.addManager(PackageManagerLocal.class, m.new PackageManagerLocalImpl()); return m; } @@ -6768,6 +6770,9 @@ public class PackageManagerService extends IPackageManager.Stub return mComputer.canQueryPackage(callingUid, targetPackageName); } + private class PackageManagerLocalImpl implements PackageManagerLocal { + } + private class PackageManagerInternalImpl extends PackageManagerInternal { @Override public List<ApplicationInfo> getInstalledApplications( |