Julian Winkler
db1b62bca3
View.requestLayout(): iterate all parents
2024-07-31 18:21:14 +02:00
Julian Winkler
44fef4ba36
reuse ViewPropertyAnimator object
...
This is needed to make sure we don't call outdated AnimatorListeners
2024-07-31 18:21:14 +02:00
Mis012
004ba4ff00
remove some old debugging prints, gate others behind verbose log
2024-06-22 14:35:56 +02:00
Mis012
df074bd2b4
api-impl: add misc stubs/impls
2024-06-22 14:22:37 +02:00
Julian Winkler
bb50bbfa91
add lots of java APIs needed for Whatsapp
2024-06-16 08:45:31 +02:00
Mis012
81797c2667
api-impl: add misc stubs/impls
2024-06-13 21:00:06 +02:00
Julian Winkler
c5e0f8a7fd
View.draw(): draw background, content, children in same order as AOSP
2024-05-27 16:37:49 +00:00
Julian Winkler
6f02565920
GskCanavas: draw default content when custom View calls super.onDraw()
2024-05-27 16:37:49 +00:00
Julian Winkler
dd3965df8a
WrapperWidget: create SkArea also for Views with custom draw() method
...
Previously we only handled custom onDraw() methods
2024-05-20 08:12:02 +02:00
Julian Winkler
2324418813
View.getMatrix(): always return identity matrix
...
The returned Matrix should only represent rotation and scaling of the
view and should not depend on the position. Since we don't support
rotation and scaling yet, just always return identity
2024-05-20 08:12:02 +02:00
Julian Winkler
de9ea3655e
implement View.getHitRect()
2024-05-19 15:30:09 +02:00
Julian Winkler
c167e183be
add more View methods
2024-05-19 15:30:09 +02:00
Mis012
2802aaa28d
api-impl: add stubs / simple stuff for OsmAnd
...
without native libs present, launches and renders white square
in map view; with native libs present, segfaults in bundled skia
2024-04-13 15:22:38 +02:00
Julian Winkler
2f4cd3917f
implement some APIs needed for OctoDroid
2024-04-09 18:19:13 +02:00
Mis012
1e64babfd4
borrow AnimationDrawable from AOSP
2024-04-03 01:55:03 +02:00
Julian Winkler
654d551377
View.setTranslationY(): queue allocate when called on CoordinatorLayout
...
androidx adjusts the translation a little bit and immediately
reverts it to trigger a layout pass on the CoordinatorLayout.
Calling gtk_widget_queue_allocate here makes CoordinatorLayout behave
correctly, but it causes strange issues with other Views. Therefore, it is
done only for CoordinatorLayouts for now.
2024-03-28 20:50:05 +01:00
Julian Winkler
9b9e046d68
implement View.getLocationInWindow() and MotionEvent.offsetLocation()
...
This is needed for NestedScrollViews to detect and correct parent scroll offset
2024-03-28 20:50:05 +01:00
Julian Winkler
494605932c
implement more APIs
2024-03-22 21:02:22 +01:00
Mis012
0592b71489
View: basic implementation for performHapticFeedback
...
we currently ignore the feedbackConstant and simply vibrate for 10ms
2024-03-22 14:04:17 +01:00
Mis012
6839f8b651
View: requestLayout: post with Looper to avoid stack exhaustion
2024-03-21 21:05:20 +01:00
Julian Winkler
276b5ca7ef
add more APIs needed for NewPipe
2024-03-17 20:02:50 +01:00
Julian Winkler
c8e70d49be
implement View.getLocationOnScreen() properly
2024-03-15 19:51:02 +01:00
Julian Winkler
796742c0fc
implement android.graphics.Matrix and View.getMatrix()
...
This is needed for androidx CoordinatorLayout and will also be required
for VectorDrawables
2024-03-15 18:57:49 +01:00
Julian Winkler
f852c2bbc9
remove View.haveComplexMeasure as it is redundant with haveCustomMeasure
...
Makes haveCustomMeasure true by default. And disable it for widgets
which previously set haveComplexMeasure
2024-03-15 18:57:49 +01:00
Julian Winkler
c0bc875c11
ScrollView: implement custom onMeasure()
2024-03-15 18:57:49 +01:00