Commit Graph

403 Commits

Author SHA1 Message Date
Mis012
74f2e9f308 MediaPlayer: implement using GtkMediaStream 2025-03-04 18:10:32 +01:00
Julian Winkler
a9f377f754 Button: fix setText() overriding the compoundDrawable 2025-03-02 00:05:59 +01:00
Julian Winkler
b33a470c7b View: call onLayout() only on size change or on request
GTK always wants us to call gtk_widget_allocate() on all children, so we
need to do it manually when not calling onLayout().
2025-03-02 00:05:59 +01:00
Mis012
f0fcd47c80 replace our implementation of applyStyle with a native function that calls into libandroidfw
also change a few things to work with latest libandroidfw, since we are now using
it's helper functions that need to agree on e.g STYLE_NUM_ENTRIES with the Java
code.
2025-02-27 22:44:55 +01:00
Mis012
d97c3ee048 AssetManager: update to use v2 of libandroidfw C api 2025-02-27 22:44:55 +01:00
Julian Winkler
19e91df8af WrapperWidget: make sure onTouch listeners are called before onClick listeners 2025-02-24 21:49:46 +01:00
Julian Winkler
77fec3c9e6 Button: implement setCompoundDrawables() 2025-02-24 21:49:46 +01:00
Julian Winkler
161904c8a8 View: implement onKeyDown() callback 2025-02-24 21:49:46 +01:00
Julian Winkler
24f839f556 make android.text.Layout.draw() compatible custom Canvas classes
TextAndroidCanvas is a proxy canvas class which prevents us from
accessing the GtkSnapshot of the real canvas. To solve this problem, we
call Canvas.drawText() for each line.
2025-02-24 21:49:46 +01:00
Julian Winkler
4bb5dfd86e Paint: implement textAlign and text bounds 2025-02-24 21:45:36 +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
Mis012
899805f23f Canvas: add drawLines 2025-02-15 21:42:21 +01:00
Julian Winkler
4a7db70fbc implement PopupWindow.update() 2025-02-15 10:42:30 +01:00
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