109 Commits

Author SHA1 Message Date
Julian Winkler
b340032e9f impement android.media.MediaCodec using libavcodec
The current implementation requires a VA-API driver and a Wayland
compositor with YUV-buffer support. GNOME supports YUV-buffers
since the recent version 45 release
2023-10-14 18:29:33 +02:00
Mis012
4628cfc66d /api-impl-jni: remove remains of experimental ninepatch implementation, will use skia 2023-09-16 16:30:14 +02:00
Mis012
e1cf5c7047 libandroid/native_window.c: make Vulkan work, add refcount 2023-09-14 21:48:15 +02:00
Mis012
24353378be api-impl: implement Canvas text drawing as used by Gravity Defied
implements android.graphics.Typeface (always uses default
typeface for now), one version of Canvas.drawText, one version
of Paint.measureText, and Paint.ascend
2023-09-12 19:30:29 +02:00
Mis012
90cb1c925a api-impl: use liblog for android.util.Log; use Log.v for debugging prints and Log.w for stub tracing 2023-09-12 13:41:52 +02:00
Mis012
1e47824a79 src/api-impl: use skia instead of cairo
Using the C API provided by SkiaSharp's skia fork instead of using cairo
significantly improves performance. The API is also closer to the android
Canvas API, which makes the implementation more straightforward.
2023-09-12 13:37:41 +02:00
Julian Winkler
a35879c633 RelativeLayout: copy AOSP implementation
As we already support custom ViewGroups, there is no need to reimplement
this highly complex class.
2023-09-01 16:05:26 +02:00
Julian Winkler
ceb5df9d39 implement BitmapFactory.decodeStream() using gdk_pixbuf_new_from_stream
The java InputStream is wrapped into a custom GInputStream
implementation
2023-09-01 16:05:26 +02:00
Julian Winkler
d81c6800b2 add JNI implementation of android.database.SQLiteConnection
This is based on the implementation from https://www.sqlite.org/android,
which is equal to the AOSP implementation besides not depending private
Android APIs.
The code has been rewritten from C++ to C.
2023-08-27 11:40:46 +02:00
Julian Winkler
0f7548f189 refactor Dialog implementation to support custom content 2023-08-23 14:52:56 +02:00
Julian Winkler
4434de4a58 implement android.widget.EditText using GtkEntry 2023-08-23 11:47:05 +02:00
Julian Winkler
f9a85017c1 implement android.widget.ImageButton using GtkButton 2023-08-23 11:47:05 +02:00
Julian Winkler
f2e71cd50f implement android.widget.Button using GtkButton 2023-08-23 11:47:05 +02:00
Julian Winkler
6547e66d4f implement android.app.AlertDialog using GtkDialog 2023-08-22 19:39:57 +02:00
Julian Winkler
18ca242096 support multiple Activities 2023-08-11 18:15:19 +02:00
Julian Winkler
0282e9fbcb build and install framework-res.apk from source
fall back to prebuilt if aapt command is not available
2023-08-09 12:22:16 +02:00
Julian Winkler
696e0ce714 implement LocationManager and orientation sensor using libportal 2023-08-08 14:18:20 +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
Julian Winkler
83a2647637 Add rpath to find art libraries 2023-06-21 22:38:08 +02:00
Julian Winkler
db53d3679f replace arsc_parser with ARSClib 2023-06-21 22:38:08 +02:00
Julian Winkler
0baddd9fe8 fixes for android-8 rebase of dalvik_standalone
detect bootclasspath jar path automatically from dalvik_standalone
2023-06-21 22:38:07 +02:00
Julian Winkler
9e706927de implement android.media.SoundPool using GtkMediaStream 2023-06-18 11:31:01 +02:00
Julian Winkler
48ef2fffdf implement GLES20 java bindings
These are just one to one bindings for the native OpenGL 2.0 APIs
2023-06-18 11:28:40 +02:00
Julian Winkler
eac3e42ede allow to build with newer jdk version and document dependencies 2023-04-28 18:52:21 +02:00
Mis012
8bd710a273 SQM: meson.build: glfw should not be in the dependencies anymore... 2023-01-07 19:13:53 +01:00