Loading res/xml/app_default_settings.xml +1 −1 Original line number Diff line number Diff line Loading @@ -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"/> Loading src/com/android/settings/applications/AdvancedAppSettings.java +2 −2 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; } Loading src/com/android/settings/applications/defaultapps/DefaultAutoFillPicker.java→src/com/android/settings/applications/defaultapps/DefaultAutofillPicker.java +37 −10 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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() { Loading @@ -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; } Loading @@ -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; } Loading @@ -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)) { Loading src/com/android/settings/applications/defaultapps/DefaultAutoFillPreferenceController.java→src/com/android/settings/applications/defaultapps/DefaultAutofillPreferenceController.java +5 −5 Original line number Diff line number Diff line Loading @@ -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); } Loading @@ -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(); } Loading @@ -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)); Loading tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutoFillPickerTest.java→tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPickerTest.java +3 −3 Original line number Diff line number Diff line Loading @@ -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"; Loading @@ -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 Loading
res/xml/app_default_settings.xml +1 −1 Original line number Diff line number Diff line Loading @@ -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"/> Loading
src/com/android/settings/applications/AdvancedAppSettings.java +2 −2 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; } Loading
src/com/android/settings/applications/defaultapps/DefaultAutoFillPicker.java→src/com/android/settings/applications/defaultapps/DefaultAutofillPicker.java +37 −10 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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() { Loading @@ -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; } Loading @@ -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; } Loading @@ -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)) { Loading
src/com/android/settings/applications/defaultapps/DefaultAutoFillPreferenceController.java→src/com/android/settings/applications/defaultapps/DefaultAutofillPreferenceController.java +5 −5 Original line number Diff line number Diff line Loading @@ -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); } Loading @@ -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(); } Loading @@ -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)); Loading
tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutoFillPickerTest.java→tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPickerTest.java +3 −3 Original line number Diff line number Diff line Loading @@ -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"; Loading @@ -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