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
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
Julian Winkler
0614e6c245
add some stubs needed since we now handle onMeasure() for more Views
2023-12-29 11:40:52 +01:00
Julian Winkler
757d689689
unify View construction and measurement
...
No longer allow constructing Views without Context.
Lets have only one onMeasure() method to unify behaviour
2023-12-29 11:40:52 +01:00
Julian Winkler
bff62a6e77
View: implement visibility and alpha properly
2023-11-12 12:16:23 +01:00
Julian Winkler
1a039e5e51
add missing APIs related to scrolling
2023-11-12 12:16:23 +01:00
Julian Winkler
7ac38adae0
View.scrollTo(): invalidate View
2023-11-12 12:16:23 +01:00
Julian Winkler
36d7a1cc44
support layout margins
...
This makes the menu in Gravity Defied not get behind the keyboard.
Also makes the TabLayout in NewPipe not get behing the titlebar.
2023-11-12 12:16:23 +01:00
Julian Winkler
72a8b3a047
add more stubs
2023-11-12 12:16:23 +01:00
Julian Winkler
6ef1e523cc
View: relayout on visibility changes
2023-11-08 22:44:39 +01:00
Julian Winkler
385f6dcf0b
android_layout_measure: reuse old MeasureSpec for missing dimension
...
This should fix the SurfaceView in NewPipe not resizing automatically
2023-11-04 08:49:58 +01:00
Julian Winkler
4bce3544dd
WrapperWidget: handle View.computeScroll()
...
Currently the scrolling is purely visual.
2023-11-02 23:30:21 +01:00