enable onTouchEvent for ViewGroups and add some stubs

This commit is contained in:
Julian Winkler
2023-10-30 22:35:31 +01:00
parent 065fd96308
commit 3de842b1d8
9 changed files with 24 additions and 2 deletions

View File

@@ -105,7 +105,7 @@ void _setOnTouchListener(JNIEnv *env, jobject this, GtkWidget *widget, jobject o
gtk_widget_remove_controller(widget, old_controller);
GtkEventController *controller = GTK_EVENT_CONTROLLER(gtk_event_controller_legacy_new());
gtk_event_controller_set_propagation_phase(controller, GTK_PHASE_CAPTURE); // FIXME?
gtk_event_controller_set_propagation_phase(controller, GTK_PHASE_BUBBLE);
g_signal_connect(controller, "event", G_CALLBACK(on_event), callback_data);
gtk_widget_add_controller(widget, controller);

View File

@@ -89,6 +89,7 @@ JNIEXPORT jlong JNICALL Java_android_view_ViewGroup_native_1constructor(JNIEnv *
GtkWidget *wrapper = g_object_ref(wrapper_widget_new());
GtkWidget *box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 1); // spacing of 1
wrapper_widget_set_child(WRAPPER_WIDGET(wrapper), box);
wrapper_widget_set_jobject(WRAPPER_WIDGET(wrapper), env, this);
const char *name = _CSTRING((*env)->CallObjectMethod(env, _CLASS(this),
_METHOD((*env)->FindClass(env, "java/lang/Class"), "getName", "()Ljava/lang/String;")));

View File

@@ -1991,7 +1991,7 @@ public final class MotionEvent extends InputEvent {
* that pointer identifier.
*/
public final int findPointerIndex(int pointerId) {
return nativeFindPointerIndex(mNativePtr, pointerId);
return 0 /*nativeFindPointerIndex(mNativePtr, pointerId)*/;
}
/**

View File

@@ -9,4 +9,11 @@ public class VelocityTracker {
public void addMovement(MotionEvent event) {}
public void recycle() {}
public void computeCurrentVelocity(int units, float maxVelocity) {}
public float getXVelocity(int id) {return 0.f;}
public float getYVelocity(int id) {return 0.f;}
public void clear() {}
}

View File

@@ -1520,4 +1520,6 @@ public class View extends Object {
}
public void setLayerType(int layerType, Paint paint) {}
public float getZ() {return 0.f;}
}

View File

@@ -302,6 +302,13 @@ public class ViewGroup extends View implements ViewParent, ViewManager {
}
}
protected boolean isChildrenDrawingOrderEnabled() { return false; }
@Override
public boolean onStartNestedScroll(View child, View target, int nestedScrollAxes) {
return false;
}
public static class LayoutParams {
public static final int FILL_PARENT = -1;
public static final int MATCH_PARENT = -1;

View File

@@ -6,4 +6,6 @@ public interface ViewParent {
public boolean isLayoutRequested();
public void requestDisallowInterceptTouchEvent(boolean disallowIntercept);
public abstract boolean onStartNestedScroll(View child, View target, int nestedScrollAxes);
}

View File

@@ -18,5 +18,6 @@ public class EdgeEffect extends View {
public void onPull(float deltaDistance) {}
public void onPull(float deltaDistance, float displacement) {}
public boolean isFinished() {return true;}
public void onRelease() {}
}

View File

@@ -22,4 +22,6 @@ public class OverScroller {
public int getFinalX() {return 0;}
public int getFinalY() {return 0;}
public boolean isFinished() {return true;}
}