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

Commit be1fe6f3 authored by Hai Zhang's avatar Hai Zhang Committed by Android (Google) Code Review
Browse files

Merge "Add getDeclaredShareLibraries() for role qualification checking."

parents 8f252c15 1ad238f9
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@ package android {
    field public static final String ACCESS_MTP = "android.permission.ACCESS_MTP";
    field public static final String ACCESS_NETWORK_CONDITIONS = "android.permission.ACCESS_NETWORK_CONDITIONS";
    field public static final String ACCESS_NOTIFICATIONS = "android.permission.ACCESS_NOTIFICATIONS";
    field public static final String ACCESS_SHARED_LIBRARIES = "android.permission.ACCESS_SHARED_LIBRARIES";
    field public static final String ACCESS_SHORTCUTS = "android.permission.ACCESS_SHORTCUTS";
    field public static final String ACCESS_SURFACE_FLINGER = "android.permission.ACCESS_SURFACE_FLINGER";
    field public static final String ACTIVITY_EMBEDDING = "android.permission.ACTIVITY_EMBEDDING";
@@ -1615,6 +1616,7 @@ package android.content.pm {
    method public abstract java.util.List<android.content.IntentFilter> getAllIntentFilters(String);
    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.pm.ApplicationInfo getApplicationInfoAsUser(@NonNull String, int, @NonNull android.os.UserHandle) throws android.content.pm.PackageManager.NameNotFoundException;
    method @NonNull public android.content.pm.dex.ArtManager getArtManager();
    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_SHARED_LIBRARIES) public java.util.List<android.content.pm.SharedLibraryInfo> getDeclaredSharedLibraries(@NonNull String, int);
    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract String getDefaultBrowserPackageNameAsUser(int);
    method @Nullable @RequiresPermission(android.Manifest.permission.SET_HARMFUL_APP_WARNINGS) public CharSequence getHarmfulAppWarning(@NonNull String);
    method public String getIncidentReportApproverPackageName();
+13 −0
Original line number Diff line number Diff line
@@ -536,6 +536,19 @@ public class ApplicationPackageManager extends PackageManager {
        }
    }

    @NonNull
    @Override
    public List<SharedLibraryInfo> getDeclaredSharedLibraries(@NonNull String packageName,
            @InstallFlags int flags) {
        try {
            ParceledListSlice<SharedLibraryInfo> sharedLibraries = mPM.getDeclaredSharedLibraries(
                    packageName, flags, mContext.getUserId());
            return sharedLibraries != null ? sharedLibraries.getList() : Collections.emptyList();
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
    }

    /** @hide */
    @Override
    public @NonNull String getServicesSystemSharedLibraryPackageName() {
+2 −0
Original line number Diff line number Diff line
@@ -714,6 +714,8 @@ interface IPackageManager {

    ParceledListSlice getSharedLibraries(in String packageName, int flags, int userId);

    ParceledListSlice getDeclaredSharedLibraries(in String packageName, int flags, int userId);

    boolean canRequestPackageInstalls(String packageName, int userId);

    void deletePreloadsFileCache();
+18 −0
Original line number Diff line number Diff line
@@ -4238,6 +4238,24 @@ public abstract class PackageManager {
    public abstract @NonNull List<SharedLibraryInfo> getSharedLibrariesAsUser(
            @InstallFlags int flags, @UserIdInt int userId);

    /**
     * Get the list of shared libraries declared by a package.
     *
     * @param packageName the package name to query
     * @param flags the flags to filter packages
     * @return the shared library list
     *
     * @hide
     */
    @NonNull
    @RequiresPermission(Manifest.permission.ACCESS_SHARED_LIBRARIES)
    @SystemApi
    public List<SharedLibraryInfo> getDeclaredSharedLibraries(@NonNull String packageName,
            @InstallFlags int flags) {
        throw new UnsupportedOperationException(
                "getDeclaredSharedLibraries() not implemented in subclass");
    }

    /**
     * Get the name of the package hosting the services shared library.
     *
+5 −0
Original line number Diff line number Diff line
@@ -4490,6 +4490,11 @@
    <permission android:name="android.permission.SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON"
                android:protectionLevel="signature|privileged" />

    <!-- @SystemApi Allows an application to access shared libraries.
         @hide -->
    <permission android:name="android.permission.ACCESS_SHARED_LIBRARIES"
                android:protectionLevel="signature|installer" />

    <application android:process="system"
                 android:persistent="true"
                 android:hasCode="false"
Loading