Commit Graph

742 Commits

Author SHA1 Message Date
Julian Winkler
1aba1c901d LayoutInflater: use onCreateView() method from Activity if provided 2025-01-11 22:42:25 +01:00
Julian Winkler
6be60574aa Activity.startActivityForResult(): use internalCreateActivity helper method 2025-01-11 22:42:25 +01:00
Julian Winkler
a4c14c9cd1 implement ObjectAnimator.ofInt() using reflection 2025-01-11 22:42:25 +01:00
Mis012
7aea3a6920 PackageParser: fix use-after-release 2025-01-02 22:40:26 +01:00
Mis012
7354864e34 Path: stub out the rest of addRoundRect variants 2025-01-02 22:39:57 +01:00
Mis012
279c95becb borrow relevant parts of AOSP commit dbee9bb342cdfaa5155b1918f90262c05e2464cb
Our SVG-based VectorDrawable implementation still relies on `getDefaultColor`
but exceptions are no longer thrown when parsing VectorDrawable xml files
which use gradients as colors.
2025-01-02 22:25:13 +01:00
Mis012
7d59407138 AssetManager: implement resolveAttrs 2025-01-02 22:18:45 +01:00
Mis012
b56f42ec3d android/annotations: add Nullable and NonNull from AOSP 2025-01-02 19:17:05 +01:00
Julian Winkler
c16feb72e5 MessageQueue: fix integer overflow when converting ms to us 2025-01-01 11:33:16 +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
09a38f9a28 AudioTrack: set buffer size and period size correctly
Android buffer size is in bytes, but ALSA buffer size is in frames. Also
the period size was not set previously.

This fixes several audio issues on postmarketOS and probably other
distributions that still use PulseAudio instead of PipeWire.
2024-12-30 09:47:14 +01:00
Julian Winkler
d6f50e160c handle trailing colons when parsing gtk-decoration-layout
postmarketOS Phosh has the default gtk-decoration-layout set to "menu:".
We don't want window decorations there by default.
2024-12-30 09:47:14 +01:00
Julian Winkler
054fb9276a GLSurfaceView: call eglMakeCurrent() again after onSurfaceCreated()
This seems to be required by some newer mesa drivers. For example when
running Flappy Bird with latest freedreno drivers.
2024-12-30 09:47:14 +01:00
Julian Winkler
b4f7c64cef Context.updateConfig(): handle XDG-portal unvavailablility
The XDG-portal DBus instance is not available to applications launched
from SSH on postmarketOS.
2024-12-30 09:46:52 +01:00
Julian Winkler
bf923cfcfa Bitmap: create Texture as GdkMemoryTexture if nothing has to be rendered
This improves OsmAnd V1 renderer performance.
2024-12-22 23:40:11 +01:00
Julian Winkler
0dfcb9324f drop GTK < 4.14 ifdefs 2024-12-22 23:40:11 +01:00
Julian Winkler
260821d68c Bitmap: implement pixel buffer access
For GPU textures, the GdkTextureDownloader will take care of format
conversions, so the application never sees the actual format.

If the application calls AndroidBitmap_unlockPixels(), the texture is
converted into a GdkMemoryTexture and can be accessed zero copy.
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
ba302d87ec add back graphics APIs for the previously working applications 2024-12-22 12:30:29 +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
c076c1e545 implement DateUtils.formatDateTime() 2024-12-22 12:30:29 +01:00
Julian Winkler
2f122cbad7 SurfaceView.unlockCanvasAndPost(): create GSK renderer without surface
This is needed to allow using the renderer on non UI threads.
2024-12-22 10:24:55 +01:00
Julian Winkler
ae58d29336 BitmapDrawable: support intrinsic sizes 2024-12-22 10:24:55 +01:00
Julian Winkler
e8a08f3d28 implement HtcAlertDialog for Teeter 2024-12-22 10:24:55 +01:00