Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cfe688d8 authored by Cary Clark's avatar Cary Clark
Browse files

create absolute layout if view layout can't be reused

The existing view layout may not be an absolute layout,
and will throw a ClassCastException. Check to see if it
is compatible before the cast.

Change-Id: I7309600a1e7405a29e49a3bab469a164d51126ae
http://b/2526854
parent f19f9f55
Loading
Loading
Loading
Loading
+8 −6
Original line number Original line Diff line number Diff line
@@ -18,6 +18,7 @@ package android.webkit;


import android.view.SurfaceView;
import android.view.SurfaceView;
import android.view.View;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsoluteLayout;
import android.widget.AbsoluteLayout;


import java.util.ArrayList;
import java.util.ArrayList;
@@ -155,17 +156,18 @@ class ViewManager {
            v.isFixedSize = true;
            v.isFixedSize = true;
        }
        }


        AbsoluteLayout.LayoutParams lp =
        AbsoluteLayout.LayoutParams lp;
            (AbsoluteLayout.LayoutParams) v.mView.getLayoutParams();
        ViewGroup.LayoutParams layoutParams = v.mView.getLayoutParams();


        if (lp == null)
        if (layoutParams instanceof AbsoluteLayout.LayoutParams) {
            lp = new AbsoluteLayout.LayoutParams(ctvD(v.width), ctvD(v.height),
            lp = (AbsoluteLayout.LayoutParams) layoutParams;
                    ctvX(v.x), ctvY(v.y));
        else {
            lp.width = ctvD(v.width);
            lp.width = ctvD(v.width);
            lp.height = ctvD(v.height);
            lp.height = ctvD(v.height);
            lp.x = ctvX(v.x);
            lp.x = ctvX(v.x);
            lp.y = ctvY(v.y);
            lp.y = ctvY(v.y);
        } else {
            lp = new AbsoluteLayout.LayoutParams(ctvD(v.width), ctvD(v.height),
                    ctvX(v.x), ctvY(v.y));
        }
        }
        return lp;
        return lp;
    }
    }