Merge "Replaced auto-fill by autofill to keep it consistent with API style."
This commit is contained in:
committed by
Android (Google) Code Review
commit
e11cb90ed2
@@ -67,7 +67,7 @@
|
|||||||
android:key="default_autofill"
|
android:key="default_autofill"
|
||||||
android:title="@string/autofill_app"
|
android:title="@string/autofill_app"
|
||||||
android:summary="@string/app_list_preference_none"
|
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"
|
settings:keywords="@string/autofill_keywords"
|
||||||
android:order="-14"/>
|
android:order="-14"/>
|
||||||
|
|
||||||
|
@@ -20,7 +20,7 @@ import android.provider.SearchIndexableResource;
|
|||||||
|
|
||||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||||
import com.android.settings.R;
|
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.DefaultBrowserPreferenceController;
|
||||||
import com.android.settings.applications.defaultapps.DefaultEmergencyPreferenceController;
|
import com.android.settings.applications.defaultapps.DefaultEmergencyPreferenceController;
|
||||||
import com.android.settings.applications.defaultapps.DefaultHomePreferenceController;
|
import com.android.settings.applications.defaultapps.DefaultHomePreferenceController;
|
||||||
@@ -61,7 +61,7 @@ public class AdvancedAppSettings extends DashboardFragment {
|
|||||||
controllers.add(new DefaultSmsPreferenceController(context));
|
controllers.add(new DefaultSmsPreferenceController(context));
|
||||||
controllers.add(new DefaultEmergencyPreferenceController(context));
|
controllers.add(new DefaultEmergencyPreferenceController(context));
|
||||||
controllers.add(new DefaultHomePreferenceController(context));
|
controllers.add(new DefaultHomePreferenceController(context));
|
||||||
controllers.add(new DefaultAutoFillPreferenceController(context));
|
controllers.add(new DefaultAutofillPreferenceController(context));
|
||||||
return controllers;
|
return controllers;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -23,7 +23,8 @@ import android.content.pm.ResolveInfo;
|
|||||||
import android.content.pm.ServiceInfo;
|
import android.content.pm.ServiceInfo;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.service.autofill.AutoFillService;
|
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 android.text.TextUtils;
|
||||||
|
|
||||||
import com.android.internal.logging.nano.MetricsProto;
|
import com.android.internal.logging.nano.MetricsProto;
|
||||||
@@ -32,10 +33,12 @@ import com.android.settings.R;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
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 String SETTING = Settings.Secure.AUTOFILL_SERVICE;
|
||||||
static final Intent AUTO_FILL_PROBE = new Intent(AutoFillService.SERVICE_INTERFACE);
|
// 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
|
@Override
|
||||||
public int getMetricsCategory() {
|
public int getMetricsCategory() {
|
||||||
@@ -51,11 +54,17 @@ public class DefaultAutoFillPicker extends DefaultAppPickerFragment {
|
|||||||
protected List<DefaultAppInfo> getCandidates() {
|
protected List<DefaultAppInfo> getCandidates() {
|
||||||
final List<DefaultAppInfo> candidates = new ArrayList<>();
|
final List<DefaultAppInfo> candidates = new ArrayList<>();
|
||||||
final List<ResolveInfo> resolveInfos = mPm.getPackageManager()
|
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) {
|
for (ResolveInfo info : resolveInfos) {
|
||||||
candidates.add(new DefaultAppInfo(mUserId, new ComponentName(
|
candidates.add(new DefaultAppInfo(mUserId, new ComponentName(
|
||||||
info.serviceInfo.packageName, info.serviceInfo.name)));
|
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;
|
return candidates;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -82,13 +91,12 @@ public class DefaultAutoFillPicker extends DefaultAppPickerFragment {
|
|||||||
/**
|
/**
|
||||||
* Provides Intent to setting activity for the specified auto-fill service.
|
* Provides Intent to setting activity for the specified auto-fill service.
|
||||||
*/
|
*/
|
||||||
static final class AutoFillSettingIntentProvider
|
static final class AutofillSettingIntentProvider implements SettingIntentProvider {
|
||||||
implements SettingIntentProvider {
|
|
||||||
|
|
||||||
private final String mSelectedKey;
|
private final String mSelectedKey;
|
||||||
private final PackageManager mPackageManager;
|
private final PackageManager mPackageManager;
|
||||||
|
|
||||||
public AutoFillSettingIntentProvider(PackageManager packageManager, String key) {
|
public AutofillSettingIntentProvider(PackageManager packageManager, String key) {
|
||||||
mSelectedKey = key;
|
mSelectedKey = key;
|
||||||
mPackageManager = packageManager;
|
mPackageManager = packageManager;
|
||||||
}
|
}
|
||||||
@@ -96,14 +104,33 @@ public class DefaultAutoFillPicker extends DefaultAppPickerFragment {
|
|||||||
@Override
|
@Override
|
||||||
public Intent getIntent() {
|
public Intent getIntent() {
|
||||||
final List<ResolveInfo> resolveInfos = mPackageManager.queryIntentServices(
|
final List<ResolveInfo> resolveInfos = mPackageManager.queryIntentServices(
|
||||||
AUTO_FILL_PROBE, PackageManager.GET_META_DATA);
|
AUTOFILL_PROBE, PackageManager.GET_META_DATA);
|
||||||
|
|
||||||
for (ResolveInfo resolveInfo : resolveInfos) {
|
for (ResolveInfo resolveInfo : resolveInfos) {
|
||||||
final ServiceInfo serviceInfo = resolveInfo.serviceInfo;
|
final ServiceInfo serviceInfo = resolveInfo.serviceInfo;
|
||||||
final String flattenKey = new ComponentName(
|
final String flattenKey = new ComponentName(
|
||||||
serviceInfo.packageName, serviceInfo.name).flattenToString();
|
serviceInfo.packageName, serviceInfo.name).flattenToString();
|
||||||
if (TextUtils.equals(mSelectedKey, flattenKey)) {
|
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)
|
mPackageManager, serviceInfo)
|
||||||
.getSettingsActivity();
|
.getSettingsActivity();
|
||||||
if (TextUtils.isEmpty(settingsActivity)) {
|
if (TextUtils.isEmpty(settingsActivity)) {
|
@@ -22,9 +22,9 @@ import android.content.Intent;
|
|||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
|
||||||
public class DefaultAutoFillPreferenceController extends DefaultAppPreferenceController {
|
public class DefaultAutofillPreferenceController extends DefaultAppPreferenceController {
|
||||||
|
|
||||||
public DefaultAutoFillPreferenceController(Context context) {
|
public DefaultAutofillPreferenceController(Context context) {
|
||||||
super(context);
|
super(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -43,8 +43,8 @@ public class DefaultAutoFillPreferenceController extends DefaultAppPreferenceCon
|
|||||||
if (info == null) {
|
if (info == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
final DefaultAutoFillPicker.AutoFillSettingIntentProvider intentProvider =
|
final DefaultAutofillPicker.AutofillSettingIntentProvider intentProvider =
|
||||||
new DefaultAutoFillPicker.AutoFillSettingIntentProvider(
|
new DefaultAutofillPicker.AutofillSettingIntentProvider(
|
||||||
mPackageManager.getPackageManager(), info.getKey());
|
mPackageManager.getPackageManager(), info.getKey());
|
||||||
return intentProvider.getIntent();
|
return intentProvider.getIntent();
|
||||||
}
|
}
|
||||||
@@ -52,7 +52,7 @@ public class DefaultAutoFillPreferenceController extends DefaultAppPreferenceCon
|
|||||||
@Override
|
@Override
|
||||||
protected DefaultAppInfo getDefaultAppInfo() {
|
protected DefaultAppInfo getDefaultAppInfo() {
|
||||||
final String flattenComponent = Settings.Secure.getString(mContext.getContentResolver(),
|
final String flattenComponent = Settings.Secure.getString(mContext.getContentResolver(),
|
||||||
DefaultAutoFillPicker.SETTING);
|
DefaultAutofillPicker.SETTING);
|
||||||
if (!TextUtils.isEmpty(flattenComponent)) {
|
if (!TextUtils.isEmpty(flattenComponent)) {
|
||||||
DefaultAppInfo appInfo = new DefaultAppInfo(
|
DefaultAppInfo appInfo = new DefaultAppInfo(
|
||||||
mUserId, ComponentName.unflattenFromString(flattenComponent));
|
mUserId, ComponentName.unflattenFromString(flattenComponent));
|
@@ -46,7 +46,7 @@ import static org.mockito.Mockito.when;
|
|||||||
|
|
||||||
@RunWith(SettingsRobolectricTestRunner.class)
|
@RunWith(SettingsRobolectricTestRunner.class)
|
||||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
||||||
public class DefaultAutoFillPickerTest {
|
public class DefaultAutofillPickerTest {
|
||||||
|
|
||||||
private static final String TEST_APP_KEY = "123";
|
private static final String TEST_APP_KEY = "123";
|
||||||
|
|
||||||
@@ -56,14 +56,14 @@ public class DefaultAutoFillPickerTest {
|
|||||||
private UserManager mUserManager;
|
private UserManager mUserManager;
|
||||||
@Mock
|
@Mock
|
||||||
private PackageManagerWrapper mPackageManager;
|
private PackageManagerWrapper mPackageManager;
|
||||||
private DefaultAutoFillPicker mPicker;
|
private DefaultAutofillPicker mPicker;
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
MockitoAnnotations.initMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
FakeFeatureFactory.setupForTest(mActivity);
|
FakeFeatureFactory.setupForTest(mActivity);
|
||||||
when(mActivity.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
|
when(mActivity.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
|
||||||
mPicker = spy(new DefaultAutoFillPicker());
|
mPicker = spy(new DefaultAutofillPicker());
|
||||||
mPicker.onAttach((Context) mActivity);
|
mPicker.onAttach((Context) mActivity);
|
||||||
|
|
||||||
ReflectionHelpers.setField(mPicker, "mPm", mPackageManager);
|
ReflectionHelpers.setField(mPicker, "mPm", mPackageManager);
|
@@ -45,7 +45,7 @@ import static org.mockito.Mockito.when;
|
|||||||
|
|
||||||
@RunWith(SettingsRobolectricTestRunner.class)
|
@RunWith(SettingsRobolectricTestRunner.class)
|
||||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
||||||
public class DefaultAutoFillPreferenceControllerTest {
|
public class DefaultAutofillPreferenceControllerTest {
|
||||||
|
|
||||||
@Mock
|
@Mock
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
@@ -54,14 +54,14 @@ public class DefaultAutoFillPreferenceControllerTest {
|
|||||||
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
|
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
|
||||||
private PackageManagerWrapper mPackageManager;
|
private PackageManagerWrapper mPackageManager;
|
||||||
|
|
||||||
private DefaultAutoFillPreferenceController mController;
|
private DefaultAutofillPreferenceController mController;
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
MockitoAnnotations.initMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
|
when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
|
||||||
|
|
||||||
mController = spy(new DefaultAutoFillPreferenceController(mContext));
|
mController = spy(new DefaultAutofillPreferenceController(mContext));
|
||||||
ReflectionHelpers.setField(mController, "mPackageManager", mPackageManager);
|
ReflectionHelpers.setField(mController, "mPackageManager", mPackageManager);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -82,7 +82,7 @@ public class DefaultAutoFillPreferenceControllerTest {
|
|||||||
public void getDefaultAppInfo_shouldHaveSettingsProvider() {
|
public void getDefaultAppInfo_shouldHaveSettingsProvider() {
|
||||||
ReflectionHelpers.setField(mController, "mContext", RuntimeEnvironment.application);
|
ReflectionHelpers.setField(mController, "mContext", RuntimeEnvironment.application);
|
||||||
Settings.Secure.putString(RuntimeEnvironment.application.getContentResolver(),
|
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();
|
final DefaultAppInfo info = mController.getDefaultAppInfo();
|
||||||
|
|
||||||
@@ -91,6 +91,6 @@ public class DefaultAutoFillPreferenceControllerTest {
|
|||||||
mController.getSettingIntent(info);
|
mController.getSettingIntent(info);
|
||||||
|
|
||||||
verify(mPackageManager.getPackageManager()).queryIntentServices(
|
verify(mPackageManager.getPackageManager()).queryIntentServices(
|
||||||
DefaultAutoFillPicker.AUTO_FILL_PROBE, PackageManager.GET_META_DATA);
|
DefaultAutofillPicker.AUTOFILL_PROBE, PackageManager.GET_META_DATA);
|
||||||
}
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user