merge in ics-mr1-release history after reset to ics-mr1
diff --git a/res/layout-sw600dp/market_button.xml b/res/layout-sw600dp/market_button.xml
index ad5f6da..3f31319 100644
--- a/res/layout-sw600dp/market_button.xml
+++ b/res/layout-sw600dp/market_button.xml
@@ -19,13 +19,15 @@
     style="@style/MarketButton"
     android:onClick="onClickAppMarketButton"
     android:gravity="center"
-    android:paddingLeft="@dimen/toolbar_button_horizontal_padding"
-    android:paddingRight="@dimen/toolbar_button_horizontal_padding"
+    android:paddingLeft="10dp"
+    android:paddingRight="10dp"
     android:drawablePadding="10dp"
     android:text="@string/market"
     android:contentDescription="@string/market"
     android:textColor="@color/workspace_all_apps_and_delete_zone_text_color"
-    android:textSize="18sp"
+    android:textStyle="bold"
+    android:textSize="14sp"
+    android:textAllCaps="true"
     android:shadowColor="@color/workspace_all_apps_and_delete_zone_text_shadow_color"
     android:shadowDx="0.0"
     android:shadowDy="0.0"
diff --git a/res/layout-sw600dp/wallpaper_item.xml b/res/layout-sw600dp/wallpaper_item.xml
index 9a596cb..9461e3b 100644
--- a/res/layout-sw600dp/wallpaper_item.xml
+++ b/res/layout-sw600dp/wallpaper_item.xml
@@ -16,13 +16,11 @@
 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
-    android:padding="@dimen/live_wallpaper_grid_item_padding">
-    <ImageView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:background="@drawable/wallpaper_gallery_item">
+    <ImageView
         android:id="@+id/wallpaper_image"
         android:layout_width="@dimen/wallpaper_chooser_grid_width"
         android:layout_height="@dimen/wallpaper_chooser_grid_height"
         android:scaleType="centerCrop"
-        android:adjustViewBounds="false"
-        android:focusable="false"
-        android:padding="0dp" />
+        android:focusable="true" />
 </FrameLayout>
\ No newline at end of file
diff --git a/res/layout/qsb_bar.xml b/res/layout/qsb_bar.xml
index c58836e..c2179ce 100644
--- a/res/layout/qsb_bar.xml
+++ b/res/layout/qsb_bar.xml
@@ -17,8 +17,7 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:launcher="http://schemas.android.com/apk/res/com.android.launcher"
     style="@style/QSBBar"
-    android:focusable="false"
-    android:background="@drawable/search_bg_panel">
+    android:focusable="false">
 
     <!-- Search buttons container -->
     <include android:id="@+id/qsb_search_bar"
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index ec61dc9..5070c88 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -84,7 +84,7 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"Questa è un\'applicazione di sistema e non può essere disinstallata."</string>
     <string name="dream_name" msgid="2847171357608437154">"Lanciamissili"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Cartella senza nome"</string>
-    <string name="workspace_cling_title" msgid="738396473989890567">"Fai come se fossi a casa tua."</string>
+    <string name="workspace_cling_title" msgid="738396473989890567">"Mettiti comodo"</string>
     <string name="workspace_cling_move_item" msgid="791013895761065070">"Puoi posizionare le tue applicazioni preferite qui."</string>
     <string name="workspace_cling_open_all_apps" msgid="2459977609848572588">"Per visualizzare tutte le tue applicazioni, tocca il cerchio."</string>
     <string name="all_apps_cling_title" msgid="2559734712581447107">"Scegli alcune applicazioni"</string>
diff --git a/res/values-sw600dp/styles.xml b/res/values-sw600dp/styles.xml
index 0609002..d17125c 100644
--- a/res/values-sw600dp/styles.xml
+++ b/res/values-sw600dp/styles.xml
@@ -75,14 +75,18 @@
         <item name="android:textSize">13sp</item>
     </style>
     <style name="TabIndicator.AppsCustomize">
-        <item name="android:paddingLeft">40dp</item>
-        <item name="android:paddingRight">40dp</item>
-        <item name="android:paddingTop">10dp</item>
+        <item name="android:paddingTop">16dp</item>
         <item name="android:paddingBottom">20dp</item>
-        <item name="android:textSize">20sp</item>
+        <item name="android:textSize">14sp</item>
     </style>
 
     <!-- QSB Search / Drop Target bar -->
+    <style name="QSBBar">
+        <item name="android:orientation">horizontal</item>
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">@dimen/qsb_bar_height</item>
+        <item name="android:layout_gravity">top|center_horizontal</item>
+    </style>
     <style name="SearchDropTargetBar">
         <item name="android:orientation">horizontal</item>
         <item name="android:layout_width">match_parent</item>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index f575f00..981d5be 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -116,6 +116,7 @@
         <item name="android:layout_width">match_parent</item>
         <item name="android:layout_height">@dimen/qsb_bar_height</item>
         <item name="android:layout_gravity">top|center_horizontal</item>
+        <item name="android:background">@drawable/search_bg_panel</item>
     </style>
     <style name="SearchDropTargetBar">
         <item name="android:orientation">horizontal</item>
@@ -158,8 +159,8 @@
         <item name="android:layout_width">wrap_content</item>
         <item name="android:layout_height">match_parent</item>
         <item name="android:gravity">center</item>
-        <item name="android:paddingLeft">35dp</item>
-        <item name="android:paddingRight">35dp</item>
+        <item name="android:paddingLeft">30dp</item>
+        <item name="android:paddingRight">30dp</item>
         <item name="android:background">@drawable/tab_widget_indicator_selector</item>
         <item name="android:textColor">?android:attr/textColorPrimary</item>
         <item name="android:textSize">12sp</item>
diff --git a/src/com/android/launcher2/AppsCustomizePagedView.java b/src/com/android/launcher2/AppsCustomizePagedView.java
index d8ff73c..f5142bf 100644
--- a/src/com/android/launcher2/AppsCustomizePagedView.java
+++ b/src/com/android/launcher2/AppsCustomizePagedView.java
@@ -31,11 +31,11 @@
 import android.content.res.Resources;
 import android.content.res.TypedArray;
 import android.graphics.Bitmap;
-import android.graphics.Bitmap.Config;
 import android.graphics.Canvas;
 import android.graphics.PorterDuff;
 import android.graphics.Rect;
 import android.graphics.RectF;
+import android.graphics.Bitmap.Config;
 import android.graphics.drawable.Drawable;
 import android.os.AsyncTask;
 import android.os.Process;
@@ -47,6 +47,8 @@
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.animation.AccelerateInterpolator;
+import android.view.animation.DecelerateInterpolator;
+import android.view.animation.Interpolator;
 import android.widget.GridLayout;
 import android.widget.ImageView;
 import android.widget.Toast;
@@ -218,6 +220,7 @@
     private static float TRANSITION_MAX_ROTATION = 22;
     private static final boolean PERFORM_OVERSCROLL_ROTATION = true;
     private AccelerateInterpolator mAlphaInterpolator = new AccelerateInterpolator(0.9f);
+    private DecelerateInterpolator mLeftScreenAlphaInterpolator = new DecelerateInterpolator(4);
 
     // Previews & outlines
     ArrayList<AppsCustomizeAsyncTask> mRunningTasks;
@@ -262,7 +265,7 @@
         // (top + bottom)
         mWidgetPreviewIconPaddedDimension =
             (int) (mAppIconSize * (1 + (2 * sWidgetPreviewIconPaddingPercentage)));
-        mFadeInAdjacentScreens = LauncherApplication.isScreenLarge();
+        mFadeInAdjacentScreens = false;
     }
 
     @Override
@@ -1218,8 +1221,15 @@
                         interpolatedProgress * TRANSITION_SCALE_FACTOR;
                 float translationX = Math.min(0, scrollProgress) * v.getMeasuredWidth();
 
-                float alpha = scrollProgress < 0 ? mAlphaInterpolator.getInterpolation(
+                float alpha;
+
+                if (!LauncherApplication.isScreenLarge() || scrollProgress < 0) {
+                    alpha = scrollProgress < 0 ? mAlphaInterpolator.getInterpolation(
                         1 - Math.abs(scrollProgress)) : 1.0f;
+                } else {
+                    // On large screens we need to fade the page as it nears its leftmost position
+                    alpha = mLeftScreenAlphaInterpolator.getInterpolation(1 - scrollProgress);
+                }
 
                 v.setCameraDistance(mDensity * CAMERA_DISTANCE);
                 int pageWidth = v.getMeasuredWidth();
diff --git a/src/com/android/launcher2/LauncherModel.java b/src/com/android/launcher2/LauncherModel.java
index 3ee2732..c06bc0c 100644
--- a/src/com/android/launcher2/LauncherModel.java
+++ b/src/com/android/launcher2/LauncherModel.java
@@ -121,7 +121,7 @@
     private static int mCellCountX;
     private static int mCellCountY;
 
-    protected Configuration mPreviousConfig;
+    protected int mPreviousConfigMcc;
 
     public interface Callbacks {
         public boolean setLoadOnResume();
@@ -152,7 +152,8 @@
         final Resources res = app.getResources();
         mAllAppsLoadDelay = res.getInteger(R.integer.config_allAppsBatchLoadDelay);
         mBatchSize = res.getInteger(R.integer.config_allAppsBatchSize);
-        mPreviousConfig = res.getConfiguration();
+        Configuration config = res.getConfiguration();
+        mPreviousConfigMcc = config.mcc;
     }
 
     public Bitmap getFallbackIcon() {
@@ -623,13 +624,13 @@
              // and we would need to clear out the labels in all apps/workspace. Same handling as
              // above for ACTION_LOCALE_CHANGED
              Configuration currentConfig = context.getResources().getConfiguration();
-             if((mPreviousConfig.diff(currentConfig) & ActivityInfo.CONFIG_MCC) != 0){
+             if (mPreviousConfigMcc != currentConfig.mcc) {
                    Log.d(TAG, "Reload apps on config change. curr_mcc:"
-                       + currentConfig.mcc + " prevmcc:" + mPreviousConfig.mcc);
+                       + currentConfig.mcc + " prevmcc:" + mPreviousConfigMcc);
                    forceReload();
              }
              // Update previousConfig
-             mPreviousConfig = currentConfig;
+             mPreviousConfigMcc = currentConfig.mcc;
         } else if (SearchManager.INTENT_GLOBAL_SEARCH_ACTIVITY_CHANGED.equals(action) ||
                    SearchManager.INTENT_ACTION_SEARCHABLES_CHANGED.equals(action)) {
             if (mCallbacks != null) {
diff --git a/src/com/android/launcher2/PagedView.java b/src/com/android/launcher2/PagedView.java
index 7be19bf..3d2deb8 100644
--- a/src/com/android/launcher2/PagedView.java
+++ b/src/com/android/launcher2/PagedView.java
@@ -102,6 +102,7 @@
     protected final static float ALPHA_QUANTIZE_LEVEL = 0.0001f;
 
     protected int mTouchState = TOUCH_STATE_REST;
+    protected boolean mForceScreenScrolled = false;
 
     protected OnLongClickListener mLongClickListener;
 
@@ -672,14 +673,25 @@
     }
 
     @Override
+    protected void onViewAdded(View child) {
+        super.onViewAdded(child);
+
+        // This ensures that when children are added, they get the correct transforms / alphas
+        // in accordance with any scroll effects.
+        mForceScreenScrolled = true;
+        invalidate();
+    }
+
+    @Override
     protected void dispatchDraw(Canvas canvas) {
         int halfScreenSize = getMeasuredWidth() / 2;
         int screenCenter = mScrollX + halfScreenSize;
 
-        if (screenCenter != mLastScreenCenter) {
+        if (screenCenter != mLastScreenCenter || mForceScreenScrolled) {
             screenScrolled(screenCenter);
             updateAdjacentPagesAlpha();
             mLastScreenCenter = screenCenter;
+            mForceScreenScrolled = false;
         }
 
         // Find out which screens are visible; as an optimization we only call draw on them