From cfc8246a0aa34211b638444f42e3d05540737c05 Mon Sep 17 00:00:00 2001 From: linyuh Date: Tue, 5 Dec 2017 16:46:21 -0800 Subject: Add DialpadView's OnPreDrawListener in onFinishInflate() to ensure the layout is inflated before adjustments are made. Bug: 69665429 Test: DialpadFragmentIntegrationTest PiperOrigin-RevId: 178031541 Change-Id: I8e8799fd26a151a5357cd0bf4e2d886c802a15a5 --- java/com/android/dialer/dialpadview/DialpadView.java | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'java/com/android/dialer/dialpadview') diff --git a/java/com/android/dialer/dialpadview/DialpadView.java b/java/com/android/dialer/dialpadview/DialpadView.java index e7e3c7cc2..2f494e49d 100644 --- a/java/com/android/dialer/dialpadview/DialpadView.java +++ b/java/com/android/dialer/dialpadview/DialpadView.java @@ -115,13 +115,6 @@ public class DialpadView extends LinearLayout { mOnPreDrawListenerForKeyLayoutAdjust = new OnPreDrawListenerForKeyLayoutAdjust(); } - @Override - protected void onAttachedToWindow() { - super.onAttachedToWindow(); - getViewTreeObserver().removeOnPreDrawListener(mOnPreDrawListenerForKeyLayoutAdjust); - getViewTreeObserver().addOnPreDrawListener(mOnPreDrawListenerForKeyLayoutAdjust); - } - @Override protected void onDetachedFromWindow() { super.onDetachedFromWindow(); @@ -146,6 +139,11 @@ public class DialpadView extends LinearLayout { // The text view must be selected to send accessibility events. mDigits.setSelected(true); } + + // As OnPreDrawListenerForKeyLayoutAdjust makes changes to LayoutParams, it is added here to + // ensure it can only be triggered after the layout is inflated. + getViewTreeObserver().removeOnPreDrawListener(mOnPreDrawListenerForKeyLayoutAdjust); + getViewTreeObserver().addOnPreDrawListener(mOnPreDrawListenerForKeyLayoutAdjust); } private void setupKeypad() { -- cgit v1.2.3