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

Commit 919b826d authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "[Autofill PCC]: Optimize PCC Detection calling" into udc-dev am: a3f65104

parents 8473d92a a3f65104
Loading
Loading
Loading
Loading
+8 −2
Original line number Original line Diff line number Diff line
@@ -760,6 +760,12 @@ public final class AutofillManagerService
        return false;
        return false;
    }
    }


    // Called by Shell command
    String getFieldDetectionServiceName(@UserIdInt int userId) {
        enforceCallingPermissionForManagement();
        return mFieldClassificationResolver.readServiceName(userId);
    }

    // Called by Shell command
    // Called by Shell command
    boolean setTemporaryDetectionService(@UserIdInt int userId, @NonNull String serviceName,
    boolean setTemporaryDetectionService(@UserIdInt int userId, @NonNull String serviceName,
            int durationMs) {
            int durationMs) {
@@ -903,9 +909,9 @@ public final class AutofillManagerService
    }
    }


    /**
    /**
     * Whether the Autofill PCC Classification feature is enabled.
     * Whether the Autofill PCC Classification feature flag is enabled.
     */
     */
    public boolean isPccClassificationEnabled() {
    public boolean isPccClassificationFlagEnabled() {
        synchronized (mFlagLock) {
        synchronized (mFlagLock) {
            return mPccClassificationEnabled;
            return mPccClassificationEnabled;
        }
        }
+17 −0
Original line number Original line Diff line number Diff line
@@ -1730,6 +1730,23 @@ final class AutofillManagerServiceImpl
        return mRemoteFieldClassificationService;
        return mRemoteFieldClassificationService;
    }
    }



    public boolean isPccClassificationEnabled() {
        boolean result = isPccClassificationEnabledInternal();
        if (sVerbose) {
            Slog.v(TAG, "pccEnabled: " + result);
        }
        return result;
    }

    public boolean isPccClassificationEnabledInternal() {
        boolean flagEnabled = mMaster.isPccClassificationFlagEnabled();
        if (!flagEnabled) return false;
        synchronized (mLock) {
            return getRemoteFieldClassificationServiceLocked() != null;
        }
    }

    /**
    /**
     * Called when the {@link AutofillManagerService#mFieldClassificationResolver}
     * Called when the {@link AutofillManagerService#mFieldClassificationResolver}
     * changed (among other places).
     * changed (among other places).
+11 −0
Original line number Original line Diff line number Diff line
@@ -26,6 +26,7 @@ import android.os.RemoteCallback;
import android.os.ShellCommand;
import android.os.ShellCommand;
import android.os.UserHandle;
import android.os.UserHandle;
import android.service.autofill.AutofillFieldClassificationService.Scores;
import android.service.autofill.AutofillFieldClassificationService.Scores;
import android.text.TextUtils;
import android.view.autofill.AutofillManager;
import android.view.autofill.AutofillManager;


import com.android.internal.os.IResultReceiver;
import com.android.internal.os.IResultReceiver;
@@ -154,6 +155,8 @@ public final class AutofillManagerServiceShellCommand extends ShellCommand {
                return getBindInstantService(pw);
                return getBindInstantService(pw);
            case "default-augmented-service-enabled":
            case "default-augmented-service-enabled":
                return getDefaultAugmentedServiceEnabled(pw);
                return getDefaultAugmentedServiceEnabled(pw);
            case "field-detection-service-enabled":
                return isFieldDetectionServiceEnabled(pw);
            case "saved-password-count":
            case "saved-password-count":
                return getSavedPasswordCount(pw);
                return getSavedPasswordCount(pw);
            default:
            default:
@@ -343,6 +346,14 @@ public final class AutofillManagerServiceShellCommand extends ShellCommand {
        return 0;
        return 0;
    }
    }


    private int isFieldDetectionServiceEnabled(PrintWriter pw) {
        final int userId = getNextIntArgRequired();
        String name = mService.getFieldDetectionServiceName(userId);
        boolean enabled = !TextUtils.isEmpty(name);
        pw.println(enabled);
        return 0;
    }

    private int setTemporaryAugmentedService(PrintWriter pw) {
    private int setTemporaryAugmentedService(PrintWriter pw) {
        final int userId = getNextIntArgRequired();
        final int userId = getNextIntArgRequired();
        final String serviceName = getNextArg();
        final String serviceName = getNextArg();
+3 −3
Original line number Original line Diff line number Diff line
@@ -798,7 +798,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState
     * Returns empty list if PCC is off or no types available
     * Returns empty list if PCC is off or no types available
    */
    */
    private List<String> getTypeHintsForProvider() {
    private List<String> getTypeHintsForProvider() {
        if (!mService.getMaster().isPccClassificationEnabled()) {
        if (!mService.isPccClassificationEnabled()) {
            return Collections.EMPTY_LIST;
            return Collections.EMPTY_LIST;
        }
        }
        final String typeHints = mService.getMaster().getPccProviderHints();
        final String typeHints = mService.getMaster().getPccProviderHints();
@@ -1200,7 +1200,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState
        // structure is taken. This causes only one fill request per burst of focus changes.
        // structure is taken. This causes only one fill request per burst of focus changes.
        cancelCurrentRequestLocked();
        cancelCurrentRequestLocked();


        if (mService.getMaster().isPccClassificationEnabled()
        if (mService.isPccClassificationEnabled()
                && mClassificationState.mHintsToAutofillIdMap == null) {
                && mClassificationState.mHintsToAutofillIdMap == null) {
            if (sVerbose) {
            if (sVerbose) {
                Slog.v(TAG, "triggering field classification");
                Slog.v(TAG, "triggering field classification");
@@ -1631,7 +1631,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState
            Slog.d(TAG, "DBG: computeDatasetsForProviderAndUpdateContainer: "
            Slog.d(TAG, "DBG: computeDatasetsForProviderAndUpdateContainer: "
                    + autofillProviderContainer);
                    + autofillProviderContainer);
        }
        }
        if (!mService.getMaster().isPccClassificationEnabled())  {
        if (!mService.isPccClassificationEnabled())  {
            if (sVerbose) {
            if (sVerbose) {
                Slog.v(TAG, "PCC classification is disabled");
                Slog.v(TAG, "PCC classification is disabled");
            }
            }