Don't load keyboard layout overlay for virtual keyboard.

Bug: 6110399
Change-Id: I07c85cf991790ed8766b097acc39295a8065a5ea
diff --git a/services/input/EventHub.cpp b/services/input/EventHub.cpp
index 326dc32..6ec020c 100644
--- a/services/input/EventHub.cpp
+++ b/services/input/EventHub.cpp
@@ -1465,6 +1465,8 @@
                     device->keyMap.keyCharacterMapFile.string());
             dump.appendFormat(INDENT3 "ConfigurationFile: %s\n",
                     device->configurationFile.string());
+            dump.appendFormat(INDENT3 "HaveKeyboardLayoutOverlay: %s\n",
+                    toString(device->overlayKeyMap != NULL));
         }
     } // release lock
 }
diff --git a/services/input/InputReader.cpp b/services/input/InputReader.cpp
index 95e56bf..4cc3d44 100644
--- a/services/input/InputReader.cpp
+++ b/services/input/InputReader.cpp
@@ -963,10 +963,12 @@
         }
 
         if (!changes || (changes & InputReaderConfiguration::CHANGE_KEYBOARD_LAYOUTS)) {
-            sp<KeyCharacterMap> keyboardLayout =
-                    mContext->getPolicy()->getKeyboardLayoutOverlay(mIdentifier.descriptor);
-            if (mContext->getEventHub()->setKeyboardLayoutOverlay(mId, keyboardLayout)) {
-                bumpGeneration();
+            if (!(mClasses & INPUT_DEVICE_CLASS_VIRTUAL)) {
+                sp<KeyCharacterMap> keyboardLayout =
+                        mContext->getPolicy()->getKeyboardLayoutOverlay(mIdentifier.descriptor);
+                if (mContext->getEventHub()->setKeyboardLayoutOverlay(mId, keyboardLayout)) {
+                    bumpGeneration();
+                }
             }
         }