auto import from //branches/cupcake_rel/...@141571
diff --git a/res/drawable/dialog_bubble_step02.9.png b/res/drawable/dialog_bubble_step02.9.png
index d77f85f..62386f2 100755
--- a/res/drawable/dialog_bubble_step02.9.png
+++ b/res/drawable/dialog_bubble_step02.9.png
Binary files differ
diff --git a/res/layout/bubble_text.xml b/res/layout/bubble_text.xml
index af8abce..eae3ab6 100644
--- a/res/layout/bubble_text.xml
+++ b/res/layout/bubble_text.xml
@@ -24,4 +24,5 @@
     android:textSize="14sp"
     android:textColor="?android:attr/textColorPrimary"
     android:minWidth="32dip"
+    android:gravity="center"
     />
diff --git a/res/values-cs/donottranslate.xml b/res/values-cs/donottranslate.xml
new file mode 100644
index 0000000..4143138
--- /dev/null
+++ b/res/values-cs/donottranslate.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2009, 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.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- Accented characters related to "d" -->
+    <string name="alternates_for_d">ď</string>
+    <!-- Accented characters related to "r" -->
+    <string name="alternates_for_r">ř</string>
+    <!-- Accented characters related to "t" -->
+    <string name="alternates_for_t">ť</string>
+</resources>
diff --git a/res/values/donottranslate.xml b/res/values/donottranslate.xml
index 8a879bd..e766dba 100644
--- a/res/values/donottranslate.xml
+++ b/res/values/donottranslate.xml
@@ -22,4 +22,10 @@
     <string name="word_separators">.\u0020,;:!?\n()[]*&amp;@{}/&lt;&gt;_+=|\u0022</string>
     <!-- Symbols that are sentence separators, for purposes of making it hug the last sentence. -->
     <string name="sentence_separators">.,;:!?</string>
+    <!-- Accented characters related to "d" -->
+    <string name="alternates_for_d"></string>
+    <!-- Accented characters related to "r" -->
+    <string name="alternates_for_r"></string>
+    <!-- Accented characters related to "t" -->
+    <string name="alternates_for_t"></string>
 </resources>
diff --git a/res/xml/kbd_qwerty.xml b/res/xml/kbd_qwerty.xml
index 34e9912..9794710 100755
--- a/res/xml/kbd_qwerty.xml
+++ b/res/xml/kbd_qwerty.xml
@@ -32,8 +32,12 @@
                 android:popupKeyboard="@xml/kbd_popup_template"
                 android:popupCharacters="@string/alternates_for_e"
         />
-        <Key android:codes="114" android:keyLabel="r"/>
-        <Key android:codes="116" android:keyLabel="t"/>
+        <Key android:codes="114" android:keyLabel="r"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_r"/>
+        <Key android:codes="116" android:keyLabel="t"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_t"/>
         <Key android:codes="121" android:keyLabel="y"
                 android:popupKeyboard="@xml/kbd_popup_template"
                 android:popupCharacters="@string/alternates_for_y"
@@ -62,7 +66,9 @@
                 android:popupKeyboard="@xml/kbd_popup_template"
                 android:popupCharacters="@string/alternates_for_s"
         />
-        <Key android:codes="100" android:keyLabel="d"/>
+        <Key android:codes="100" android:keyLabel="d"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_d"/>
         <Key android:codes="102" android:keyLabel="f"/>
         <Key android:codes="103" android:keyLabel="g"/>
         <Key android:codes="104" android:keyLabel="h"/>
@@ -76,7 +82,9 @@
                 android:keyWidth="15%p" android:isModifier="true"
                 android:iconPreview="@drawable/sym_keyboard_feedback_shift"
                 android:isSticky="true" android:keyEdgeFlags="left"/>
-        <Key android:codes="122" android:keyLabel="z"/>
+        <Key android:codes="122" android:keyLabel="z"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="@string/alternates_for_z"/>
         <Key android:codes="120" android:keyLabel="x"/>
         <Key android:codes="99" android:keyLabel="c"
                 android:popupKeyboard="@xml/kbd_popup_template"
diff --git a/res/xml/prefs.xml b/res/xml/prefs.xml
index 1721384..037d5ff 100644
--- a/res/xml/prefs.xml
+++ b/res/xml/prefs.xml
@@ -21,7 +21,6 @@
     <CheckBoxPreference
             android:key="vibrate_on"
             android:title="@string/vibrate_on_keypress"
-            android:defaultValue="true"
             android:persistent="true"
             />
 
diff --git a/src/com/android/inputmethod/latin/LatinIME.java b/src/com/android/inputmethod/latin/LatinIME.java
index bde04d1..e5ad75b 100644
--- a/src/com/android/inputmethod/latin/LatinIME.java
+++ b/src/com/android/inputmethod/latin/LatinIME.java
@@ -190,6 +190,7 @@
         }
         if (!mTutorialShownBefore && mTutorial != null) {
             mTutorial.close(false);
+            mTutorial = null;
         }
         super.onConfigurationChanged(conf);
     }
@@ -299,23 +300,35 @@
         if (mSuggest != null) {
             mSuggest.setCorrectionMode(mCorrectionMode);
         }
-        if (!mTutorialShownBefore && mTutorial == null) {
-            mHandler.sendEmptyMessageDelayed(MSG_CHECK_TUTORIAL, 1000);
-        }
         mPredictionOn = mPredictionOn && mCorrectionMode > 0;
+        if (!mTutorialShownBefore && mTutorial == null) {
+            mHandler.sendEmptyMessageDelayed(MSG_CHECK_TUTORIAL, 
+                    mInputView.isShown() ? 100 : 3000);
+        }
         if (TRACE) Debug.startMethodTracing("latinime");
     }
 
     @Override
+    public void onWindowShown() {
+        super.onWindowShown();
+        // Bring the tutorial up faster, if window just shown
+        if (!mTutorialShownBefore && mTutorial == null) {
+            mHandler.removeMessages(MSG_CHECK_TUTORIAL);
+            mHandler.sendEmptyMessageDelayed(MSG_CHECK_TUTORIAL, 1000);
+        }
+    }
+    
+    @Override
     public void onFinishInput() {
         super.onFinishInput();
 
         if (mInputView != null) {
             mInputView.closing();
         }
-        if (!mTutorialShownBefore && mTutorial != null) {
-            mTutorial.close(false);
-        }        
+//        if (!mTutorialShownBefore && mTutorial != null) {
+//            mTutorial.close(false);
+//            mTutorial = null;
+//        }        
     }
 
     @Override
@@ -346,6 +359,10 @@
     @Override
     public void hideWindow() {
         if (TRACE) Debug.stopMethodTracing();
+        if (!mTutorialShownBefore && mTutorial != null) {
+            mTutorial.close(false);
+            mTutorial = null;
+        }
         super.hideWindow();
         TextEntryState.endSession();
     }
@@ -982,7 +999,7 @@
         // Get the settings preferences
         SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
         mProximityCorrection = sp.getBoolean(PREF_PROXIMITY_CORRECTION, true);
-        mVibrateOn = sp.getBoolean(PREF_VIBRATE_ON, true);
+        mVibrateOn = sp.getBoolean(PREF_VIBRATE_ON, false);
         mSoundOn = sp.getBoolean(PREF_SOUND_ON, false);
         String predictionBasic = getString(R.string.prediction_basic);
         String mode = sp.getString(PREF_PREDICTION, predictionBasic);
diff --git a/src/com/android/inputmethod/latin/Tutorial.java b/src/com/android/inputmethod/latin/Tutorial.java
index 2b3138b..d944d17 100644
--- a/src/com/android/inputmethod/latin/Tutorial.java
+++ b/src/com/android/inputmethod/latin/Tutorial.java
@@ -168,22 +168,22 @@
                 R.string.tip_dismiss,
                 false, true);
         mBubbles.add(b0);
-        Bubble b1 = new Bubble(context, inputView, 
-                R.drawable.dialog_bubble_step03, 
-                (int) (inputWidth * 0.85) + mBubblePointerOffset, inputHeight / 5, 
-                (int) (inputWidth * 0.45),
-                Gravity.TOP | Gravity.RIGHT,
-                R.string.tip_long_press,
-                true, false);
-        mBubbles.add(b1);
-        Bubble b2 = new Bubble(inputView.getContext(), inputView, 
-                R.drawable.dialog_bubble_step04, 
-                inputWidth / 10 - mBubblePointerOffset, inputHeight - inputHeight / 5,
-                (int) (inputWidth * 0.45),
-                Gravity.BOTTOM | Gravity.LEFT,
-                R.string.tip_access_symbols,
-                true, false);
-        mBubbles.add(b2);
+//        Bubble b1 = new Bubble(context, inputView, 
+//                R.drawable.dialog_bubble_step03, 
+//                (int) (inputWidth * 0.85) + mBubblePointerOffset, inputHeight / 5, 
+//                (int) (inputWidth * 0.45),
+//                Gravity.TOP | Gravity.RIGHT,
+//                R.string.tip_long_press,
+//                true, false);
+//        mBubbles.add(b1);
+//        Bubble b2 = new Bubble(inputView.getContext(), inputView, 
+//                R.drawable.dialog_bubble_step04, 
+//                inputWidth / 10 - mBubblePointerOffset, inputHeight - inputHeight / 5,
+//                (int) (inputWidth * 0.45),
+//                Gravity.BOTTOM | Gravity.LEFT,
+//                R.string.tip_access_symbols,
+//                true, false);
+//        mBubbles.add(b2);
         mInputView = inputView;
     }