Commit Graph

365 Commits

Author SHA1 Message Date
Julian Winkler
123de5f819 Dialog: some fixes for CTS
Most Dialog test still fail, because we don't handle KeyEvents
2025-02-13 07:01:17 +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
Julian Winkler
fb2cba8572 fix Matrix.getValues() being transposed
This makes more CTS tests pass
2025-02-13 06:56:31 +01:00
Julian Winkler
c725bb32df copy AutoCompleteTextView from AOSP
copied from main branch (frameworks/base commit 72ea9148bc619515a649cec9029136e42b342d9b)
2025-02-13 06:56:26 +01:00
Julian Winkler
87b254156d Drawable: queue up invalidate() calls, because GTK can't invalidate from inside draw()
This is analogous to wrapper_widget_queue_draw().
2025-02-10 21:55:14 +01:00
Julian Winkler
652715ee00 Canvas: add more Bitmap drawing methods 2025-02-10 21:55:14 +01:00
Julian Winkler
f69cff7113 implement Bitmap.compress() 2025-02-10 21:55:14 +01:00
Mis012
ab5b600bf1 run whitespace_format.py --add-new-line-marker-at-end-of-file --remove-trailing-whitespace --remove-trailing-empty-lines --new-line-marker=linux --normalize-non-standard-whitespace=remove on src/ 2025-02-05 16:27:17 +01:00
Julian Winkler
2077dc9406 MediaCodec: initialize audio resampler after the codec sample rate is known 2025-01-28 06:54:31 +01:00
Julian Winkler
ecd5996ad2 MediaCodec: inject SPS and PPS into the first video frame
For some reason, this is required to make livestreams functional
2025-01-28 06:54:31 +01:00
Julian Winkler
68e32eab45 MediaCodec: add mp3 and opus codecs 2025-01-26 22:27:19 +01:00
Mis012
465b3ebbfe View: support multitouch properly
seems to work, but there might still be some edge cases
2025-01-15 00:06:06 +01:00
Julian Winkler
554b4d346a TextView: store text in the Java object
Some apps expect getText() to return a Spannable instead of a String.
2025-01-12 14:37:04 +01:00
Julian Winkler
785c24af62 implement View.setKeepScreenOn() 2025-01-11 23:23:53 +01:00
Julian Winkler
f2a32dae61 update android_content_res_AssetManager.h 2025-01-11 23:23:53 +01:00
Julian Winkler
e6a22df315 AudioTrack: recover underruns properly 2025-01-11 23:23:53 +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
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
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