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

Commit 91245687 authored by Ahaan Ugale's avatar Ahaan Ugale
Browse files

AF: Add a TestDataBuilder to AutofillServiceInfo.

This is now used in unit tests for the settings
PasswordsPreferenceController.

Bug: 169455298
Test: atest SettingsUnitTests:com.android.settings.applications.autofill.PasswordsPreferenceControllerTest
Change-Id: Ib74f18c692530970357101ec7417b8f187d3858e
parent ed0d866a
Loading
Loading
Loading
Loading
+35 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import android.app.AppGlobals;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.pm.ServiceInfo;
@@ -38,6 +39,7 @@ import android.util.Log;
import android.util.Xml;

import com.android.internal.R;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.util.XmlUtils;
@@ -233,6 +235,39 @@ public final class AutofillServiceInfo {
        return compatibilityPackages;
    }

    /**
     * Used by {@link TestDataBuilder}.
     */
    private AutofillServiceInfo(String passwordsActivity) {
        mServiceInfo = new ServiceInfo();
        mServiceInfo.applicationInfo = new ApplicationInfo();
        mServiceInfo.packageName = "com.android.test";
        mSettingsActivity = null;
        mPasswordsActivity = passwordsActivity;
        mCompatibilityPackages = null;
        mInlineSuggestionsEnabled = false;
    }

    /**
     * Builds test data for unit tests.
     */
    @VisibleForTesting
    public static final class TestDataBuilder {
        private String mPasswordsActivity;

        public TestDataBuilder() {
        }

        public TestDataBuilder setPasswordsActivity(String passwordsActivity) {
            mPasswordsActivity = passwordsActivity;
            return this;
        }

        public AutofillServiceInfo build() {
            return new AutofillServiceInfo(mPasswordsActivity);
        }
    }

    @NonNull
    public ServiceInfo getServiceInfo() {
        return mServiceInfo;