Merge "Logging for fields added in KeyboardConfigured atom" into udc-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
32df97b049
@@ -47,4 +47,8 @@ message KeyboardLayoutConfig {
|
|||||||
// IntDef annotation at:
|
// IntDef annotation at:
|
||||||
// services/core/java/com/android/server/input/KeyboardMetricsCollector.java
|
// services/core/java/com/android/server/input/KeyboardMetricsCollector.java
|
||||||
optional int32 layout_selection_criteria = 4;
|
optional int32 layout_selection_criteria = 4;
|
||||||
|
// Keyboard layout type provided by IME
|
||||||
|
optional int32 ime_layout_type = 5;
|
||||||
|
// Language tag provided by IME (e.g. en-US, ru-Cyrl etc.)
|
||||||
|
optional string ime_language_tag = 6;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package com.android.server.input;
|
package com.android.server.input;
|
||||||
|
|
||||||
|
import static com.android.server.input.KeyboardMetricsCollector.LAYOUT_SELECTION_CRITERIA_DEFAULT;
|
||||||
import static com.android.server.input.KeyboardMetricsCollector.LAYOUT_SELECTION_CRITERIA_DEVICE;
|
import static com.android.server.input.KeyboardMetricsCollector.LAYOUT_SELECTION_CRITERIA_DEVICE;
|
||||||
import static com.android.server.input.KeyboardMetricsCollector.LAYOUT_SELECTION_CRITERIA_USER;
|
import static com.android.server.input.KeyboardMetricsCollector.LAYOUT_SELECTION_CRITERIA_USER;
|
||||||
import static com.android.server.input.KeyboardMetricsCollector.LAYOUT_SELECTION_CRITERIA_VIRTUAL_KEYBOARD;
|
import static com.android.server.input.KeyboardMetricsCollector.LAYOUT_SELECTION_CRITERIA_VIRTUAL_KEYBOARD;
|
||||||
@@ -1272,7 +1273,7 @@ final class KeyboardLayoutManager implements InputManager.InputDeviceListener {
|
|||||||
boolean noLayoutFound = layoutInfo == null || layoutInfo.mDescriptor == null;
|
boolean noLayoutFound = layoutInfo == null || layoutInfo.mDescriptor == null;
|
||||||
configurationEventBuilder.addLayoutSelection(imeInfoList.get(i).mImeSubtype,
|
configurationEventBuilder.addLayoutSelection(imeInfoList.get(i).mImeSubtype,
|
||||||
noLayoutFound ? null : getKeyboardLayout(layoutInfo.mDescriptor),
|
noLayoutFound ? null : getKeyboardLayout(layoutInfo.mDescriptor),
|
||||||
noLayoutFound ? LAYOUT_SELECTION_CRITERIA_VIRTUAL_KEYBOARD
|
noLayoutFound ? LAYOUT_SELECTION_CRITERIA_DEFAULT
|
||||||
: layoutInfo.mSelectionCriteria);
|
: layoutInfo.mSelectionCriteria);
|
||||||
}
|
}
|
||||||
KeyboardMetricsCollector.logKeyboardConfiguredAtom(configurationEventBuilder.build());
|
KeyboardMetricsCollector.logKeyboardConfiguredAtom(configurationEventBuilder.build());
|
||||||
|
|||||||
@@ -53,7 +53,8 @@ public final class KeyboardMetricsCollector {
|
|||||||
@IntDef(prefix = { "LAYOUT_SELECTION_CRITERIA_" }, value = {
|
@IntDef(prefix = { "LAYOUT_SELECTION_CRITERIA_" }, value = {
|
||||||
LAYOUT_SELECTION_CRITERIA_USER,
|
LAYOUT_SELECTION_CRITERIA_USER,
|
||||||
LAYOUT_SELECTION_CRITERIA_DEVICE,
|
LAYOUT_SELECTION_CRITERIA_DEVICE,
|
||||||
LAYOUT_SELECTION_CRITERIA_VIRTUAL_KEYBOARD
|
LAYOUT_SELECTION_CRITERIA_VIRTUAL_KEYBOARD,
|
||||||
|
LAYOUT_SELECTION_CRITERIA_DEFAULT
|
||||||
})
|
})
|
||||||
public @interface LayoutSelectionCriteria {}
|
public @interface LayoutSelectionCriteria {}
|
||||||
|
|
||||||
@@ -66,9 +67,15 @@ public final class KeyboardMetricsCollector {
|
|||||||
/** Auto-detection based on IME provided language tag and layout type */
|
/** Auto-detection based on IME provided language tag and layout type */
|
||||||
public static final int LAYOUT_SELECTION_CRITERIA_VIRTUAL_KEYBOARD = 2;
|
public static final int LAYOUT_SELECTION_CRITERIA_VIRTUAL_KEYBOARD = 2;
|
||||||
|
|
||||||
|
/** Default selection */
|
||||||
|
public static final int LAYOUT_SELECTION_CRITERIA_DEFAULT = 3;
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
static final String DEFAULT_LAYOUT = "Default";
|
static final String DEFAULT_LAYOUT = "Default";
|
||||||
|
|
||||||
|
@VisibleForTesting
|
||||||
|
static final String DEFAULT_LANGUAGE_TAG = "None";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Log keyboard system shortcuts for the proto
|
* Log keyboard system shortcuts for the proto
|
||||||
* {@link com.android.os.input.KeyboardSystemsEventReported}
|
* {@link com.android.os.input.KeyboardSystemsEventReported}
|
||||||
@@ -131,6 +138,10 @@ public final class KeyboardMetricsCollector {
|
|||||||
layoutConfiguration.keyboardLayoutName);
|
layoutConfiguration.keyboardLayoutName);
|
||||||
proto.write(KeyboardLayoutConfig.LAYOUT_SELECTION_CRITERIA,
|
proto.write(KeyboardLayoutConfig.LAYOUT_SELECTION_CRITERIA,
|
||||||
layoutConfiguration.layoutSelectionCriteria);
|
layoutConfiguration.layoutSelectionCriteria);
|
||||||
|
proto.write(KeyboardLayoutConfig.IME_LANGUAGE_TAG,
|
||||||
|
layoutConfiguration.imeLanguageTag);
|
||||||
|
proto.write(KeyboardLayoutConfig.IME_LAYOUT_TYPE,
|
||||||
|
layoutConfiguration.imeLayoutType);
|
||||||
proto.end(keyboardLayoutConfigToken);
|
proto.end(keyboardLayoutConfigToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -231,27 +242,29 @@ public final class KeyboardMetricsCollector {
|
|||||||
@LayoutSelectionCriteria int layoutSelectionCriteria =
|
@LayoutSelectionCriteria int layoutSelectionCriteria =
|
||||||
mLayoutSelectionCriteriaList.get(i);
|
mLayoutSelectionCriteriaList.get(i);
|
||||||
InputMethodSubtype imeSubtype = mImeSubtypeList.get(i);
|
InputMethodSubtype imeSubtype = mImeSubtypeList.get(i);
|
||||||
String keyboardLanguageTag;
|
String keyboardLanguageTag = mInputDevice.getKeyboardLanguageTag();
|
||||||
String keyboardLayoutStringType;
|
keyboardLanguageTag = keyboardLanguageTag == null ? DEFAULT_LANGUAGE_TAG
|
||||||
if (layoutSelectionCriteria == LAYOUT_SELECTION_CRITERIA_DEVICE) {
|
: keyboardLanguageTag;
|
||||||
keyboardLanguageTag = mInputDevice.getKeyboardLanguageTag();
|
int keyboardLayoutType = KeyboardLayout.LayoutType.getLayoutTypeEnumValue(
|
||||||
keyboardLayoutStringType = mInputDevice.getKeyboardLayoutType();
|
mInputDevice.getKeyboardLayoutType());
|
||||||
} else {
|
|
||||||
ULocale pkLocale = imeSubtype.getPhysicalKeyboardHintLanguageTag();
|
ULocale pkLocale = imeSubtype.getPhysicalKeyboardHintLanguageTag();
|
||||||
keyboardLanguageTag = pkLocale != null ? pkLocale.toLanguageTag()
|
String canonicalizedLanguageTag =
|
||||||
: imeSubtype.getCanonicalizedLanguageTag();
|
imeSubtype.getCanonicalizedLanguageTag().equals("")
|
||||||
keyboardLayoutStringType = imeSubtype.getPhysicalKeyboardHintLayoutType();
|
? DEFAULT_LANGUAGE_TAG : imeSubtype.getCanonicalizedLanguageTag();
|
||||||
}
|
String imeLanguageTag = pkLocale != null ? pkLocale.toLanguageTag()
|
||||||
|
: canonicalizedLanguageTag;
|
||||||
|
int imeLayoutType = KeyboardLayout.LayoutType.getLayoutTypeEnumValue(
|
||||||
|
imeSubtype.getPhysicalKeyboardHintLayoutType());
|
||||||
|
|
||||||
// Sanitize null values
|
// Sanitize null values
|
||||||
String keyboardLayoutName =
|
String keyboardLayoutName =
|
||||||
selectedLayout == null ? DEFAULT_LAYOUT : selectedLayout.getLabel();
|
selectedLayout == null ? DEFAULT_LAYOUT : selectedLayout.getLabel();
|
||||||
keyboardLanguageTag = keyboardLanguageTag == null ? "" : keyboardLanguageTag;
|
|
||||||
int keyboardLayoutType = KeyboardLayout.LayoutType.getLayoutTypeEnumValue(
|
|
||||||
keyboardLayoutStringType);
|
|
||||||
|
|
||||||
configurationList.add(
|
configurationList.add(
|
||||||
new LayoutConfiguration(keyboardLayoutType, keyboardLanguageTag,
|
new LayoutConfiguration(keyboardLayoutType, keyboardLanguageTag,
|
||||||
keyboardLayoutName, layoutSelectionCriteria));
|
keyboardLayoutName, layoutSelectionCriteria,
|
||||||
|
imeLayoutType, imeLanguageTag));
|
||||||
}
|
}
|
||||||
return new KeyboardConfigurationEvent(mInputDevice, mIsFirstConfiguration,
|
return new KeyboardConfigurationEvent(mInputDevice, mIsFirstConfiguration,
|
||||||
configurationList);
|
configurationList);
|
||||||
@@ -267,13 +280,18 @@ public final class KeyboardMetricsCollector {
|
|||||||
public final String keyboardLayoutName;
|
public final String keyboardLayoutName;
|
||||||
@LayoutSelectionCriteria
|
@LayoutSelectionCriteria
|
||||||
public final int layoutSelectionCriteria;
|
public final int layoutSelectionCriteria;
|
||||||
|
public final int imeLayoutType;
|
||||||
|
public final String imeLanguageTag;
|
||||||
|
|
||||||
private LayoutConfiguration(int keyboardLayoutType, String keyboardLanguageTag,
|
private LayoutConfiguration(int keyboardLayoutType, String keyboardLanguageTag,
|
||||||
String keyboardLayoutName, @LayoutSelectionCriteria int layoutSelectionCriteria) {
|
String keyboardLayoutName, @LayoutSelectionCriteria int layoutSelectionCriteria,
|
||||||
|
int imeLayoutType, String imeLanguageTag) {
|
||||||
this.keyboardLayoutType = keyboardLayoutType;
|
this.keyboardLayoutType = keyboardLayoutType;
|
||||||
this.keyboardLanguageTag = keyboardLanguageTag;
|
this.keyboardLanguageTag = keyboardLanguageTag;
|
||||||
this.keyboardLayoutName = keyboardLayoutName;
|
this.keyboardLayoutName = keyboardLayoutName;
|
||||||
this.layoutSelectionCriteria = layoutSelectionCriteria;
|
this.layoutSelectionCriteria = layoutSelectionCriteria;
|
||||||
|
this.imeLayoutType = imeLayoutType;
|
||||||
|
this.imeLanguageTag = imeLanguageTag;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -281,7 +299,9 @@ public final class KeyboardMetricsCollector {
|
|||||||
return "{keyboardLanguageTag = " + keyboardLanguageTag + " keyboardLayoutType = "
|
return "{keyboardLanguageTag = " + keyboardLanguageTag + " keyboardLayoutType = "
|
||||||
+ KeyboardLayout.LayoutType.getLayoutNameFromValue(keyboardLayoutType)
|
+ KeyboardLayout.LayoutType.getLayoutNameFromValue(keyboardLayoutType)
|
||||||
+ " keyboardLayoutName = " + keyboardLayoutName + " layoutSelectionCriteria = "
|
+ " keyboardLayoutName = " + keyboardLayoutName + " layoutSelectionCriteria = "
|
||||||
+ getStringForSelectionCriteria(layoutSelectionCriteria) + "}";
|
+ getStringForSelectionCriteria(layoutSelectionCriteria)
|
||||||
|
+ "imeLanguageTag = " + imeLanguageTag + " imeLayoutType = "
|
||||||
|
+ KeyboardLayout.LayoutType.getLayoutNameFromValue(imeLayoutType) + "}";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -294,6 +314,8 @@ public final class KeyboardMetricsCollector {
|
|||||||
return "LAYOUT_SELECTION_CRITERIA_DEVICE";
|
return "LAYOUT_SELECTION_CRITERIA_DEVICE";
|
||||||
case LAYOUT_SELECTION_CRITERIA_VIRTUAL_KEYBOARD:
|
case LAYOUT_SELECTION_CRITERIA_VIRTUAL_KEYBOARD:
|
||||||
return "LAYOUT_SELECTION_CRITERIA_VIRTUAL_KEYBOARD";
|
return "LAYOUT_SELECTION_CRITERIA_VIRTUAL_KEYBOARD";
|
||||||
|
case LAYOUT_SELECTION_CRITERIA_DEFAULT:
|
||||||
|
return "LAYOUT_SELECTION_CRITERIA_DEFAULT";
|
||||||
default:
|
default:
|
||||||
return "INVALID_CRITERIA";
|
return "INVALID_CRITERIA";
|
||||||
}
|
}
|
||||||
@@ -302,7 +324,8 @@ public final class KeyboardMetricsCollector {
|
|||||||
private static boolean isValidSelectionCriteria(int layoutSelectionCriteria) {
|
private static boolean isValidSelectionCriteria(int layoutSelectionCriteria) {
|
||||||
return layoutSelectionCriteria == LAYOUT_SELECTION_CRITERIA_USER
|
return layoutSelectionCriteria == LAYOUT_SELECTION_CRITERIA_USER
|
||||||
|| layoutSelectionCriteria == LAYOUT_SELECTION_CRITERIA_DEVICE
|
|| layoutSelectionCriteria == LAYOUT_SELECTION_CRITERIA_DEVICE
|
||||||
|| layoutSelectionCriteria == LAYOUT_SELECTION_CRITERIA_VIRTUAL_KEYBOARD;
|
|| layoutSelectionCriteria == LAYOUT_SELECTION_CRITERIA_VIRTUAL_KEYBOARD
|
||||||
|
|| layoutSelectionCriteria == LAYOUT_SELECTION_CRITERIA_DEFAULT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -48,11 +48,11 @@ private fun createKeyboard(
|
|||||||
|
|
||||||
private fun createImeSubtype(
|
private fun createImeSubtype(
|
||||||
imeSubtypeId: Int,
|
imeSubtypeId: Int,
|
||||||
languageTag: String,
|
languageTag: ULocale?,
|
||||||
layoutType: String
|
layoutType: String
|
||||||
): InputMethodSubtype =
|
): InputMethodSubtype =
|
||||||
InputMethodSubtype.InputMethodSubtypeBuilder().setSubtypeId(imeSubtypeId)
|
InputMethodSubtype.InputMethodSubtypeBuilder().setSubtypeId(imeSubtypeId)
|
||||||
.setPhysicalKeyboardHint(ULocale.forLanguageTag(languageTag), layoutType).build()
|
.setPhysicalKeyboardHint(languageTag, layoutType).build()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests for {@link KeyboardMetricsCollector}.
|
* Tests for {@link KeyboardMetricsCollector}.
|
||||||
@@ -95,7 +95,8 @@ class KeyboardMetricsCollectorTests {
|
|||||||
null,
|
null,
|
||||||
null
|
null
|
||||||
)
|
)
|
||||||
).addLayoutSelection(createImeSubtype(1, "en-US", "qwerty"), null, 123).build()
|
).addLayoutSelection(createImeSubtype(1, ULocale.forLanguageTag("en-US"), "qwerty"),
|
||||||
|
null, 123).build()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -111,15 +112,19 @@ class KeyboardMetricsCollectorTests {
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
val event = builder.addLayoutSelection(
|
val event = builder.addLayoutSelection(
|
||||||
createImeSubtype(1, "en-US", "qwerty"),
|
createImeSubtype(1, ULocale.forLanguageTag("en-US"), "qwerty"),
|
||||||
KeyboardLayout(null, "English(US)(Qwerty)", null, 0, null, 0, 0, 0),
|
KeyboardLayout(null, "English(US)(Qwerty)", null, 0, null, 0, 0, 0),
|
||||||
KeyboardMetricsCollector.LAYOUT_SELECTION_CRITERIA_VIRTUAL_KEYBOARD
|
KeyboardMetricsCollector.LAYOUT_SELECTION_CRITERIA_VIRTUAL_KEYBOARD
|
||||||
).addLayoutSelection(
|
).addLayoutSelection(
|
||||||
createImeSubtype(2, "en-US", "azerty"),
|
createImeSubtype(2, ULocale.forLanguageTag("en-US"), "azerty"),
|
||||||
null,
|
null, // Default layout type
|
||||||
KeyboardMetricsCollector.LAYOUT_SELECTION_CRITERIA_USER
|
KeyboardMetricsCollector.LAYOUT_SELECTION_CRITERIA_USER
|
||||||
).addLayoutSelection(
|
).addLayoutSelection(
|
||||||
createImeSubtype(3, "en-US", "qwerty"),
|
createImeSubtype(3, ULocale.forLanguageTag("en-US"), "qwerty"),
|
||||||
|
KeyboardLayout(null, "German", null, 0, null, 0, 0, 0),
|
||||||
|
KeyboardMetricsCollector.LAYOUT_SELECTION_CRITERIA_DEVICE
|
||||||
|
).addLayoutSelection(
|
||||||
|
createImeSubtype(4, null, "qwerty"), // Default language tag
|
||||||
KeyboardLayout(null, "German", null, 0, null, 0, 0, 0),
|
KeyboardLayout(null, "German", null, 0, null, 0, 0, 0),
|
||||||
KeyboardMetricsCollector.LAYOUT_SELECTION_CRITERIA_DEVICE
|
KeyboardMetricsCollector.LAYOUT_SELECTION_CRITERIA_DEVICE
|
||||||
).setIsFirstTimeConfiguration(true).build()
|
).setIsFirstTimeConfiguration(true).build()
|
||||||
@@ -137,43 +142,62 @@ class KeyboardMetricsCollectorTests {
|
|||||||
assertTrue(event.isFirstConfiguration)
|
assertTrue(event.isFirstConfiguration)
|
||||||
|
|
||||||
assertEquals(
|
assertEquals(
|
||||||
"KeyboardConfigurationEvent should contain 3 configurations provided",
|
"KeyboardConfigurationEvent should contain 4 configurations provided",
|
||||||
3,
|
4,
|
||||||
event.layoutConfigurations.size
|
event.layoutConfigurations.size
|
||||||
)
|
)
|
||||||
assertExpectedLayoutConfiguration(
|
assertExpectedLayoutConfiguration(
|
||||||
event.layoutConfigurations[0],
|
event.layoutConfigurations[0],
|
||||||
|
"de-CH",
|
||||||
|
KeyboardLayout.LayoutType.getLayoutTypeEnumValue("qwertz"),
|
||||||
|
"English(US)(Qwerty)",
|
||||||
|
KeyboardMetricsCollector.LAYOUT_SELECTION_CRITERIA_VIRTUAL_KEYBOARD,
|
||||||
"en-US",
|
"en-US",
|
||||||
KeyboardLayout.LayoutType.getLayoutTypeEnumValue("qwerty"),
|
KeyboardLayout.LayoutType.getLayoutTypeEnumValue("qwerty"),
|
||||||
"English(US)(Qwerty)",
|
|
||||||
KeyboardMetricsCollector.LAYOUT_SELECTION_CRITERIA_VIRTUAL_KEYBOARD
|
|
||||||
)
|
)
|
||||||
assertExpectedLayoutConfiguration(
|
assertExpectedLayoutConfiguration(
|
||||||
event.layoutConfigurations[1],
|
event.layoutConfigurations[1],
|
||||||
|
"de-CH",
|
||||||
|
KeyboardLayout.LayoutType.getLayoutTypeEnumValue("qwertz"),
|
||||||
|
KeyboardMetricsCollector.DEFAULT_LAYOUT,
|
||||||
|
KeyboardMetricsCollector.LAYOUT_SELECTION_CRITERIA_USER,
|
||||||
"en-US",
|
"en-US",
|
||||||
KeyboardLayout.LayoutType.getLayoutTypeEnumValue("azerty"),
|
KeyboardLayout.LayoutType.getLayoutTypeEnumValue("azerty"),
|
||||||
KeyboardMetricsCollector.DEFAULT_LAYOUT,
|
|
||||||
KeyboardMetricsCollector.LAYOUT_SELECTION_CRITERIA_USER
|
|
||||||
)
|
)
|
||||||
assertExpectedLayoutConfiguration(
|
assertExpectedLayoutConfiguration(
|
||||||
event.layoutConfigurations[2],
|
event.layoutConfigurations[2],
|
||||||
"de-CH",
|
"de-CH",
|
||||||
KeyboardLayout.LayoutType.getLayoutTypeEnumValue("qwertz"),
|
KeyboardLayout.LayoutType.getLayoutTypeEnumValue("qwertz"),
|
||||||
"German",
|
"German",
|
||||||
KeyboardMetricsCollector.LAYOUT_SELECTION_CRITERIA_DEVICE
|
KeyboardMetricsCollector.LAYOUT_SELECTION_CRITERIA_DEVICE,
|
||||||
|
"en-US",
|
||||||
|
KeyboardLayout.LayoutType.getLayoutTypeEnumValue("qwerty"),
|
||||||
|
)
|
||||||
|
assertExpectedLayoutConfiguration(
|
||||||
|
event.layoutConfigurations[3],
|
||||||
|
"de-CH",
|
||||||
|
KeyboardLayout.LayoutType.getLayoutTypeEnumValue("qwertz"),
|
||||||
|
"German",
|
||||||
|
KeyboardMetricsCollector.LAYOUT_SELECTION_CRITERIA_DEVICE,
|
||||||
|
KeyboardMetricsCollector.DEFAULT_LANGUAGE_TAG,
|
||||||
|
KeyboardLayout.LayoutType.getLayoutTypeEnumValue("qwerty"),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun assertExpectedLayoutConfiguration(
|
private fun assertExpectedLayoutConfiguration(
|
||||||
configuration: KeyboardMetricsCollector.LayoutConfiguration,
|
configuration: KeyboardMetricsCollector.LayoutConfiguration,
|
||||||
expectedLanguageTag: String,
|
expectedKeyboardLanguageTag: String,
|
||||||
expectedLayoutType: Int,
|
expectedKeyboardLayoutType: Int,
|
||||||
expectedSelectedLayout: String,
|
expectedSelectedLayout: String,
|
||||||
expectedLayoutSelectionCriteria: Int
|
expectedLayoutSelectionCriteria: Int,
|
||||||
|
expectedImeLanguageTag: String,
|
||||||
|
expectedImeLayoutType: Int
|
||||||
) {
|
) {
|
||||||
assertEquals(expectedLanguageTag, configuration.keyboardLanguageTag)
|
assertEquals(expectedKeyboardLanguageTag, configuration.keyboardLanguageTag)
|
||||||
assertEquals(expectedLayoutType, configuration.keyboardLayoutType)
|
assertEquals(expectedKeyboardLayoutType, configuration.keyboardLayoutType)
|
||||||
assertEquals(expectedSelectedLayout, configuration.keyboardLayoutName)
|
assertEquals(expectedSelectedLayout, configuration.keyboardLayoutName)
|
||||||
assertEquals(expectedLayoutSelectionCriteria, configuration.layoutSelectionCriteria)
|
assertEquals(expectedLayoutSelectionCriteria, configuration.layoutSelectionCriteria)
|
||||||
|
assertEquals(expectedImeLanguageTag, configuration.imeLanguageTag)
|
||||||
|
assertEquals(expectedImeLayoutType, configuration.imeLayoutType)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user