Commit Graph

229 Commits

Author SHA1 Message Date
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
fea7a9e021 LayoutInflater: add AOSP boilerplate, it seems this file has large portions copied from AOSP 2024-04-07 23:23:31 +02:00
Mis012
1e64babfd4 borrow AnimationDrawable from AOSP 2024-04-03 01:55:03 +02:00
Mis012
04ee40d010 ViewGroup: make updateViewLayout actually update the layout 2024-04-03 01:55:03 +02:00
Markuss Broks
46140d44e3 Window: stub setFormat() 2024-04-01 19:41:06 +00: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
8f770d38d1 implement ViewGroup.removeViewInLayout() 2024-03-28 20:50:05 +01:00
Julian Winkler
494605932c implement more APIs 2024-03-22 21:02:22 +01:00
Julian Winkler
7d6eae5fa5 hack: call OnGlobalLayoutListener immediately
The NewPipe DownloadActivity waits for this callback
2024-03-22 21:02:22 +01:00
Julian Winkler
dda3063e79 PopupMenu: use AOSP MenuInflater and support item visibility 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
Mis012
5af3fa9e79 api-impl: add TableLayout from AOSP 2024-03-21 16:19:19 +01:00
Julian Winkler
276b5ca7ef add more APIs needed for NewPipe 2024-03-17 20:02:50 +01:00
Mis012
ab7c6cf834 api-impl: add stubs to make AnimationDrawable and Animation not cause lockups
apps may (ab)use AnimationDrawable.run and Animation.setAnimationListener
to time transitions between states; even though we don't currently implement
the animations, state transitions are still desirable (otherwise the app may
lock up)
2024-03-16 23:37:16 +01:00
Mis012
6443e3977c api-impl: quick&dirty implementations and stubing 2024-03-16 15:03:06 +01:00
Mis012
fa1aa36f6b api-impl: add stubs, put Vibrator.java in meson.build (oops), sort sources with LC_ALL=C sort -h 2024-03-16 10:13:55 +01:00
Julian Winkler
c8e70d49be implement View.getLocationOnScreen() properly 2024-03-15 19:51:02 +01:00
Julian Winkler
a67b973e67 MotionEvent: implement getRawX() / getRawY() properly 2024-03-15 18:57:49 +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
9fbfe9dea1 api-impl: remove hacky overrides for android.support
These were originally needed because the official android.support classes
required APIs that we didn't support and it didn't seem worth the effort
to make them happy when the actual apps using these compat classes
were comparatively trivial.

We now support all the necessary APIs, so we can remove the overrides
and let the apps use their bundled android.support classes.
2024-03-14 21:31:48 +01:00