Commit Graph

62 Commits

Author SHA1 Message Date
Mis012
ebd16f01dc main-executable: extract native libs before instantiating the Application class 2025-08-03 18:53:23 +02:00
Julian Winkler
9e27cccc0d View.c: remove some uneccesary allocations which confuse composeUI apps 2025-07-28 22:27:50 +02:00
Julian Winkler
0064677755 split handle_cache out of util.c 2025-07-08 23:19:17 +02:00
Julian Winkler
4ec150c802 separate Intent serialization and action handling out of the NotificationManager
This way, the mechanism can in the future also be used to send Intents
from one app to another.
2025-07-08 23:07:42 +02:00
Mis012
2a0c6cd455 main-executable: handle drawable-based app icons by rendering them into SVG 2025-06-21 01:23:09 +02:00
Mis012
6031eecefc api-impl-jni: add workarounds for Gtk's non-graceful handling of layout changes during the snapshot phase 2025-06-20 22:36:09 +02:00
Julian Winkler
e652089252 map Android UnifiedPush to DBus UnifiedPush 2025-04-21 07:31:06 +02:00
Julian Winkler
bd83e211d0 handle onClickListener for synthesized MotionEvents
Since synthesized events can't be handled by GTK, we also need to handle
gestures by ourself in that case.
2025-04-18 07:21:21 +02:00
Mis012
4d12ad5c90 View: add basic implemntation of dispatchTouchEvent
Some Views block all events going to their descendants, and
then synthesize new events themselves. Gtk doesn't allow event
synthesization, which makes this quite annoying to deal with.
This initial implementation definiely has some problems,
for example it seems to cause infinite loops in some cases,
however it surprisingly works well enough.
2025-03-26 20:06:15 +01:00
Julian Winkler
15a6432d01 Revert "View: call onLayout() only on size change or on request"
This reverts commit b33a470c7b.

This commit was added as fix for layout recreation loops, but this is no
longer a problem, since ViewGroup.detachViewFromParent() has been
improved. The first fix is no longer needed and it seems to cause some
minor regressions, so we revert it.
2025-03-25 23:34:56 +01:00
Julian Winkler
b33a470c7b View: call onLayout() only on size change or on request
GTK always wants us to call gtk_widget_allocate() on all children, so we
need to do it manually when not calling onLayout().
2025-03-02 00:05:59 +01:00
Julian Winkler
161904c8a8 View: implement onKeyDown() callback 2025-02-24 21:49:46 +01:00
Julian Winkler
24f839f556 make android.text.Layout.draw() compatible custom Canvas classes
TextAndroidCanvas is a proxy canvas class which prevents us from
accessing the GtkSnapshot of the real canvas. To solve this problem, we
call Canvas.drawText() for each line.
2025-02-24 21:49:46 +01:00
Mis012
465b3ebbfe View: support multitouch properly
seems to work, but there might still be some edge cases
2025-01-15 00:06:06 +01:00
Julian Winkler
cd2c69cf73 reimplement Bitmap and Path using GdkTexture and GskPath
This allows us to use GskCanvas for Bitmap rendering

This increases the required GTK version to >= 4.14.
2024-12-22 12:30:29 +01:00
Julian Winkler
036b5510d3 implement dispatchKeyEvent callback 2024-12-01 14:15:00 +00:00
Julian Winkler
e9cf5e7002 API stubs and fixes for composeUI 2024-12-01 14:15:00 +00:00
Mis012
d5bc4ea9a6 implement instrumentation 2024-11-30 18:57:03 +01:00
Daniel Panero
eba9c7037c JavaWidget: add debug info for GTK Inspector 2024-11-19 16:14:36 +01:00
Daniel Panero
5f6943fd81 Add backbutton 2024-11-17 23:37:10 +00:00
Julian Winkler
1b46d728e3 implement Activity.onPostCreate() and onPostResume()
These are used by androidx to handle the Fragment lifecycle
2024-10-05 22:45:17 +02:00
Julian Winkler
4f4fd15fef WebView: implement WebViewClient callbacks 2024-10-04 15:23:34 +02:00
Julian Winkler
633f1e6f96 WebView: implement file:///android_asset/... URIs 2024-10-04 15:23:34 +02:00
Julian Winkler
e3c0931714 prevent reference cycles between Java and native objects 2024-08-02 17:02:53 +02:00
Mis012
54dd61da3d main-executable: add '-e' cmdline option
Some multi-platform apps accept cmdline options using the `-e` option
of `am`. For example, you can now use `-e unity='<unity cmdline>'`
to pass cmdline arguments to a unity game.
2024-05-22 17:06:28 +02:00