Merge "Replaced auto-fill by autofill to keep it consistent with API style."
diff --git a/res/xml/app_default_settings.xml b/res/xml/app_default_settings.xml
index a382bc9..e96c070 100644
--- a/res/xml/app_default_settings.xml
+++ b/res/xml/app_default_settings.xml
@@ -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"/>
diff --git a/src/com/android/settings/applications/AdvancedAppSettings.java b/src/com/android/settings/applications/AdvancedAppSettings.java
index c68e19f..b8ebeb4 100644
--- a/src/com/android/settings/applications/AdvancedAppSettings.java
+++ b/src/com/android/settings/applications/AdvancedAppSettings.java
@@ -20,7 +20,7 @@
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 @@
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;
}
diff --git a/src/com/android/settings/applications/defaultapps/DefaultAutoFillPicker.java b/src/com/android/settings/applications/defaultapps/DefaultAutofillPicker.java
similarity index 62%
rename from src/com/android/settings/applications/defaultapps/DefaultAutoFillPicker.java
rename to src/com/android/settings/applications/defaultapps/DefaultAutofillPicker.java
index b8190cd..e3a7a2b 100644
--- a/src/com/android/settings/applications/defaultapps/DefaultAutoFillPicker.java
+++ b/src/com/android/settings/applications/defaultapps/DefaultAutofillPicker.java
@@ -23,7 +23,8 @@
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 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 @@
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 @@
/**
* 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 @@
@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)) {
diff --git a/src/com/android/settings/applications/defaultapps/DefaultAutoFillPreferenceController.java b/src/com/android/settings/applications/defaultapps/DefaultAutofillPreferenceController.java
similarity index 85%
rename from src/com/android/settings/applications/defaultapps/DefaultAutoFillPreferenceController.java
rename to src/com/android/settings/applications/defaultapps/DefaultAutofillPreferenceController.java
index b7f3b77..c536dbb 100644
--- a/src/com/android/settings/applications/defaultapps/DefaultAutoFillPreferenceController.java
+++ b/src/com/android/settings/applications/defaultapps/DefaultAutofillPreferenceController.java
@@ -22,9 +22,9 @@
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 @@
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 @@
@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));
diff --git a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutoFillPickerTest.java b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPickerTest.java
similarity index 95%
rename from tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutoFillPickerTest.java
rename to tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPickerTest.java
index 1ee18cf..1bd611b 100644
--- a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutoFillPickerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPickerTest.java
@@ -46,7 +46,7 @@
@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 @@
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);
diff --git a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutoFillPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPreferenceControllerTest.java
similarity index 90%
rename from tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutoFillPreferenceControllerTest.java
rename to tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPreferenceControllerTest.java
index 1c37368..7bcbcb0 100644
--- a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutoFillPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPreferenceControllerTest.java
@@ -45,7 +45,7 @@
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
-public class DefaultAutoFillPreferenceControllerTest {
+public class DefaultAutofillPreferenceControllerTest {
@Mock
private Context mContext;
@@ -54,14 +54,14 @@
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private PackageManagerWrapper mPackageManager;
- private DefaultAutoFillPreferenceController mController;
+ private DefaultAutofillPreferenceController mController;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
- mController = spy(new DefaultAutoFillPreferenceController(mContext));
+ mController = spy(new DefaultAutofillPreferenceController(mContext));
ReflectionHelpers.setField(mController, "mPackageManager", mPackageManager);
}
@@ -82,7 +82,7 @@
public void getDefaultAppInfo_shouldHaveSettingsProvider() {
ReflectionHelpers.setField(mController, "mContext", RuntimeEnvironment.application);
Settings.Secure.putString(RuntimeEnvironment.application.getContentResolver(),
- DefaultAutoFillPicker.SETTING, "com.android.settings/SettingsActivity.class");
+ DefaultAutofillPicker.SETTING, "com.android.settings/SettingsActivity.class");
final DefaultAppInfo info = mController.getDefaultAppInfo();
@@ -91,6 +91,6 @@
mController.getSettingIntent(info);
verify(mPackageManager.getPackageManager()).queryIntentServices(
- DefaultAutoFillPicker.AUTO_FILL_PROBE, PackageManager.GET_META_DATA);
+ DefaultAutofillPicker.AUTOFILL_PROBE, PackageManager.GET_META_DATA);
}
}