Commit Graph

69 Commits

Author SHA1 Message Date
Julian Winkler
faf4a3281e add initial support for fragments
Fragments are not added to the View hierarchy yet. Only the lifecycle
callbacks are implemented
2023-08-22 22:30:06 +02:00
Julian Winkler
9bd5593657 Activity: make startActivityForResult() functional 2023-08-22 22:29:20 +02:00
Julian Winkler
3399c84e84 fix multi Activity support
jobjects have to be compared with env->IsSameObject()
and each Activity needs its own Window instance.
The GtkWindow is still shared between all Activities
2023-08-22 22:29:20 +02:00
Julian Winkler
82744e9e5e add bunch of new java APIs: mostly stubs or copied from AOSP
Many of these classes are only needed to be subclassed by androidx
support library, which is used in many android apps
2023-08-22 15:53:09 +02:00
Julian Winkler
18ca242096 support multiple Activities 2023-08-11 18:15:19 +02:00
Julian Winkler
4491de7f63 MessageQueue: integrate with glib main loop
Adds a special treatment for the main Looper to not block in java code,
but instead return to glib managed thread loop. Timeouts in the mainloop
are now handled using g_timeout_add_full().

Also defer Activity construction, so that every thing is set up properly
when the constructor runs.
2023-08-08 14:18:20 +02:00
Mis012
ffb2855a05 api-impl: add misc stuff needed by Teeter
note that Teeter still needs more stuff before it will work
2023-07-25 14:29:50 +02:00
Mis012
08998b0076 make Looper, Handler, and MessageQueue work properly
this for example makes Unity apps not steal the main thread,
hanging Gtk.
2023-07-25 14:27:21 +02:00
Mis012
0a9591c474 src/api-impl: fix up code style, mainly for code imported from AOSP
used the following (plus manual edits):
`clang-format --style="{BasedOnStyle: LLVM, IndentWidth: 8, UseTab: Always, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: true, ColumnLimit: 0}`
2023-06-22 11:45:46 +02:00
Julian Winkler
997642d93a auto find main activity using AndroidManifest.xml 2023-06-21 22:38:08 +02:00
Julian Winkler
3709e30f64 load layout XMLs directly from apk file 2023-06-21 22:38:08 +02:00
Julian Winkler
0454dcbfd5 stub some APIs for Flappy Bird, mostly webview related 2023-06-18 11:28:40 +02:00
Mis012
f081cdff3b add stub implementation for startActivityForResult 2023-01-09 12:08:23 +01:00
Mis012
9a3b5b21b6 src/api-impl: misc stubbing 2023-01-05 19:00:27 +01:00
Mis012
9ec3bf58c2 src/api-impl/android/app/Activity.java: don't return null intent, apparently some apps tolerating that was an exception 2022-12-27 17:15:56 +01:00
Mis012
2865d34a32 src/api-impl: add misc stubs, fix indentation 2022-11-04 19:21:45 +01:00
Mis012
b801f0fb3c implement some stuff to make exaple SDL app run
NOTE: the main addition in this commit is WIP support for apps which
render on an EGL surface obtained using ANativeWindow_fromSurface

currently, this EGL surface is obtained by creating a 700x700 pixel
window with GLFW (the 700x700 size is hardcoded in several places)
and only Wayland is supported

ideally, we'd want to use a wayland subsurface to position the EGL
surface above the Surface widget it's associated with (and do
whatever for X11)
2022-10-26 18:39:04 +02:00
Mis012
49961186a2 get rid of launcher script requirement; fix app data dir being hardcoded; update documentation; remove prebuilt dalvik (NOTE - purged from history at this point, so is not part of the diff) 2022-10-12 17:30:07 +02:00
Mis012
449090143e refactor source tree organization, switch to meson 2022-10-09 22:59:16 +02:00