Clear applied layout overlay if new layout overlay is null.
Need to allow resetting of key character map by setting overlay
map to null. This is required when moving from a IME setting
that has a KCM to another IME setting that has none.
Test: atest KeyboardLayoutChangeTest
Bug: 20805588
Change-Id: I62dc65970b61628486aff698a8ab8ccb31c109d6
diff --git a/libs/input/KeyCharacterMap.cpp b/libs/input/KeyCharacterMap.cpp
index fa5c41f..6bfac40 100644
--- a/libs/input/KeyCharacterMap.cpp
+++ b/libs/input/KeyCharacterMap.cpp
@@ -255,6 +255,13 @@
mLayoutOverlayApplied = true;
}
+void KeyCharacterMap::clearLayoutOverlay() {
+ if (mLayoutOverlayApplied) {
+ reloadBaseFromFile();
+ mLayoutOverlayApplied = false;
+ }
+}
+
KeyCharacterMap::KeyboardType KeyCharacterMap::getKeyboardType() const {
return mType;
}