Commit Graph

98 Commits

Author SHA1 Message Date
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
Mis012
4e3b180dd7 android/view/View: clean up retrieval of id 2024-03-07 15:48:53 +01:00
Julian Winkler
efa61afc71 implement View.OnLongClickListener as GtkGestureLongPress 2024-02-27 22:02:36 +01:00
Julian Winkler
dd839e5a04 View.isNestedScrollingEnabled() default to false
RecyclerView overrides this method to return true
2024-02-27 22:02:36 +01:00
Julian Winkler
ddc36f5ccc postOnAnimation: add minimum delay of 1/60 s
This fixes smooth animations like kinetic scrolling
2024-02-27 22:02:36 +01:00
Julian Winkler
8dafa41ea9 implement View.onInterceptTouchEvent() callback
This is needed to support nested scrolling

A second GtkEventControllerLegacy gets registerd with GTK_PHASE_CAPTURE
2024-02-25 18:18:45 +01:00
Julian Winkler
5dfadc9c59 Add some more methods needed by NewPipe. Mostly stubs 2024-02-18 10:08:43 +01:00
Julian Winkler
d2725a73c9 View: parse minWidth and minHeight attributes from XML 2024-02-16 15:28:04 +01:00
Julian Winkler
d253bfd24f findViewById(): only search among child views
also set default content view in Window
2024-02-16 15:28:04 +01:00
Julian Winkler
d2f28a5b21 add some methods needed for androidx dialogs 2024-02-16 15:28:04 +01:00
Julian Winkler
7b952c4336 View: set visibility attribute from XML 2024-02-10 10:28:48 +01:00
Julian Winkler
aa56f3fb81 Add some methods needed for androidx preferences 2024-02-10 10:28:48 +01:00
Julian Winkler
810886ca59 View: set background as Drawable 2024-02-06 16:41:49 +01:00
Julian Winkler
493cb8284a fix some Drawable related crashes in NewPipe 2023-12-30 23:38:56 +01:00
Julian Winkler
ca3c17d773 implement DrawableContainer and copy StateListDrawable from AOSP 2023-12-30 23:38:56 +01:00
Julian Winkler
8c7dbf6ceb start implementing Drawable using underlying GdkPaintable 2023-12-30 23:38:48 +01:00