Merge "Long pressing mic/comma key will show settings menue" into gingerbread
diff --git a/java/res/drawable-mdpi/keyboard_dark_background.9.png b/java/res/drawable-mdpi/keyboard_dark_background.9.png
index a2136f7..4f81704 100644
--- a/java/res/drawable-mdpi/keyboard_dark_background.9.png
+++ b/java/res/drawable-mdpi/keyboard_dark_background.9.png
Binary files differ
diff --git a/java/res/layout/keyboard_popup.xml b/java/res/layout/keyboard_popup.xml
index c6594f6..8d64bab 100644
--- a/java/res/layout/keyboard_popup.xml
+++ b/java/res/layout/keyboard_popup.xml
@@ -32,7 +32,7 @@
             android:layout_alignParentBottom="true"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:background="@drawable/keyboard_dark_background"
+            android:background="@drawable/btn_keyboard_key_gingerbread_popup"
 
             latin:keyBackground="@drawable/btn_keyboard_key_gingerbread_popup"
             latin:keyHysteresisDistance="0dip"
diff --git a/java/src/com/android/inputmethod/latin/CandidateView.java b/java/src/com/android/inputmethod/latin/CandidateView.java
index 56f9ba2..89afd16 100755
--- a/java/src/com/android/inputmethod/latin/CandidateView.java
+++ b/java/src/com/android/inputmethod/latin/CandidateView.java
@@ -24,8 +24,6 @@
 import android.graphics.Rect;
 import android.graphics.Typeface;
 import android.graphics.drawable.Drawable;
-import android.os.Handler;
-import android.os.Message;
 import android.util.AttributeSet;
 import android.view.GestureDetector;
 import android.view.Gravity;
@@ -59,7 +57,6 @@
 
     private final TextView mPreviewText;
     private final PopupWindow mPreviewPopup;
-    private final int mDelayAfterPreview;
     private int mCurrentWordIndex;
     private Drawable mDivider;
     
@@ -90,29 +87,6 @@
     
     private final GestureDetector mGestureDetector;
 
-    private final UIHandler mHandler = new UIHandler();
-
-    private class UIHandler extends Handler {
-        private static final int MSG_DISMISS_PREVIEW = 1;
-
-        @Override
-        public void handleMessage(Message msg) {
-            switch (msg.what) {
-                case MSG_DISMISS_PREVIEW:
-                    mPreviewPopup.dismiss();
-                    break;
-            }
-        }
-
-        public void dismissPreview(long delay) {
-            sendMessageDelayed(obtainMessage(MSG_DISMISS_PREVIEW), delay);
-        }
-
-        public void cancelDismissPreview() {
-            removeMessages(MSG_DISMISS_PREVIEW);
-        }
-    }
-
     /**
      * Construct a CandidateView for showing suggested words for completion.
      * @param context
@@ -133,7 +107,6 @@
         mPreviewPopup.setContentView(mPreviewText);
         mPreviewPopup.setBackgroundDrawable(null);
         mPreviewPopup.setAnimationStyle(R.style.KeyPreviewAnimation);
-        mDelayAfterPreview = res.getInteger(R.integer.config_delay_after_preview);
         mColorNormal = res.getColor(R.color.candidate_normal);
         mColorRecommended = res.getColor(R.color.candidate_recommended);
         mColorOther = res.getColor(R.color.candidate_other);
@@ -394,7 +367,6 @@
         invalidate();
         Arrays.fill(mWordWidth, 0);
         Arrays.fill(mWordX, 0);
-        mPreviewPopup.dismiss();
     }
     
     @Override
@@ -448,8 +420,9 @@
             }
             mSelectedString = null;
             mSelectedIndex = -1;
-            removeHighlight();
             requestLayout();
+            hidePreview();
+            invalidate();
             break;
         }
         return true;
@@ -468,7 +441,6 @@
             if (wordIndex == OUT_OF_BOUNDS) {
                 hidePreview();
             } else {
-                mHandler.cancelDismissPreview();
                 CharSequence word = altText != null? altText : mSuggestions.get(wordIndex);
                 mPreviewText.setText(word);
                 mPreviewText.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), 
@@ -496,18 +468,12 @@
             }
         }
     }
-    
-    private void removeHighlight() {
-        mTouchX = OUT_OF_BOUNDS;
-        invalidate();
-    }
-    
+
     private void longPressFirstWord() {
         CharSequence word = mSuggestions.get(0);
         if (word.length() < 2) return;
         if (mService.addWordToDictionary(word.toString())) {
             showPreview(0, getContext().getResources().getString(R.string.added_word, word));
-            mHandler.dismissPreview(mDelayAfterPreview);
         }
     }