Commit Graph

45 Commits

Author SHA1 Message Date
Julian Winkler
960930a348 Add some stubs needed by android material library 2023-08-23 12:39:49 +02:00
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