diff options
3 files changed, 13 insertions, 9 deletions
diff --git a/core/java/com/android/internal/widget/ConversationLayout.java b/core/java/com/android/internal/widget/ConversationLayout.java index 5d4407bf8370..3fcedd9156a6 100644 --- a/core/java/com/android/internal/widget/ConversationLayout.java +++ b/core/java/com/android/internal/widget/ConversationLayout.java @@ -197,7 +197,6 @@ public class ConversationLayout extends FrameLayout super.onFinishInflate(); mMessagingLinearLayout = findViewById(R.id.notification_messaging); mActions = findViewById(R.id.actions); - mMessagingLinearLayout.setMessagingLayout(this); mImageMessageContainer = findViewById(R.id.conversation_image_message_container); // We still want to clip, but only on the top, since views can temporarily out of bounds // during transitions. diff --git a/core/java/com/android/internal/widget/MessagingLayout.java b/core/java/com/android/internal/widget/MessagingLayout.java index a162e4e10c71..27cd6e13d86c 100644 --- a/core/java/com/android/internal/widget/MessagingLayout.java +++ b/core/java/com/android/internal/widget/MessagingLayout.java @@ -124,7 +124,6 @@ public class MessagingLayout extends FrameLayout protected void onFinishInflate() { super.onFinishInflate(); mMessagingLinearLayout = findViewById(R.id.notification_messaging); - mMessagingLinearLayout.setMessagingLayout(this); // We still want to clip, but only on the top, since views can temporarily out of bounds // during transitions. DisplayMetrics displayMetrics = getResources().getDisplayMetrics(); diff --git a/core/java/com/android/internal/widget/MessagingLinearLayout.java b/core/java/com/android/internal/widget/MessagingLinearLayout.java index 4ee647a42116..7cfd46c880fc 100644 --- a/core/java/com/android/internal/widget/MessagingLinearLayout.java +++ b/core/java/com/android/internal/widget/MessagingLinearLayout.java @@ -24,6 +24,7 @@ import android.util.AttributeSet; import android.view.RemotableViewMethod; import android.view.View; import android.view.ViewGroup; +import android.view.ViewParent; import android.widget.RemoteViews; import com.android.internal.R; @@ -43,8 +44,6 @@ public class MessagingLinearLayout extends ViewGroup { private int mMaxDisplayedLines = Integer.MAX_VALUE; - private IMessagingLayout mMessagingLayout; - public MessagingLinearLayout(Context context, @Nullable AttributeSet attrs) { super(context, attrs); @@ -292,12 +291,19 @@ public class MessagingLinearLayout extends ViewGroup { mMaxDisplayedLines = numberLines; } - public void setMessagingLayout(IMessagingLayout layout) { - mMessagingLayout = layout; - } - public IMessagingLayout getMessagingLayout() { - return mMessagingLayout; + View view = this; + while (true) { + ViewParent p = view.getParent(); + if (p instanceof View) { + view = (View) p; + if (view instanceof IMessagingLayout) { + return (IMessagingLayout) view; + } + } else { + return null; + } + } } @Override |