Make sure mParent is not null before using it
Otherwise, there will be NullPointerException.
Fix: 204883084
Test: Run the following code and see if it crashes.
ViewGroup v = new FrameLayout(context);
v.requestTransparentRegion(v);
getWindowManager().addView(v, attrs);
getWindowManager().removeView(v);
Change-Id: I059e13d2a258cf85dbc1694fb79b6088199de3fb
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index 572a7cd..f438609 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -20270,7 +20270,7 @@
*/
@CallSuper
protected void onAttachedToWindow() {
- if ((mPrivateFlags & PFLAG_REQUEST_TRANSPARENT_REGIONS) != 0) {
+ if (mParent != null && (mPrivateFlags & PFLAG_REQUEST_TRANSPARENT_REGIONS) != 0) {
mParent.requestTransparentRegion(this);
}
@@ -25044,7 +25044,7 @@
View parent = this;
- while (parent.mParent != null && parent.mParent instanceof View) {
+ while (parent.mParent instanceof View) {
parent = (View) parent.mParent;
}