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
diff --git a/java/com/android/dialer/dialpadview/DialpadView.java b/java/com/android/dialer/dialpadview/DialpadView.java
index e7e3c7c..2f494e4 100644
--- a/java/com/android/dialer/dialpadview/DialpadView.java
+++ b/java/com/android/dialer/dialpadview/DialpadView.java
@@ -116,13 +116,6 @@
   }
 
   @Override
-  protected void onAttachedToWindow() {
-    super.onAttachedToWindow();
-    getViewTreeObserver().removeOnPreDrawListener(mOnPreDrawListenerForKeyLayoutAdjust);
-    getViewTreeObserver().addOnPreDrawListener(mOnPreDrawListenerForKeyLayoutAdjust);
-  }
-
-  @Override
   protected void onDetachedFromWindow() {
     super.onDetachedFromWindow();
     getViewTreeObserver().removeOnPreDrawListener(mOnPreDrawListenerForKeyLayoutAdjust);
@@ -146,6 +139,11 @@
       // 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() {