Julian Winkler
49fa854c93
add a media ContentProvider
...
Every time the ContentProvider is accessed, a file chooser opens and the
selected file is then provided as media file.
2025-04-23 18:13:15 +02:00
Julian Winkler
e652089252
map Android UnifiedPush to DBus UnifiedPush
2025-04-21 07:31:06 +02:00
Mis012
272c554262
register path overrides with libc_bio, install fonts.xml
2025-04-11 22:22:54 +02:00
Nikita Travkin
882cd1b471
ATLKeyboard: Integrate with phosh and wayland IME
2025-04-02 16:58:17 +02:00
Mis012
74f2e9f308
MediaPlayer: implement using GtkMediaStream
2025-03-04 18:10:32 +01:00
Julian Winkler
f20bb6cb1c
ContentResolver: implement query() support for file:// URIs
...
This is needed for the subscription import feature in NewPipe.
2025-02-22 23:49:43 +01:00
Julian Winkler
5375f4b5fd
implement android.text.Layout using PangoLayout
...
This is needed to have proper line wrapping in composeUI apps.
In the CTS, android.text.cts.StaticLayoutTest passes all checks now.
2025-02-13 07:01:17 +01:00
Mis012
2271ae9c06
main: ensure bionic-linked libraries get a non-changning stack guard value
2025-01-17 19:54:36 +01:00
Pierre-Hugues Husson
c81442321e
api-impl: stubs and fixes for latest WhatsApp version
2025-01-01 11:33:16 +01:00
Julian Winkler
0dfcb9324f
drop GTK < 4.14 ifdefs
2024-12-22 23:40:11 +01:00
Julian Winkler
7695aadf91
implement Paint as combination of GDK, GSK and Pango attributes
2024-12-22 23:40:11 +01:00
Julian Winkler
f3bc468a1c
drop Skia dependency
...
Everything is implementede using GTK Scene Graph now. Skia is no longer
needed.
2024-12-22 12:30:29 +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
47fc749018
implement WindowManager for composeUI popups
...
currently everything is created as GtkPopover which is not ideal for
toplevel windows, so print a warning in that case.
2024-12-17 22:38:09 +01:00
Julian Winkler
b087b82616
implement WallpaperManager.setBitmap() using XDG Portal
2024-12-13 22:32:04 +01:00
Julian Winkler
db1e9458de
meson.build run dx with --incremental
...
This enables incremental dexing which speeds up incremental builds
2024-12-13 21:43:50 +01:00
Julian Winkler
a1c29c012e
meson.build: don't build test_runner.jar by default
2024-12-13 09:29:54 +01:00
Julian Winkler
60095ea795
ListView: copy from AOSP
...
copied from tag android-6.0.1_r81
2024-11-30 18:56:17 +00:00
Mis012
d5bc4ea9a6
implement instrumentation
2024-11-30 18:57:03 +01:00
Daniel Panero
be93b4c396
JavaWidget: add css classes and default_stylesheet.css
2024-11-26 16:33:38 +01:00
Julian Winkler
332d3d1137
copy AdapterView, AbsSpinner and Gallery from AOSP
...
copied from tag android-6.0.1_r81
existing GTK based implementation was moved from AbsSpinner to Spinner
2024-11-24 22:11:40 +00:00
Daniel Panero
5f6943fd81
Add backbutton
2024-11-17 23:37:10 +00:00
Julian Winkler
58f29b7ba2
implement minimal Wayland server to import EGL surfaces into GtkGraphicsOffload
...
This allows us to use the translucent cutout feature of
GtkGraphicsOffload, which can not be implemented with our custom
subsurface implementation.
2024-11-17 16:50:45 +01:00
Julian Winkler
9b6c8db5ed
enable lazy linking for libandroid so that it can launch with missing symbols
...
Outdated Nvidia driver version 340 doesn't implement EGL and causes
following error:
symbol lookup error: /app/lib/libandroid.so.0: undefined symbol: eglGetPlatformDisplay
The crash can be avoided by lazy linking as long as the application doesn't
use EGL directly.
2024-10-29 19:59:35 +00:00
Mis012
3d02598b75
meson.build: add install_rpath for libtranslation_layer_main.so
2024-10-29 14:12:39 +01:00
Julian Winkler
21a75d7ff0
WebView: use Asset_read() instead of Asset_openFileDescriptor()
...
openFileDescriptor doesn't work for assets which are compressed inside
the APK.
2024-10-05 10:26:50 +02:00
Julian Winkler
f3092fd4bd
implement file sharing by file descriptor
...
Using custom gdbus code, as libportal doesn't expose the raw
org.freedesktop.portal.OpenURI.OpenFile method.
2024-10-03 15:57:44 +02:00
Julian Winkler
c492e1f03f
add Java APIs needed for WhatsApp MainActivity and ConversationActivity
2024-10-03 15:57:44 +02:00
Mis012
e761bb6a6d
api-impl: implement WebView using webkitgtk
2024-09-13 20:29:56 +02:00
Julian Winkler
b54bed4784
implementing MediaSession using MPRIS
...
NotificationManager will now ignore MediaStyle notifications
2024-07-17 22:35:55 +02:00
Julian Winkler
f249e1c487
MediaCodec: implement software decoding
...
The decoding is done by libavcodec, libswscale converts YUV to RGB data, which is
then put into a GtkPicture as GdkMemoryTexture.
2024-06-02 18:12:59 +02:00
Julian Winkler
e8eabb2027
GskCanvas.drawBitmap(): reuse GdkTexture objects
2024-05-27 16:37:49 +00:00
Mis012
4374ac01ad
AssetManager: use libandroidfw to read assets straight from the apk file
...
they can still be put on the filesystem and will be read from there
preferentially, though overriding assets in this way can confuse
some creatively written apps and cause them to crash.
2024-05-26 00:10:16 +02:00
Julian Winkler
d4086fdb90
meson.build: run dx on the whole jar
...
This is now possible without ARSCLib
Also remove --verbose flag
2024-05-23 23:32:19 +02:00
Julian Winkler
b25545c3c0
remove ARSCLib from the source tree
...
Also remove references to ARSCLib from doc/Architecture.md
2024-05-23 23:32:19 +02:00
Julian Winkler
cc5d4a3cb3
use libandroidfw for resource XML parsing
...
androidfw is implemented in native code and has much better performance
than ARSClib
2024-05-12 16:49:14 +00:00
Mis012
5a8dba4064
meson.build: specify dependency on openxr headers
2024-05-09 21:27:19 +02:00
Julian Winkler
5e674e1410
add option to install desktop entry with dynamic launcher portal
...
A desktop entry is needed to have window icons on Wayland.
2024-04-13 19:20:38 +02:00
Mis012
26a6b90b1c
meson.build: remove javac version warning
...
whatever the issue was it's probably long gone
2024-03-24 22:54:58 +01:00
Julian Winkler
ad266c7821
add support for custom Java Drawables
...
This is made possible, by adding a second Canvas implementation which
can be used to render directly to GdkSnapshot objects
For now the only implemented method is drawBitmap(), this is already
enough to make VectorDrawableCompat functional
2024-03-24 22:13:28 +01:00
Julian Winkler
3d9468aa9f
implement android.graphics.Path using skia
2024-03-24 22:13:28 +01:00
Julian Winkler
7ee4effb86
implement android.widget.Spinner using GtkDropDown
...
Helper classes from ListView implementation are reused. The declarations
have been moved to a new header file AdaperView.h
2024-03-22 21:02:22 +01:00
Mis012
d122b2a528
api-impl: implement vibrator using evdev
...
we use the first vibrator that is marked for use with feedbackd in udev
2024-03-22 13:17:29 +01:00
Julian Winkler
45de09a191
notification support using libportal
2024-03-18 07:26:25 +01:00
Julian Winkler
b14549e639
implement ConnectivityManager using GNetworkMonitor
2024-03-17 22:39:13 +01:00
Julian Winkler
14217e8724
simple implementation of PopupMenu using GtkPopoverMenu
2024-03-17 22:39:13 +01:00
Julian Winkler
276b5ca7ef
add more APIs needed for NewPipe
2024-03-17 20:02:50 +01:00
Mis012
20b179387b
api-impl: implement accelerometer support, no backend yet
...
currently x,y,z values are hardcoded and can only be changed with gdb
2024-03-16 15:06:06 +01:00
Mis012
2e864adc0f
implement drawing into Bitmaps with Canvas, make BitmapDrawable use use paintable, misc Bitmap improvements
2024-03-16 15:00:22 +01:00
Mis012
fa1aa36f6b
api-impl: add stubs, put Vibrator.java in meson.build (oops), sort sources with LC_ALL=C sort -h
2024-03-16 10:13:55 +01:00