Simplify native interface of widget implementations

Makes it easier to overwrite behavior in subclasses. Have a fallback
implementation for ViewGroup.
Save some _GET_LONG_FIELD / _SET_LONG_FIELD calls by directly passing
the native pointers to and from native methods.
This commit is contained in:
Julian Winkler
2023-08-17 12:59:37 +02:00
parent 82744e9e5e
commit 4d90002ec6
33 changed files with 403 additions and 553 deletions

View File

@@ -3,6 +3,8 @@ package android.view;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.util.AttributeSet;
import java.util.ArrayList;
public class SurfaceView extends View {
@@ -12,8 +14,6 @@ public class SurfaceView extends View {
public SurfaceView(Context context) {
super(context);
native_constructor(context);
mSurface.widget = this.widget;
}
@@ -23,7 +23,8 @@ public class SurfaceView extends View {
}
}
private native void native_constructor(Context context);
@Override
protected native long native_constructor(Context context, AttributeSet attrs);
public SurfaceHolder getHolder() {
return mSurfaceHolder;