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

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

Merge "Bind to augmented autofill service right away."

parents 03eaa6b2 7323781d
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.content.pm.UserInfo;
import android.database.ContentObserver;
import android.graphics.Rect;
import android.os.Binder;
@@ -189,6 +190,16 @@ public final class AutofillManagerService
        final IntentFilter filter = new IntentFilter();
        filter.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
        context.registerReceiver(mBroadcastReceiver, filter, null, FgThread.getHandler());

        if (mSupportedSmartSuggestionModes != AutofillManager.FLAG_SMART_SUGGESTION_OFF) {
            // Must eager load the services so they bind to the augmented autofill service
            final UserManager um = getContext().getSystemService(UserManager.class);
            final List<UserInfo> users = um.getUsers();
            for (int i = 0; i < users.size(); i++) {
                final int userId = users.get(i).id;
                getServiceForUserLocked(userId);
            }
        }
    }

    @Override // from AbstractMasterSystemService
+6 −3
Original line number Diff line number Diff line
@@ -194,7 +194,7 @@ final class AutofillManagerServiceImpl
        mAugmentedAutofillResolver = new FrameworkResourcesServiceNameResolver(master.getContext(),
                com.android.internal.R.string.config_defaultAugmentedAutofillService);
        mAugmentedAutofillResolver.setOnTemporaryServiceNameChangedCallback(
                (u, s) -> updateRemoteAugmentedAutofillService(s));
                (u, s) -> updateRemoteAugmentedAutofillService());

        updateLocked(disabled);
    }
@@ -223,6 +223,7 @@ final class AutofillManagerServiceImpl
            }
            sendStateToClients(false);
        }
        updateRemoteAugmentedAutofillService();
        return enabledChanged;
    }

@@ -1093,7 +1094,7 @@ final class AutofillManagerServiceImpl
    /**
     * Called when the {@link #mAugmentedAutofillResolver} changed (among other places).
     */
    private void updateRemoteAugmentedAutofillService(@Nullable String serviceName) {
    void updateRemoteAugmentedAutofillService() {
        synchronized (mLock) {
            if (mRemoteAugmentedAutofillService != null) {
                if (sVerbose) {
@@ -1105,9 +1106,11 @@ final class AutofillManagerServiceImpl
                mRemoteAugmentedAutofillServiceInfo = null;
            }

            if (isEnabledLocked()) {
                mRemoteAugmentedAutofillService = getRemoteAugmentedAutofillServiceLocked();
            }
        }
    }

    /**
     * Sets which packages and activities can trigger augmented autofill.