Merge "Update switch bar summary for spell checker page" into pi-dev

This commit is contained in:
TreeHugger Robot
2018-03-20 02:58:38 +00:00
committed by Android (Google) Code Review
3 changed files with 75 additions and 5 deletions

View File

@@ -8889,6 +8889,9 @@
<!-- [CHAR LIMIT=30] Title for dialog for setting to control the default spell checker -->
<string name="choose_spell_checker">Choose spell checker</string>
<!-- [CHAR LIMIT=45] Title for the master switch for spell checker, turning off will disable entire spell check feature. -->
<string name="spell_checker_master_switch_title">Use spell checker</string>
<!-- [CHAR LIMIT=30] Label for the placeholder of the current spell checker name. Used when no spell checker is currently selected. -->
<string name="spell_checker_not_selected">Not selected</string>

View File

@@ -92,7 +92,10 @@ public class SpellCheckersSettings extends SettingsPreferenceFragment
@Override
public void onResume() {
super.onResume();
mSwitchBar = ((SettingsActivity)getActivity()).getSwitchBar();
mSwitchBar = ((SettingsActivity) getActivity()).getSwitchBar();
mSwitchBar.setSwitchBarText(
R.string.spell_checker_master_switch_title,
R.string.spell_checker_master_switch_title);
mSwitchBar.show();
mSwitchBar.addOnSwitchChangeListener(this);
updatePreferenceScreen();
@@ -131,7 +134,7 @@ public class SpellCheckersSettings extends SettingsPreferenceFragment
final Preference preference = screen.getPreference(index);
preference.setEnabled(isSpellCheckerEnabled);
if (preference instanceof SpellCheckerPreference) {
final SpellCheckerPreference pref = (SpellCheckerPreference)preference;
final SpellCheckerPreference pref = (SpellCheckerPreference) preference;
pref.setSelected(mCurrentSci);
}
}
@@ -173,8 +176,13 @@ public class SpellCheckersSettings extends SettingsPreferenceFragment
}
}
private static int convertSubtypeIndexToDialogItemId(final int index) { return index + 1; }
private static int convertDialogItemIdToSubtypeIndex(final int item) { return item - 1; }
private static int convertSubtypeIndexToDialogItemId(final int index) {
return index + 1;
}
private static int convertDialogItemIdToSubtypeIndex(final int item) {
return item - 1;
}
private void showChooseLanguageDialog() {
if (mDialog != null && mDialog.isShowing()) {
@@ -191,7 +199,7 @@ public class SpellCheckersSettings extends SettingsPreferenceFragment
final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(R.string.phone_language);
final int subtypeCount = currentSci.getSubtypeCount();
final CharSequence[] items = new CharSequence[subtypeCount + 1 /* default */ ];
final CharSequence[] items = new CharSequence[subtypeCount + 1 /* default */];
items[ITEM_ID_USE_SYSTEM_LANGUAGE] = getSpellCheckerSubtypeLabel(currentSci, null);
int checkedItemId = ITEM_ID_USE_SYSTEM_LANGUAGE;
for (int index = 0; index < subtypeCount; ++index) {

View File

@@ -0,0 +1,59 @@
/*
* Copyright (C) 2018 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.settings.ui.inputmethods;
import static com.android.settings.ui.testutils.SettingsTestUtils.TIMEOUT;
import static com.google.common.truth.Truth.assertThat;
import android.app.Instrumentation;
import android.content.Intent;
import android.support.test.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4;
import android.support.test.uiautomator.By;
import android.support.test.uiautomator.UiDevice;
import android.support.test.uiautomator.UiObject2;
import android.support.test.uiautomator.Until;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@RunWith(AndroidJUnit4.class)
public class SpellCheckerSettingsUITest {
private Instrumentation mInstrumentation;
private Intent mIntent;
private UiDevice mUiDevice;
@Before
public void setUp() {
mInstrumentation = InstrumentationRegistry.getInstrumentation();
mUiDevice = UiDevice.getInstance(mInstrumentation);
mIntent = new Intent().setClassName("com.android.settings",
"com.android.settings.Settings$SpellCheckersSettingsActivity")
.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
}
@Test
public void launchSettings_hasSwitchBar() {
mInstrumentation.getContext().startActivity(mIntent);
final UiObject2 switchBar =
mUiDevice.wait(Until.findObject(By.text("Use spell checker")), TIMEOUT);
assertThat(switchBar).isNotNull();
}
}