Fix NPE from freeing expanded view while expanding.

There was a potential NPE from a notification's expanded view being
freed while the notification was expanding. We fix this by by forcing
the view change when the transformation would involve a removed view.

Bug: 159510709
Test: Reproduce steps in bug, no crash
Change-Id: Ib0e6f7c57f29d2bb0157601d190dd0bb5ed6add1
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentView.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentView.java
index b0861bf..1f5b063 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentView.java
@@ -660,6 +660,14 @@
 
     private void updateContentTransformation() {
         int visibleType = calculateVisibleType();
+        if (getTransformableViewForVisibleType(mVisibleType) == null) {
+            // Case where visible view was removed in middle of transformation. In this case, we
+            // just update immediately to the appropriate view.
+            mVisibleType = visibleType;
+            updateViewVisibilities(visibleType);
+            updateBackgroundColor(false);
+            return;
+        }
         if (visibleType != mVisibleType) {
             // A new transformation starts
             mTransformationStartVisibleType = mVisibleType;