Move autofill app picker from advanced app to language page

Change-Id: I38979e17e51bda92179ca5b7ba4293677aa18a96
Fix: 36130404
Test: make RunSettingsRoboTests
diff --git a/res/xml/app_default_settings.xml b/res/xml/app_default_settings.xml
index 889b255..11acb24 100644
--- a/res/xml/app_default_settings.xml
+++ b/res/xml/app_default_settings.xml
@@ -61,13 +61,6 @@
         settings:keywords="@string/keywords_emergency_app"
         android:order="-15"/>
 
-    <com.android.settings.widget.GearPreference
-        android:key="default_autofill"
-        android:title="@string/autofill_app"
-        android:fragment="com.android.settings.applications.defaultapps.DefaultAutofillPicker"
-        settings:keywords="@string/autofill_keywords"
-        android:order="-14"/>
-
     <!--
     <Preference
         android:key="default_notification_asst_app"
diff --git a/res/xml/language_and_input.xml b/res/xml/language_and_input.xml
index c85a4d1..79f441f 100644
--- a/res/xml/language_and_input.xml
+++ b/res/xml/language_and_input.xml
@@ -17,6 +17,7 @@
 
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"
     android:title="@string/language_keyboard_settings_title" >
 
     <Preference
@@ -45,6 +46,12 @@
             android:persistent="false"
             android:fragment="com.android.settings.inputmethod.SpellCheckersSettings"/>
 
+        <com.android.settings.widget.GearPreference
+            android:key="default_autofill"
+            android:title="@string/autofill_app"
+            android:fragment="com.android.settings.applications.defaultapps.DefaultAutofillPicker"
+            settings:keywords="@string/autofill_keywords" />
+
         <!-- User dictionary preference title and fragment will be set programmatically. -->
         <Preference
             android:key="key_user_dictionary_settings"
diff --git a/src/com/android/settings/applications/AdvancedAppSettings.java b/src/com/android/settings/applications/AdvancedAppSettings.java
index b8ebeb4..e59f94b 100644
--- a/src/com/android/settings/applications/AdvancedAppSettings.java
+++ b/src/com/android/settings/applications/AdvancedAppSettings.java
@@ -20,7 +20,6 @@
 
 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.DefaultBrowserPreferenceController;
 import com.android.settings.applications.defaultapps.DefaultEmergencyPreferenceController;
 import com.android.settings.applications.defaultapps.DefaultHomePreferenceController;
@@ -61,7 +60,6 @@
         controllers.add(new DefaultSmsPreferenceController(context));
         controllers.add(new DefaultEmergencyPreferenceController(context));
         controllers.add(new DefaultHomePreferenceController(context));
-        controllers.add(new DefaultAutofillPreferenceController(context));
         return controllers;
     }
 
diff --git a/src/com/android/settings/language/LanguageAndInputSettings.java b/src/com/android/settings/language/LanguageAndInputSettings.java
index 84f4e50..5a2c0c7 100644
--- a/src/com/android/settings/language/LanguageAndInputSettings.java
+++ b/src/com/android/settings/language/LanguageAndInputSettings.java
@@ -31,6 +31,7 @@
 import com.android.internal.hardware.AmbientDisplayConfiguration;
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.settings.R;
+import com.android.settings.applications.defaultapps.DefaultAutofillPreferenceController;
 import com.android.settings.core.PreferenceController;
 import com.android.settings.core.lifecycle.Lifecycle;
 import com.android.settings.dashboard.DashboardFragment;
@@ -103,6 +104,7 @@
                 context, lifecycle, mAmbientDisplayConfig, UserHandle.myUserId()));
         controllers.add(new DoubleTapScreenPreferenceController(
                 context, lifecycle, mAmbientDisplayConfig, UserHandle.myUserId()));
+        controllers.add(new DefaultAutofillPreferenceController(context));
         return controllers;
     }
 
diff --git a/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java b/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java
index 38ffa3d..026264e 100644
--- a/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java
@@ -21,6 +21,7 @@
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.hardware.input.InputManager;
+import android.os.UserManager;
 import android.provider.Settings;
 import android.view.inputmethod.InputMethodInfo;
 import android.view.inputmethod.InputMethodManager;
@@ -69,6 +70,7 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
+        when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mock(UserManager.class));
         when(mContext.getSystemService(Context.INPUT_SERVICE)).thenReturn(mock(InputManager.class));
         when(mContext.getSystemService(Context.TEXT_SERVICES_MANAGER_SERVICE))
                 .thenReturn(mock(TextServicesManager.class));