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

Commit 20496370 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fixed Content Capture and Augmented Autofill whitelist."

parents a3e79d62 0f0b1d38
Loading
Loading
Loading
Loading
+15 −1
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import android.util.Log;
import com.android.internal.util.Preconditions;

import java.io.PrintWriter;
import java.util.List;

/**
 * Helper class for keeping track of whitelisted packages/activities.
@@ -89,6 +90,18 @@ public final class WhitelistHelper {
        }
    }

    /**
     * Helper to use {@link #setWhitelist(ArraySet, ArraySet)} with {@link List Lists}.
     */
    public void setWhitelist(@Nullable List<String> packageNames,
            @Nullable List<ComponentName> components) {
        final ArraySet<String> packageNamesSet = packageNames == null ? null
                : new ArraySet<>(packageNames);
        final ArraySet<ComponentName> componentssSet = components == null ? null
                : new ArraySet<>(components);
        setWhitelist(packageNamesSet, componentssSet);
    }

    /**
     * Returns {@code true} if the entire package is whitelisted.
     */
@@ -141,13 +154,14 @@ public final class WhitelistHelper {
            return;
        }

        final String prefix2 = prefix + "  ";
        final int size = mWhitelistedPackages.size();
        pw.print(prefix); pw.print(message); pw.print(": "); pw.print(size);
        pw.println(" packages");
        for (int i = 0; i < mWhitelistedPackages.size(); i++) {
            final String packageName = mWhitelistedPackages.keyAt(i);
            final ArraySet<ComponentName> components = mWhitelistedPackages.valueAt(i);
            pw.print(prefix); pw.print(i); pw.print("."); pw.print(packageName); pw.print(": ");
            pw.print(prefix2); pw.print(i); pw.print("."); pw.print(packageName); pw.print(": ");
            if (components == null) {
                pw.println("(whole package)");
                continue;
+3 −4
Original line number Diff line number Diff line
@@ -906,8 +906,7 @@ final class AutofillManagerServiceImpl
            pw.println(mRemoteAugmentedAutofillServiceInfo);
        }

        pw.print(prefix); pw.print("augmented autofill whitelist: ");
        mAugmentedWhitelistHelper.dump(prefix2, "Whitelist", pw);
        mAugmentedWhitelistHelper.dump(prefix, "Augmented autofill whitelist", pw);

        pw.print(prefix); pw.print("Field classification enabled: ");
            pw.println(isFieldClassificationEnabledLocked());
@@ -1103,6 +1102,7 @@ final class AutofillManagerServiceImpl
                }
                mRemoteAugmentedAutofillService.destroy();
                mRemoteAugmentedAutofillService = null;
                mRemoteAugmentedAutofillServiceInfo = null;
            }

            mRemoteAugmentedAutofillService = getRemoteAugmentedAutofillServiceLocked();
@@ -1188,8 +1188,7 @@ final class AutofillManagerServiceImpl
            if (mMaster.verbose) {
                Slog.v(TAG, "whitelisting packages: " + packages + "and activities: " + components);
            }
            mAugmentedWhitelistHelper.setWhitelist(new ArraySet<>(packages),
                    new ArraySet<>(components));
            mAugmentedWhitelistHelper.setWhitelist(packages, components);
            mRemoteAugmentedAutofillService = getRemoteAugmentedAutofillServiceLocked();
        }
    }
+4 −3
Original line number Diff line number Diff line
@@ -283,9 +283,10 @@ final class ContentCapturePerUserService
        // TODO(b/122595322): add CTS test for when it's null
        synchronized (mLock) {
            if (mMaster.verbose) {
                Slog.v(TAG, "whitelisting packages: " + packages + "and activities: " + components);
                Slog.v(TAG, "whitelisting packages: " + packages + " and activities: "
                        + components);
            }
            mWhitelistHelper.setWhitelist(new ArraySet<>(packages), new ArraySet<>(components));
            mWhitelistHelper.setWhitelist(packages, components);
        }
    }

@@ -441,7 +442,7 @@ final class ContentCapturePerUserService
            mRemoteService.dump(prefix2, pw);
        }

        pw.print(prefix); pw.print("Whitelist: "); pw.println(mWhitelistHelper);
        mWhitelistHelper.dump(prefix, "Whitelist", pw);

        if (mSessions.isEmpty()) {
            pw.print(prefix); pw.println("no sessions");