Merge "Update text for Languages & Input." into oc-dr1-dev
am: 73e03e6ca2
Change-Id: I339b129e599c11136add30af66514d783ee94554
This commit is contained in:
@@ -543,7 +543,7 @@
|
||||
</activity>
|
||||
|
||||
<activity android:name=".Settings$LanguageAndInputSettingsActivity"
|
||||
android:label="@string/language_keyboard_settings_title"
|
||||
android:label="@string/language_input_gesture_title"
|
||||
android:icon="@drawable/ic_settings_language"
|
||||
android:taskAffinity="com.android.settings"
|
||||
android:parentActivityName="Settings$SystemDashboardActivity">
|
||||
@@ -619,7 +619,7 @@
|
||||
|
||||
<!-- Keep compatibility with old shortcuts. -->
|
||||
<activity-alias android:name="LanguageSettings"
|
||||
android:label="@string/language_keyboard_settings_title"
|
||||
android:label="@string/language_input_gesture_title"
|
||||
android:clearTaskOnLaunch="true"
|
||||
android:exported="true"
|
||||
android:targetActivity="Settings$LanguageAndInputSettingsActivity">
|
||||
|
@@ -18,7 +18,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" >
|
||||
android:title="@string/language_input_gesture_title" >
|
||||
|
||||
<Preference
|
||||
android:key="phone_language"
|
||||
|
@@ -38,6 +38,7 @@ import com.android.settings.applications.defaultapps.DefaultAutofillPreferenceCo
|
||||
import com.android.settings.core.PreferenceController;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
import com.android.settings.dashboard.SummaryLoader;
|
||||
import com.android.settings.gestures.AssistGestureFeatureProvider;
|
||||
import com.android.settings.gestures.AssistGesturePreferenceController;
|
||||
import com.android.settings.gestures.CameraLiftTriggerPreferenceController;
|
||||
import com.android.settings.gestures.DoubleTapPowerPreferenceController;
|
||||
@@ -49,6 +50,7 @@ import com.android.settings.inputmethod.GameControllerPreferenceController;
|
||||
import com.android.settings.inputmethod.PhysicalKeyboardPreferenceController;
|
||||
import com.android.settings.inputmethod.SpellCheckerPreferenceController;
|
||||
import com.android.settings.inputmethod.VirtualKeyboardPreferenceController;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.search.BaseSearchIndexProvider;
|
||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||
|
||||
@@ -98,7 +100,7 @@ public class LanguageAndInputSettings extends DashboardFragment {
|
||||
if (activity == null) {
|
||||
return;
|
||||
}
|
||||
activity.setTitle(R.string.language_keyboard_settings_title);
|
||||
activity.setTitle(R.string.language_input_gesture_title);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -160,23 +162,32 @@ public class LanguageAndInputSettings extends DashboardFragment {
|
||||
|
||||
private final Context mContext;
|
||||
private final SummaryLoader mSummaryLoader;
|
||||
private final AssistGestureFeatureProvider mFeatureProvider;
|
||||
|
||||
public SummaryProvider(Context context, SummaryLoader summaryLoader) {
|
||||
mContext = context;
|
||||
mSummaryLoader = summaryLoader;
|
||||
mFeatureProvider = FeatureFactory.getFactory(context).getAssistGestureFeatureProvider();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setListening(boolean listening) {
|
||||
if (listening) {
|
||||
if (mFeatureProvider.isSupported(mContext)) {
|
||||
final int assistGestureEnabled = Settings.Secure.getInt(
|
||||
mContext.getContentResolver(), Settings.Secure.ASSIST_GESTURE_ENABLED, 1);
|
||||
mSummaryLoader.setSummary(this, mContext.getString(assistGestureEnabled == 0
|
||||
? R.string.language_input_gesture_summary_off
|
||||
: R.string.language_input_gesture_summary_on_with_assist));
|
||||
} else {
|
||||
final String flattenComponent = Settings.Secure.getString(
|
||||
mContext.getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD);
|
||||
if (!TextUtils.isEmpty(flattenComponent)) {
|
||||
final PackageManager packageManage = mContext.getPackageManager();
|
||||
final String pkg = ComponentName.unflattenFromString(flattenComponent)
|
||||
.getPackageName();
|
||||
final InputMethodManager imm = (InputMethodManager) mContext.getSystemService(
|
||||
Context.INPUT_METHOD_SERVICE);
|
||||
final InputMethodManager imm = (InputMethodManager)
|
||||
mContext.getSystemService(Context.INPUT_METHOD_SERVICE);
|
||||
final List<InputMethodInfo> imis = imm.getInputMethodList();
|
||||
for (InputMethodInfo imi : imis) {
|
||||
if (TextUtils.equals(imi.getPackageName(), pkg)) {
|
||||
@@ -189,6 +200,7 @@ public class LanguageAndInputSettings extends DashboardFragment {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY
|
||||
= (activity, summaryLoader) -> new SummaryProvider(activity, summaryLoader);
|
||||
|
@@ -37,7 +37,6 @@ import com.android.settings.core.PreferenceController;
|
||||
import com.android.settings.dashboard.SummaryLoader;
|
||||
import com.android.settings.testutils.FakeFeatureFactory;
|
||||
import com.android.settings.testutils.XmlTestUtils;
|
||||
import com.android.settings.testutils.FakeFeatureFactory;
|
||||
import com.android.settings.testutils.shadow.ShadowSecureSettings;
|
||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
||||
@@ -68,7 +67,7 @@ import static org.mockito.Mockito.when;
|
||||
public class LanguageAndInputSettingsTest {
|
||||
|
||||
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
|
||||
private Context mContext;
|
||||
private Activity mActivity;
|
||||
@Mock
|
||||
private PackageManager mPackageManager;
|
||||
@Mock
|
||||
@@ -86,17 +85,18 @@ public class LanguageAndInputSettingsTest {
|
||||
@Before
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
FakeFeatureFactory.setupForTest(mContext);
|
||||
when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mock(UserManager.class));
|
||||
when(mContext.getSystemService(Context.INPUT_SERVICE)).thenReturn(mock(InputManager.class));
|
||||
when(mContext.getSystemService(Context.INPUT_SERVICE)).thenReturn(mIm);
|
||||
when(mContext.getSystemService(Context.TEXT_SERVICES_MANAGER_SERVICE))
|
||||
FakeFeatureFactory.setupForTest(mActivity);
|
||||
when(mActivity.getSystemService(Context.USER_SERVICE)).thenReturn(mock(UserManager.class));
|
||||
when(mActivity.getSystemService(Context.INPUT_SERVICE))
|
||||
.thenReturn(mock(InputManager.class));
|
||||
when(mActivity.getSystemService(Context.INPUT_SERVICE)).thenReturn(mIm);
|
||||
when(mActivity.getSystemService(Context.TEXT_SERVICES_MANAGER_SERVICE))
|
||||
.thenReturn(mock(TextServicesManager.class));
|
||||
when(mContext.getSystemService(Context.DEVICE_POLICY_SERVICE)).thenReturn(mDpm);
|
||||
when(mContext.getSystemService(Context.INPUT_METHOD_SERVICE)).thenReturn(mImm);
|
||||
when((Object) mContext.getSystemService(AutofillManager.class))
|
||||
when(mActivity.getSystemService(Context.DEVICE_POLICY_SERVICE)).thenReturn(mDpm);
|
||||
when(mActivity.getSystemService(Context.INPUT_METHOD_SERVICE)).thenReturn(mImm);
|
||||
when((Object) mActivity.getSystemService(AutofillManager.class))
|
||||
.thenReturn(mAutofillManager);
|
||||
mFragment = new TestFragment(mContext);
|
||||
mFragment = new TestFragment(mActivity);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -106,7 +106,8 @@ public class LanguageAndInputSettingsTest {
|
||||
|
||||
@Test
|
||||
public void testGetPreferenceControllers_shouldRegisterLifecycleObservers() {
|
||||
final List<PreferenceController> controllers = mFragment.getPreferenceControllers(mContext);
|
||||
final List<PreferenceController> controllers =
|
||||
mFragment.getPreferenceControllers(mActivity);
|
||||
int lifecycleObserverCount = 0;
|
||||
for (PreferenceController controller : controllers) {
|
||||
if (controller instanceof LifecycleObserver) {
|
||||
@@ -120,7 +121,8 @@ public class LanguageAndInputSettingsTest {
|
||||
@Test
|
||||
|
||||
public void testGetPreferenceControllers_shouldAllBeCreated() {
|
||||
final List<PreferenceController> controllers = mFragment.getPreferenceControllers(mContext);
|
||||
final List<PreferenceController> controllers =
|
||||
mFragment.getPreferenceControllers(mActivity);
|
||||
|
||||
assertThat(controllers.isEmpty()).isFalse();
|
||||
}
|
||||
@@ -152,6 +154,29 @@ public class LanguageAndInputSettingsTest {
|
||||
verify(loader).setSummary(provider, null);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Config(shadows = {
|
||||
ShadowSecureSettings.class,
|
||||
})
|
||||
public void testSummary_assistSupported_shouldSetToAssistGestureStatus() {
|
||||
final FakeFeatureFactory featureFactory =
|
||||
(FakeFeatureFactory) FakeFeatureFactory.getFactory(mActivity);
|
||||
when(featureFactory.assistGestureFeatureProvider.isSupported(any(Context.class)))
|
||||
.thenReturn(true);
|
||||
|
||||
final SummaryLoader loader = mock(SummaryLoader.class);
|
||||
SummaryLoader.SummaryProvider provider = mFragment.SUMMARY_PROVIDER_FACTORY
|
||||
.createSummaryProvider(mActivity, loader);
|
||||
|
||||
ShadowSecureSettings.putInt(null, Settings.Secure.ASSIST_GESTURE_ENABLED, 0);
|
||||
provider.setListening(true);
|
||||
verify(mActivity).getString(R.string.language_input_gesture_summary_off);
|
||||
|
||||
ShadowSecureSettings.putInt(null, Settings.Secure.ASSIST_GESTURE_ENABLED, 1);
|
||||
provider.setListening(true);
|
||||
verify(mActivity).getString(R.string.language_input_gesture_summary_on_with_assist);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNonIndexableKeys_existInXmlLayout() {
|
||||
final Context context = spy(RuntimeEnvironment.application);
|
||||
|
Reference in New Issue
Block a user