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

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

Merge "Replaced auto-fill by autofill to keep it consistent with API style."

parents a94c8183 4fa4a2e3
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -67,7 +67,7 @@
        android:key="default_autofill"
        android:title="@string/autofill_app"
        android:summary="@string/app_list_preference_none"
        android:fragment="com.android.settings.applications.defaultapps.DefaultAutoFillPicker"
        android:fragment="com.android.settings.applications.defaultapps.DefaultAutofillPicker"
        settings:keywords="@string/autofill_keywords"
        android:order="-14"/>

+2 −2
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@ import android.provider.SearchIndexableResource;

import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.applications.defaultapps.DefaultAutoFillPreferenceController;
import com.android.settings.applications.defaultapps.DefaultAutofillPreferenceController;
import com.android.settings.applications.defaultapps.DefaultBrowserPreferenceController;
import com.android.settings.applications.defaultapps.DefaultEmergencyPreferenceController;
import com.android.settings.applications.defaultapps.DefaultHomePreferenceController;
@@ -61,7 +61,7 @@ public class AdvancedAppSettings extends DashboardFragment {
        controllers.add(new DefaultSmsPreferenceController(context));
        controllers.add(new DefaultEmergencyPreferenceController(context));
        controllers.add(new DefaultHomePreferenceController(context));
        controllers.add(new DefaultAutoFillPreferenceController(context));
        controllers.add(new DefaultAutofillPreferenceController(context));
        return controllers;
    }

+37 −10
Original line number Diff line number Diff line
@@ -23,7 +23,8 @@ import android.content.pm.ResolveInfo;
import android.content.pm.ServiceInfo;
import android.provider.Settings;
import android.service.autofill.AutoFillService;
import android.service.autofill.AutoFillServiceInfo;
import android.service.autofill.AutofillService;
import android.service.autofill.AutofillServiceInfo;
import android.text.TextUtils;

import com.android.internal.logging.nano.MetricsProto;
@@ -32,10 +33,12 @@ import com.android.settings.R;
import java.util.ArrayList;
import java.util.List;

public class DefaultAutoFillPicker extends DefaultAppPickerFragment {
public class DefaultAutofillPicker extends DefaultAppPickerFragment {

    static final String SETTING = Settings.Secure.AUTO_FILL_SERVICE;
    static final Intent AUTO_FILL_PROBE = new Intent(AutoFillService.SERVICE_INTERFACE);
    static final String SETTING = Settings.Secure.AUTOFILL_SERVICE;
    // TODO(b/35956626): remove once clients migrated
    static final Intent OLD_AUTO_FILL_PROBE = new Intent(AutoFillService.OLD_SERVICE_INTERFACE);
    static final Intent AUTOFILL_PROBE = new Intent(AutofillService.SERVICE_INTERFACE);

    @Override
    public int getMetricsCategory() {
@@ -51,11 +54,17 @@ public class DefaultAutoFillPicker extends DefaultAppPickerFragment {
    protected List<DefaultAppInfo> getCandidates() {
        final List<DefaultAppInfo> candidates = new ArrayList<>();
        final List<ResolveInfo> resolveInfos = mPm.getPackageManager()
                .queryIntentServices(AUTO_FILL_PROBE, PackageManager.GET_META_DATA);
                .queryIntentServices(AUTOFILL_PROBE, PackageManager.GET_META_DATA);
        for (ResolveInfo info : resolveInfos) {
            candidates.add(new DefaultAppInfo(mUserId, new ComponentName(
                    info.serviceInfo.packageName, info.serviceInfo.name)));
        }
        final List<ResolveInfo> oldResolveInfos = mPm.getPackageManager()
                .queryIntentServices(OLD_AUTO_FILL_PROBE, PackageManager.GET_META_DATA);
        for (ResolveInfo info : oldResolveInfos) {
            candidates.add(new DefaultAppInfo(mUserId, new ComponentName(
                    info.serviceInfo.packageName, info.serviceInfo.name)));
        }
        return candidates;
    }

@@ -82,13 +91,12 @@ public class DefaultAutoFillPicker extends DefaultAppPickerFragment {
    /**
     * Provides Intent to setting activity for the specified auto-fill service.
     */
    static final class AutoFillSettingIntentProvider
            implements SettingIntentProvider {
    static final class AutofillSettingIntentProvider implements SettingIntentProvider {

        private final String mSelectedKey;
        private final PackageManager mPackageManager;

        public AutoFillSettingIntentProvider(PackageManager packageManager, String key) {
        public AutofillSettingIntentProvider(PackageManager packageManager, String key) {
            mSelectedKey = key;
            mPackageManager = packageManager;
        }
@@ -96,14 +104,33 @@ public class DefaultAutoFillPicker extends DefaultAppPickerFragment {
        @Override
        public Intent getIntent() {
            final List<ResolveInfo> resolveInfos = mPackageManager.queryIntentServices(
                    AUTO_FILL_PROBE, PackageManager.GET_META_DATA);
                    AUTOFILL_PROBE, PackageManager.GET_META_DATA);

            for (ResolveInfo resolveInfo : resolveInfos) {
                final ServiceInfo serviceInfo = resolveInfo.serviceInfo;
                final String flattenKey = new ComponentName(
                        serviceInfo.packageName, serviceInfo.name).flattenToString();
                if (TextUtils.equals(mSelectedKey, flattenKey)) {
                    final String settingsActivity = new AutoFillServiceInfo(
                    final String settingsActivity = new AutofillServiceInfo(
                            mPackageManager, serviceInfo)
                            .getSettingsActivity();
                    if (TextUtils.isEmpty(settingsActivity)) {
                        return null;
                    }
                    return new Intent(Intent.ACTION_MAIN).setComponent(
                            new ComponentName(serviceInfo.packageName, settingsActivity));
                }
            }

            final List<ResolveInfo> oldResolveInfos = mPackageManager.queryIntentServices(
                    OLD_AUTO_FILL_PROBE, PackageManager.GET_META_DATA);

            for (ResolveInfo resolveInfo : oldResolveInfos) {
                final ServiceInfo serviceInfo = resolveInfo.serviceInfo;
                final String flattenKey = new ComponentName(
                        serviceInfo.packageName, serviceInfo.name).flattenToString();
                if (TextUtils.equals(mSelectedKey, flattenKey)) {
                    final String settingsActivity = new AutofillServiceInfo(
                            mPackageManager, serviceInfo)
                            .getSettingsActivity();
                    if (TextUtils.isEmpty(settingsActivity)) {
+5 −5
Original line number Diff line number Diff line
@@ -22,9 +22,9 @@ import android.content.Intent;
import android.provider.Settings;
import android.text.TextUtils;

public class DefaultAutoFillPreferenceController extends DefaultAppPreferenceController {
public class DefaultAutofillPreferenceController extends DefaultAppPreferenceController {

    public DefaultAutoFillPreferenceController(Context context) {
    public DefaultAutofillPreferenceController(Context context) {
        super(context);
    }

@@ -43,8 +43,8 @@ public class DefaultAutoFillPreferenceController extends DefaultAppPreferenceCon
        if (info == null) {
            return null;
        }
        final DefaultAutoFillPicker.AutoFillSettingIntentProvider intentProvider =
                new DefaultAutoFillPicker.AutoFillSettingIntentProvider(
        final DefaultAutofillPicker.AutofillSettingIntentProvider intentProvider =
                new DefaultAutofillPicker.AutofillSettingIntentProvider(
                        mPackageManager.getPackageManager(), info.getKey());
        return intentProvider.getIntent();
    }
@@ -52,7 +52,7 @@ public class DefaultAutoFillPreferenceController extends DefaultAppPreferenceCon
    @Override
    protected DefaultAppInfo getDefaultAppInfo() {
        final String flattenComponent = Settings.Secure.getString(mContext.getContentResolver(),
                DefaultAutoFillPicker.SETTING);
                DefaultAutofillPicker.SETTING);
        if (!TextUtils.isEmpty(flattenComponent)) {
            DefaultAppInfo appInfo = new DefaultAppInfo(
                    mUserId, ComponentName.unflattenFromString(flattenComponent));
+3 −3
Original line number Diff line number Diff line
@@ -46,7 +46,7 @@ import static org.mockito.Mockito.when;

@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class DefaultAutoFillPickerTest {
public class DefaultAutofillPickerTest {

    private static final String TEST_APP_KEY = "123";

@@ -56,14 +56,14 @@ public class DefaultAutoFillPickerTest {
    private UserManager mUserManager;
    @Mock
    private PackageManagerWrapper mPackageManager;
    private DefaultAutoFillPicker mPicker;
    private DefaultAutofillPicker mPicker;

    @Before
    public void setUp() {
        MockitoAnnotations.initMocks(this);
        FakeFeatureFactory.setupForTest(mActivity);
        when(mActivity.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
        mPicker = spy(new DefaultAutoFillPicker());
        mPicker = spy(new DefaultAutofillPicker());
        mPicker.onAttach((Context) mActivity);

        ReflectionHelpers.setField(mPicker, "mPm", mPackageManager);
Loading