Merge "Turn off debugging for launch." into ub-now-porkchop
diff --git a/src/com/android/launcher3/CellLayout.java b/src/com/android/launcher3/CellLayout.java
index d0b3f43..0ff1ef4 100644
--- a/src/com/android/launcher3/CellLayout.java
+++ b/src/com/android/launcher3/CellLayout.java
@@ -959,10 +959,7 @@
     }
 
     public void setShortcutAndWidgetAlpha(float alpha) {
-        final int childCount = getChildCount();
-        for (int i = 0; i < childCount; i++) {
-            getChildAt(i).setAlpha(alpha);
-        }
+        mShortcutsAndWidgets.setAlpha(alpha);
     }
 
     public ShortcutAndWidgetContainer getShortcutsAndWidgets() {
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 5c6261d..1b95c2b 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -3469,6 +3469,15 @@
                     fromView.findViewById(R.id.apps_customize_pane_content);
 
             final View page = content.getPageAt(content.getNextPage());
+
+            // We need to hide side pages of the Apps / Widget tray to avoid some ugly edge cases
+            int count = content.getChildCount();
+            for (int i = 0; i < count; i++) {
+                View child = content.getChildAt(i);
+                if (child != page) {
+                    child.setVisibility(View.INVISIBLE);
+                }
+            }
             final View revealView = fromView.findViewById(R.id.fake_page);
 
             // hideAppsCustomizeHelper is called in some cases when it is already hidden
@@ -3615,6 +3624,19 @@
                         page.setLayerType(View.LAYER_TYPE_NONE, null);
                     }
                     content.setPageBackgroundsVisible(true);
+                    // Unhide side pages
+                    int count = content.getChildCount();
+                    for (int i = 0; i < count; i++) {
+                        View child = content.getChildAt(i);
+                        child.setVisibility(View.VISIBLE);
+                    }
+
+                    // Reset page transforms
+                    page.setTranslationX(0);
+                    page.setTranslationY(0);
+                    page.setAlpha(1);
+                    content.setCurrentPage(content.getNextPage());
+
                     mAppsCustomizeContent.updateCurrentPageScroll();
                 }
             });
diff --git a/src/com/android/launcher3/compat/AppWidgetManagerCompatVL.java b/src/com/android/launcher3/compat/AppWidgetManagerCompatVL.java
index 30af38e..7ca35b7 100644
--- a/src/com/android/launcher3/compat/AppWidgetManagerCompatVL.java
+++ b/src/com/android/launcher3/compat/AppWidgetManagerCompatVL.java
@@ -127,7 +127,7 @@
         try {
             drawable = mPm.getUserBadgedDrawableForDensity(new BitmapDrawable(res, bitmap),
                     info.getProfile(), badgeLocation, 0);
-        } catch (Exception e) {
+        } catch (Throwable e) {
             return bitmap;
         }
 
diff --git a/src/com/android/launcher3/compat/LauncherAppsCompatVL.java b/src/com/android/launcher3/compat/LauncherAppsCompatVL.java
index 6422551..c4a9783 100644
--- a/src/com/android/launcher3/compat/LauncherAppsCompatVL.java
+++ b/src/com/android/launcher3/compat/LauncherAppsCompatVL.java
@@ -82,7 +82,11 @@
         synchronized (mCallbacks) {
             mCallbacks.put(callback, wrappedCallback);
         }
-        mLauncherApps.addCallback(wrappedCallback);
+        try {
+            mLauncherApps.registerCallback(wrappedCallback);
+        } catch (Throwable e) {
+            // STOPSHIP(kennyguy): Remove when LRW71 hits googlefood
+        }
     }
 
     public void removeOnAppsChangedCallback(
@@ -92,7 +96,11 @@
             wrappedCallback = mCallbacks.remove(callback);
         }
         if (wrappedCallback != null) {
-            mLauncherApps.removeCallback(wrappedCallback);
+            try {
+                mLauncherApps.unregisterCallback(wrappedCallback);
+            } catch (Throwable e) {
+                // STOPSHIP(kennyguy): Remove when LRW71 hits googlefood
+            }
         }
     }
 
diff --git a/src/com/android/launcher3/compat/PackageInstallerCompatVL.java b/src/com/android/launcher3/compat/PackageInstallerCompatVL.java
index 0a84280..9a0831f 100644
--- a/src/com/android/launcher3/compat/PackageInstallerCompatVL.java
+++ b/src/com/android/launcher3/compat/PackageInstallerCompatVL.java
@@ -47,7 +47,12 @@
         mResumed = false;
         mBound = false;
 
-        mInstaller.registerSessionCallback(mCallback);
+        // STOPSHIP(mokani): Remove catch block once dogfood build is bigger than LRW70.
+        // This hack is just to prevent crash in older builds.
+        try {
+            mInstaller.registerSessionCallback(mCallback);
+        } catch (Throwable e) { }
+
         // On start, send updates for all active sessions
         for (SessionInfo info : mInstaller.getAllSessions()) {
             mPendingReplays.append(info.getSessionId(), info);
@@ -72,7 +77,11 @@
 
     @Override
     public void onStop() {
-        mInstaller.unregisterSessionCallback(mCallback);
+        // STOPSHIP(mokani): Remove catch block once dogfood build is bigger than LRW70.
+        // This hack is just to prevent crash in older builds.
+        try {
+            mInstaller.unregisterSessionCallback(mCallback);
+        } catch (Throwable e) { }
     }
 
     @Override
diff --git a/src/com/android/launcher3/compat/UserManagerCompatVL.java b/src/com/android/launcher3/compat/UserManagerCompatVL.java
index e54db61..ddef431 100644
--- a/src/com/android/launcher3/compat/UserManagerCompatVL.java
+++ b/src/com/android/launcher3/compat/UserManagerCompatVL.java
@@ -55,7 +55,7 @@
         // This hack is just to prevent crash in older builds.
         try {
             return mPm.getUserBadgedIcon(unbadged, user.getUser());
-        } catch (Exception e) {
+        } catch (Throwable e) {
             return unbadged;
         }
     }
@@ -68,8 +68,8 @@
         // STOPSHIP(mokani): Remove catch block once dogfood build is bigger than LRW70.
         // This hack is just to prevent crash in older builds.
         try {
-        return mPm.getUserBadgedLabel(label, user.getUser());
-        } catch (Exception e) {
+            return mPm.getUserBadgedLabel(label, user.getUser());
+        } catch (Throwable e) {
             return label;
         }
     }