Merge "Ensuring that we don't try to use and propagate null activity labels." into mnc-dev
diff --git a/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoader.java b/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoader.java
index b2aa2b6..ad25c85 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoader.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoader.java
@@ -343,11 +343,14 @@
         if (infoHandle.info != null) {
             label = ssp.getActivityLabel(infoHandle.info);
             mActivityLabelCache.put(taskKey, label);
+            return label;
         } else {
             Log.w(TAG, "Missing ActivityInfo for " + taskKey.baseIntent.getComponent()
                     + " u=" + taskKey.userId);
         }
-        return label;
+        // If the activity info does not exist or fails to load, return an empty label for now,
+        // but do not cache it
+        return "";
     }
 
     /** Returns the content description using as many cached values as we can. */
@@ -358,14 +361,22 @@
         if (label != null) {
             return label;
         }
+        // If the given activity label is empty, don't compute or cache the content description
+        if (activityLabel.isEmpty()) {
+            return "";
+        }
+
         label = ssp.getContentDescription(taskKey.baseIntent, taskKey.userId, activityLabel, res);
         if (label != null) {
             mContentDescriptionCache.put(taskKey, label);
+            return label;
         } else {
             Log.w(TAG, "Missing content description for " + taskKey.baseIntent.getComponent()
                     + " u=" + taskKey.userId);
         }
-        return label;
+        // If the content description does not exist, return an empty label for now, but do not
+        // cache it
+        return "";
     }
 
     /** Returns the activity icon using as many cached values as we can. */
diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewTouchHandler.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewTouchHandler.java
index 78b3512..2e0b80a 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewTouchHandler.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewTouchHandler.java
@@ -316,7 +316,7 @@
                                     overscrollRange);
                     // Invalidate to kick off computeScroll
                     mSv.invalidate();
-                } else if (mScroller.isScrollOutOfBounds()) {
+                } else if (mIsScrolling && mScroller.isScrollOutOfBounds()) {
                     // Animate the scroll back into bounds
                     mScroller.animateBoundScroll();
                 } else if (mActiveTaskView == null) {