Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 99114e35 authored by Julia Tuttle's avatar Julia Tuttle
Browse files

Avert potential crashes in NotificationChildrenContainer.getMinHeight

It's unclear if these crashes are causing the setup wizard hang in the
bug or if these crashes and the hang share a common root cause, but
convert them to logged errors just in case.

Bug: 231915007
Test: atest PlatformScenarioTests
Change-Id: I89892bd2cae8e99040cd0636b1d1f775c4d97653
parent 2274df1e
Loading
Loading
Loading
Loading
+14 −1
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.content.res.TypedArray;
import android.graphics.drawable.ColorDrawable;
import android.service.notification.StatusBarNotification;
import android.util.AttributeSet;
import android.util.Log;
import android.view.ContextThemeWrapper;
import android.view.LayoutInflater;
import android.view.NotificationHeaderView;
@@ -58,6 +59,8 @@ import java.util.List;
public class NotificationChildrenContainer extends ViewGroup
        implements NotificationFadeAware {

    private static final String TAG = "NotificationChildrenContainer";

    @VisibleForTesting
    static final int NUMBER_OF_CHILDREN_WHEN_COLLAPSED = 2;
    @VisibleForTesting
@@ -1144,6 +1147,10 @@ public class NotificationChildrenContainer extends ViewGroup
    private int getMinHeight(int maxAllowedVisibleChildren, boolean likeHighPriority,
            int headerTranslation) {
        if (!likeHighPriority && showingAsLowPriority()) {
            if (mNotificationHeaderLowPriority == null) {
                Log.e(TAG, "getMinHeight: low priority header is null", new Exception());
                return 0;
            }
            return mNotificationHeaderLowPriority.getHeight();
        }
        int minExpandHeight = mNotificationHeaderMargin + headerTranslation;
@@ -1160,7 +1167,13 @@ public class NotificationChildrenContainer extends ViewGroup
                firstChild = false;
            }
            ExpandableNotificationRow child = mAttachedChildren.get(i);
            minExpandHeight += child.getSingleLineView().getHeight();
            View singleLineView = child.getSingleLineView();
            if (singleLineView != null) {
                minExpandHeight += singleLineView.getHeight();
            } else {
                Log.e(TAG, "getMinHeight: child " + child + " single line view is null",
                        new Exception());
            }
            visibleChildren++;
        }
        minExpandHeight += mCollapsedBottomPadding;