Remove spacebar preview and arrows

Change-Id: I07f1b7bbf222d90e95919304e82d7d054df2868d
diff --git a/java/res/drawable/transparent.xml b/java/res/drawable/transparent.xml
new file mode 100644
index 0000000..855cf2a
--- /dev/null
+++ b/java/res/drawable/transparent.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2011, 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.
+*/
+-->
+
+<shape
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle"
+>
+    <solid
+        android:color="@android:color/transparent" />
+    <size
+        android:width="50dp"
+        android:height="40dp" />
+</shape>
diff --git a/java/res/values/keyboard-icons-ics.xml b/java/res/values/keyboard-icons-ics.xml
index 3029695..1dfbdf9 100644
--- a/java/res/values/keyboard-icons-ics.xml
+++ b/java/res/values/keyboard-icons-ics.xml
@@ -60,7 +60,7 @@
         <item name="iconNum0Key">@drawable/sym_keyboard_num0</item>
 <!--         <item name="iconShiftedShiftKey">@drawable/sym_keyboard_shift_locked_holo</item> -->
         <item name="iconShiftedShiftKey">@drawable/sym_keyboard_shift_locked</item>
-        <item name="iconPreviewSpaceKey">@drawable/sym_keyboard_space_holo</item>
+        <item name="iconPreviewSpaceKey">@drawable/transparent</item>
 <!--         <item name="iconPreviewTabKey">@drawable/sym_keyboard_tab_holo</item> -->
         <item name="iconPreviewTabKey">@drawable/sym_keyboard_feedback_tab</item>
 <!--         <item name="iconPreviewSettingsKey">@drawable/sym_keyboard_settings_holo</item> -->
@@ -72,7 +72,7 @@
         <item name="disabledShortcutIcon">@drawable/sym_keyboard_voice_off_holo</item>
         <item name="spacebarArrowLeftIcon">@drawable/sym_keyboard_language_arrows_left</item>
         <item name="spacebarArrowRightIcon">@drawable/sym_keyboard_language_arrows_right</item>
-        <item name="spacebarArrowPreviewLeftIcon">@drawable/sym_keyboard_feedback_language_arrows_left</item>
-        <item name="spacebarArrowPreviewRightIcon">@drawable/sym_keyboard_feedback_language_arrows_right</item>
+<!--         <item name="spacebarArrowPreviewLeftIcon">@drawable/sym_keyboard_feedback_language_arrows_left</item> -->
+<!--         <item name="spacebarArrowPreviewRightIcon">@drawable/sym_keyboard_feedback_language_arrows_right</item> -->
     </style>
 </resources>
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
index 8d4bfd7..9dc019c 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
@@ -130,6 +130,7 @@
     // Key preview
     private boolean mInForeground;
     private TextView mPreviewText;
+    private Drawable mPreviewBackground;
     private float mPreviewTextRatio;
     private int mPreviewTextSize;
     private boolean mShowKeyPreviewPopup = true;
@@ -357,6 +358,7 @@
 
         if (previewLayout != 0) {
             mPreviewText = (TextView) LayoutInflater.from(context).inflate(previewLayout, null);
+            mPreviewBackground = mPreviewText.getBackground();
             mPreviewTextRatio = getRatio(res, R.fraction.key_preview_text_ratio);
         } else {
             mShowKeyPreviewPopup = false;
@@ -982,6 +984,11 @@
                    previewIcon != null ? previewIcon : key.getIcon());
             previewText.setText(null);
         }
+        if (key.mCode == Keyboard.CODE_SPACE) {
+            previewText.setBackgroundColor(Color.TRANSPARENT);
+        } else {
+            previewText.setBackgroundDrawable(mPreviewBackground);
+        }
         // Set the preview background state
         previewText.getBackground().setState(
                 key.mPopupCharacters != null ? LONG_PRESSABLE_STATE_SET : EMPTY_STATE_SET);
diff --git a/java/src/com/android/inputmethod/keyboard/internal/SlidingLocaleDrawable.java b/java/src/com/android/inputmethod/keyboard/internal/SlidingLocaleDrawable.java
index df4b575..f8c81ad 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/SlidingLocaleDrawable.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/SlidingLocaleDrawable.java
@@ -58,7 +58,7 @@
 
     public SlidingLocaleDrawable(Context context, Drawable background, int width, int height) {
         mBackground = background;
-        Keyboard.setDefaultBounds(mBackground);
+        Keyboard.setDefaultBounds(background);
         mWidth = width;
         mHeight = height;
         final TextPaint textPaint = new TextPaint();
@@ -68,7 +68,7 @@
         textPaint.setTextAlign(Align.CENTER);
         textPaint.setAntiAlias(true);
         mTextPaint = textPaint;
-        mMiddleX = (mWidth - mBackground.getIntrinsicWidth()) / 2;
+        mMiddleX = (background != null) ? (mWidth - mBackground.getIntrinsicWidth()) / 2 : 0;
 
         final TypedArray a = context.obtainStyledAttributes(
                 null, R.styleable.LatinKeyboard, R.attr.latinKeyboardStyle, R.style.LatinKeyboard);
@@ -119,11 +119,13 @@
             canvas.drawText(mNextLanguage, diff - width / 2, baseline, paint);
             canvas.drawText(mPrevLanguage, diff + width + width / 2, baseline, paint);
 
-            Keyboard.setDefaultBounds(lArrow);
-            rArrow.setBounds(width - rArrow.getIntrinsicWidth(), 0, width,
-                    rArrow.getIntrinsicHeight());
-            lArrow.draw(canvas);
-            rArrow.draw(canvas);
+            if (lArrow != null && rArrow != null) {
+                Keyboard.setDefaultBounds(lArrow);
+                rArrow.setBounds(width - rArrow.getIntrinsicWidth(), 0, width,
+                        rArrow.getIntrinsicHeight());
+                lArrow.draw(canvas);
+                rArrow.draw(canvas);
+            }
         }
         if (mBackground != null) {
             canvas.translate(mMiddleX, 0);