Commit Graph

28 Commits

Author SHA1 Message Date
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
6547e66d4f implement android.app.AlertDialog using GtkDialog 2023-08-22 19:39:57 +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
Mis012
4a1159f5cb api-impl: add misc stubs 2023-08-12 13:09:33 +02:00
Mis012
c936333c74 src/main-executable: show actual package name as window title, preparation for showing app icon, re-add some missing stuff 2023-08-12 13:05:34 +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
b4e1057dbc api-impl/android/app/NativeActivity.java: fix crash due to Looper now not being a stub 2023-07-27 17:13:09 +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
334274c9e5 auto extract native libraries and detect lib name for NativeActivity 2023-06-21 22:38:08 +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
27f3d288dd misc stubbing for ctr2 2023-01-14 14:32:37 +01: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
696fa5a192 make some Handler callback magic synchronous to avoid having to implement it properly 2022-12-31 17:17:10 +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
Nikita Travkin
d419d6d324 fixme-desc: add some stubs 2022-12-01 14:44:19 +01:00
Mis012
52ba443401 misc stubbing 2022-12-01 14:44:16 +01:00
Mis012
33b4515cb9 add support for the boneheaded method of receiving input events that is used by NativeActivity apps
currently, our "not-actually-a-queue" implementation is quite ugly,
hopefully it might be possible to make it look somewhat sane while
not needing to make it as much of a queue as it is on android
2022-11-11 19:18:21 +01:00
Mis012
7d3cefafef api-impl: add initial support for NativeAcivity 2022-11-04 19:28:46 +01:00
Mis012
2865d34a32 src/api-impl: add misc stubs, fix indentation 2022-11-04 19:21:45 +01:00