Commit Graph

387 Commits

Author SHA1 Message Date
Mis012
340fae107e PopupWindow: implement more stuff, mainly offset 2025-03-26 20:18:16 +01:00
Mis012
4d12ad5c90 View: add basic implemntation of dispatchTouchEvent
Some Views block all events going to their descendants, and
then synthesize new events themselves. Gtk doesn't allow event
synthesization, which makes this quite annoying to deal with.
This initial implementation definiely has some problems,
for example it seems to cause infinite loops in some cases,
however it surprisingly works well enough.
2025-03-26 20:06:15 +01:00
Mis012
b19f2c35d2 api-impl-jni: SoundPool: fix formatting 2025-03-26 19:44:06 +01:00
Mis012
6d73fd7a99 XmlBlock: implement nativeGetAttributeName, use getPooledString instead of mStrings.get 2025-03-26 19:42:49 +01:00
Julian Winkler
15a6432d01 Revert "View: call onLayout() only on size change or on request"
This reverts commit b33a470c7b.

This commit was added as fix for layout recreation loops, but this is no
longer a problem, since ViewGroup.detachViewFromParent() has been
improved. The first fix is no longer needed and it seems to cause some
minor regressions, so we revert it.
2025-03-25 23:34:56 +01:00
Julian Winkler
4a4b4a4722 api-impl: misc stubs and fixes for several apps including F-Droid and AuroraStore 2025-03-25 23:34:56 +01:00
Julian Winkler
506de2b807 fix Layout.getLineStart() / Layout.getLineEnd()
These methods are supposed to return the String index and not
coordinates as accidently assumed when originally implementing it.
2025-03-25 23:17:09 +01:00
Mis012
32a7846a9d AssetManager: fix uses of long instead of jlong 2025-03-24 16:59:09 +01:00
Mis012
2e9099baed AssetManager: use locking 2025-03-07 18:41:21 +01:00
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