Merge "Fixing wrong views being made visible when opening all apps" into ub-now-porkchop
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;
         }
     }