From aa721c4783616e65a42fb5f234f2b3909ccdd931 Mon Sep 17 00:00:00 2001
From: "Tadashi G. Takaoka" <takaoka@google.com>
Date: Fri, 18 Feb 2011 11:28:17 +0900
Subject: [PATCH] Add "enabled" as an attribute of Key in Keyboard xml

If the key is marked as "enabled=false", the key will not respond to be pressed.

Bug: 3384942
Change-Id: I1ea82d9f3dfa5a9916ff3bbc736ea7e6c77426ae
---
 java/res/values/attrs.xml                          | 2 ++
 java/src/com/android/inputmethod/keyboard/Key.java | 3 ++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index 9759e0eb64..b6d5fdc626 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -140,6 +140,8 @@
         <attr name="keyStyle" format="string" />
         <!-- Shift key icon for shifted state -->
         <attr name="shiftedIcon" format="reference" />
+        <!-- The key is enabled and responds on press. -->
+        <attr name="enabled" format="boolean" />
     </declare-styleable>
 
     <declare-styleable name="Keyboard_Row">
diff --git a/java/src/com/android/inputmethod/keyboard/Key.java b/java/src/com/android/inputmethod/keyboard/Key.java
index 23886ad97c..7396f0518f 100644
--- a/java/src/com/android/inputmethod/keyboard/Key.java
+++ b/java/src/com/android/inputmethod/keyboard/Key.java
@@ -95,7 +95,7 @@ public class Key {
     public boolean mPressed;
     /** If this is a sticky key, is it on? */
     public boolean mOn;
-    /** Key is enabled or not. */
+    /** Key is enabled and responds on press */
     public boolean mEnabled = true;
 
     private final static int[] KEY_STATE_NORMAL_ON = {
@@ -226,6 +226,7 @@ public class Key {
             mRepeatable = style.getBoolean(keyAttr, R.styleable.Keyboard_Key_isRepeatable, false);
             mModifier = style.getBoolean(keyAttr, R.styleable.Keyboard_Key_isModifier, false);
             mSticky = style.getBoolean(keyAttr, R.styleable.Keyboard_Key_isSticky, false);
+            mEnabled = style.getBoolean(keyAttr, R.styleable.Keyboard_Key_enabled, true);
             mEdgeFlags = style.getFlag(keyAttr, R.styleable.Keyboard_Key_keyEdgeFlags, 0)
                     | row.mRowEdgeFlags;
 
-- 
GitLab