add missing Context attribute to all View constructors

This commit is contained in:
Julian Winkler
2023-07-14 18:02:04 +02:00
parent 151eb334cc
commit 6b79adb2c3
12 changed files with 46 additions and 26 deletions

View File

@@ -27,8 +27,8 @@ public class GLSurfaceView extends View implements SurfaceHolder.Callback { // T
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {}
public void surfaceDestroyed(SurfaceHolder holder) {}
public GLSurfaceView(AttributeSet attrs) {
super(attrs);
public GLSurfaceView(Context context, AttributeSet attrs) {
super(context, attrs);
java_egl_wrapper = (EGL10)EGLContext.getEGL();
java_gl_wrapper = (GL10)EGLContext.getGL();

View File

@@ -35,12 +35,12 @@ public class LayoutInflater {
public final View createView(String name, String prefix, AttributeSet attrs) throws Exception {
System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>> createView(" + name + ", " + prefix + ", " + attrs + ");");
String view_class_name = prefix + name;
String view_class_name = prefix!=null ? prefix + name : name;
Class view_class = Class.forName(view_class_name);
Constructor constructor = view_class.getConstructor(AttributeSet.class);
Constructor constructor = view_class.getConstructor(Context.class, AttributeSet.class);
View view_instance = (View)constructor.newInstance(attrs);
View view_instance = (View)constructor.newInstance(Context.this_application, attrs);
return view_instance;
}

View File

@@ -688,11 +688,14 @@ public class View extends Object {
public View() {} // FIXME
public View(AttributeSet attrs) {
id = attrs.getAttributeResourceValue("http://schemas.android.com/apk/res/android", "id", 0);
public View(Context context, AttributeSet attrs) {
this(context);
if (id != 0)
view_by_id.put(id, this);
if (attrs != null) {
id = attrs.getAttributeResourceValue("http://schemas.android.com/apk/res/android", "id", 0);
if (id != 0)
setId(id);
}
}
public View findViewById(int id) {
@@ -766,7 +769,9 @@ public class View extends Object {
System.out.println("setContentDescription called with: >" + contentDescription + "<");
}
public void setId(int id) {}
public void setId(int id) {
view_by_id.put(id, this);
}
public void setOnKeyListener(OnKeyListener l) {}

View File

@@ -18,8 +18,14 @@ public class ViewGroup extends View implements ViewParent, ViewManager {
children = new ArrayList<View>();
}
public ViewGroup(AttributeSet attrs) {
super(attrs);
public ViewGroup(Context context, AttributeSet attrs) {
super(context, attrs);
children = new ArrayList<View>();
}
public ViewGroup(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs);
children = new ArrayList<View>();
}

View File

@@ -1,10 +1,15 @@
package android.widget;
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
public class EditText extends TextView {
public EditText(Context context) {
super(context);
}
public EditText(Context context, AttributeSet attrs) {
super(context, attrs);
}
}

View File

@@ -8,8 +8,8 @@ import android.view.ViewGroup.LayoutParams;
public class FrameLayout extends ViewGroup {
public FrameLayout(AttributeSet attrs) {
super(attrs);
public FrameLayout(Context context, AttributeSet attrs) {
super(context, attrs);
native_constructor(attrs);
}

View File

@@ -12,8 +12,8 @@ public class ImageView extends View {
private Bitmap bitmap;
public ImageView(AttributeSet attrs) {
super(attrs);
public ImageView(Context context, AttributeSet attrs) {
super(context, attrs);
native_constructor(attrs);
int resource = attrs.getAttributeResourceValue("http://schemas.android.com/apk/res/android", "src", 0);

View File

@@ -10,8 +10,8 @@ public class LinearLayout extends ViewGroup {
boolean orientation;
public LinearLayout(AttributeSet attrs) {
super(attrs);
public LinearLayout(Context context, AttributeSet attrs) {
super(context, attrs);
native_constructor(attrs);
}

View File

@@ -5,8 +5,8 @@ import android.util.AttributeSet;
import android.view.View;
public class ProgressBar extends View {
public ProgressBar(AttributeSet attrs) {
super(attrs);
public ProgressBar(Context context, AttributeSet attrs) {
super(context, attrs);
native_constructor(attrs);
}

View File

@@ -10,8 +10,8 @@ public class RelativeLayout extends ViewGroup {
boolean orientation;
public RelativeLayout(AttributeSet attrs) {
super(attrs);
public RelativeLayout(Context context, AttributeSet attrs) {
super(context, attrs);
native_constructor(attrs);
}

View File

@@ -7,8 +7,8 @@ import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
public class ScrollView extends ViewGroup {
public ScrollView(AttributeSet attrs) {
super(attrs);
public ScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
native_constructor(attrs);
}

View File

@@ -17,8 +17,8 @@ public class TextView extends View {
id = _id;
}
public TextView(AttributeSet attrs) {
super(attrs);
public TextView(Context context, AttributeSet attrs) {
super(context, attrs);
native_constructor(attrs);
}
@@ -44,6 +44,10 @@ public class TextView extends View {
native_set_markup(1);
}
public void setText(int resId) {
setText(getContext().getResources().getText(resId));
}
private native final void native_set_markup(int bool);
public native final void native_setText(String text);