From 011bde9f8fadfc97a15e379873adc79b3ded93d9 Mon Sep 17 00:00:00 2001 From: Selim Cinek Date: Wed, 22 Nov 2017 05:53:38 -0800 Subject: [PATCH] Working around a crash when transforming groups It's not entirely clear why a crash can happen, so we're adding some logging and circumvent the crash in the meantime. Test: manual Bug: 69368436 Change-Id: If74799c9b07a3af2a0bccc9231a818c54bb0d96e --- .../systemui/statusbar/NotificationContentView.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java index 9e059c89ffe18..311b60cb4f985 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java @@ -24,6 +24,7 @@ import android.graphics.Rect; import android.os.Build; import android.service.notification.StatusBarNotification; import android.util.AttributeSet; +import android.util.Log; import android.view.NotificationHeaderView; import android.view.View; import android.view.ViewGroup; @@ -34,8 +35,8 @@ import android.widget.ImageView; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.NotificationColorUtil; import com.android.systemui.R; -import com.android.systemui.statusbar.notification.HybridNotificationView; import com.android.systemui.statusbar.notification.HybridGroupManager; +import com.android.systemui.statusbar.notification.HybridNotificationView; import com.android.systemui.statusbar.notification.NotificationCustomViewWrapper; import com.android.systemui.statusbar.notification.NotificationUtils; import com.android.systemui.statusbar.notification.NotificationViewWrapper; @@ -49,6 +50,7 @@ import com.android.systemui.statusbar.policy.RemoteInputView; */ public class NotificationContentView extends FrameLayout { + private static final String TAG = "NotificationContentView"; public static final int VISIBLE_TYPE_CONTRACTED = 0; public static final int VISIBLE_TYPE_EXPANDED = 1; public static final int VISIBLE_TYPE_HEADSUP = 2; @@ -643,6 +645,13 @@ public class NotificationContentView extends FrameLayout { int endHeight = getViewForVisibleType(mVisibleType).getHeight(); int progress = Math.abs(mContentHeight - startHeight); int totalDistance = Math.abs(endHeight - startHeight); + if (totalDistance == 0) { + Log.wtf(TAG, "the total transformation distance is 0" + + "\n StartType: " + mTransformationStartVisibleType + " height: " + startHeight + + "\n VisibleType: " + mVisibleType + " height: " + endHeight + + "\n mContentHeight: " + mContentHeight); + return 1.0f; + } float amount = (float) progress / (float) totalDistance; return Math.min(1.0f, amount); }