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

Commit 0a3f081b authored by Todd Kennedy's avatar Todd Kennedy
Browse files

Add command to retrieve the instant app resolver

Bug: 33073536
Test: gts-tradefed run commandAndExit gts-dev -m GtsPackageManagerHostTestCases -t com.google.android.pm.gts.PackageManagerHostTest
Change-Id: I3050fb083da2f85c7226291ec5c7794ed95a13ef
parent 2cd2d234
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -623,6 +623,8 @@ interface IPackageManager {

    void deletePreloadsFileCache();

    ComponentName getInstantAppResolverComponent();

    ComponentName getInstantAppResolverSettingsComponent();

    ComponentName getInstantAppInstallerComponent();
+11 −0
Original line number Diff line number Diff line
@@ -3180,6 +3180,17 @@ public class PackageManagerService extends IPackageManager.Stub
        return null;
    }
    @Override
    public @Nullable ComponentName getInstantAppResolverComponent() {
        synchronized (mPackages) {
            final Pair<ComponentName, String> instantAppResolver = getInstantAppResolverLPr();
            if (instantAppResolver == null) {
                return null;
            }
            return instantAppResolver.first;
        }
    }
    private @Nullable Pair<ComponentName, String> getInstantAppResolverLPr() {
        final String[] packageArray =
                mContext.getResources().getStringArray(R.array.config_ephemeralResolverPackage);
+17 −0
Original line number Diff line number Diff line
@@ -147,6 +147,8 @@ class PackageManagerShellCommand extends ShellCommand {
                    return runSetHomeActivity();
                case "get-privapp-permissions":
                    return runGetPrivappPermissions();
                case "get-instantapp-resolver":
                    return runGetInstantAppResolver();
                case "has-feature":
                    return runHasFeature();
                default:
@@ -1271,6 +1273,21 @@ class PackageManagerShellCommand extends ShellCommand {
        return 0;
    }

    private int runGetInstantAppResolver() {
        final PrintWriter pw = getOutPrintWriter();
        try {
            final ComponentName instantAppsResolver = mInterface.getInstantAppResolverComponent();
            if (instantAppsResolver == null) {
                return 1;
            }
            pw.println(instantAppsResolver.flattenToString());
            return 0;
        } catch (Exception e) {
            pw.println(e.toString());
            return 1;
        }
    }

    private int runHasFeature() {
        final PrintWriter err = getErrPrintWriter();
        final String featureName = getNextArg();