Commit Graph

237 Commits

Author SHA1 Message Date
Julian Winkler
82477865ad api-impl: add some methods to make the WhatsApp video player functional 2025-10-21 06:59:59 +02:00
Julian Winkler
f208e944d2 View: respect requestLayout() calls also from inside onMeasure()
Previously, we accidentally cleared the flag after onMeasure(). This
fixes one cause for the bug where you had to resize the window to see
the content, but the bug still persists in some apps like Shosetsu.
2025-10-10 12:18:07 +02:00
Julian Winkler
d4aca99823 View: replace custom isAttachedToWindow tracking with GTK signals 2025-10-10 12:05:48 +02:00
Julian Winkler
076ade2c5f api-impl: misc stubs and fixes for WhatsApp 2025-10-06 11:36:08 +02:00
Julian Winkler
c60f8e3850 implement AlarmManager and JobScheduler
This is needed for the bootstrap job when setting up WhatsApp in
companion device mode.

The implementation is based on `Handler.postDelayed()`, so jobs and
alarms are not persistent for now.
2025-10-04 13:05:00 +02:00
Julian Winkler
a09aa53ecf api-impl: stubs and fixes for Breezy Weather 2025-10-01 22:59:22 +02:00
Julian Winkler
6e6e9a3be8 api-impl: misc fixes and additions to make Telegram launch 2025-07-14 16:32:28 +02:00
Julian Winkler
bf5eb099bd api-impl: misc additions for different apps 2025-07-14 16:32:28 +02:00
Mis012
ccd11d38b3 View: properly implement translation properties 2025-06-07 01:15:58 +02:00
Julian Winkler
3d9099a37f setSystemUiVisibility(): fullscreen also for SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
This mode would fullscreen the app behind the semi-transparent status
bars, but such a mode doesn't exist on desktop Linux, so we just use
normal fullscreen.
2025-06-04 22:48:23 +02:00
Julian Winkler
e011092025 api-impl: misc APIs for WhatsApp media chooser Activities 2025-04-26 11:07:31 +02:00
Julian Winkler
cff51b230b api-impl: misc stubs to make FCM-toolbox launch 2025-04-21 11:11:16 +02:00
Julian Winkler
5de2c27abf api-impl: misc stubs for WhatsApp support 2025-04-21 10:19:48 +02:00
Julian Winkler
bd83e211d0 handle onClickListener for synthesized MotionEvents
Since synthesized events can't be handled by GTK, we also need to handle
gestures by ourself in that case.
2025-04-18 07:21:21 +02:00
Julian Winkler
728c43f925 implement View.scrollBy() 2025-04-09 12:40:09 +02:00
Nikita Travkin
882cd1b471 ATLKeyboard: Integrate with phosh and wayland IME 2025-04-02 16:58:17 +02:00
Mis012
bce91cc527 api-impl: add ATLKeyboardViewer to support launching IMEs 2025-04-02 16:58:17 +02:00
Mis012
f3332b7201 api-impl: misc stubs and fixes 2025-03-26 21:12:02 +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
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
caa4700487 ViewGroup: keep track of detachedChildren
Some ViewGroups like ViewPager2 call attachViewToParent() without
calling detachViewFromParent() first. This is not allowed according to
the Android API spec, but we need to handle 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
494b4e7134 call onAnimationStart() / onAnimationStop() callbacks from View.startAnimation() 2025-03-25 23:17:09 +01:00
Julian Winkler
1edb28b0f7 implement ViewGroup.detachViewFromParent() properly
Temporarily detaching a View from its parent should not call any
callbacks, which was the case with the old implementation. This was
causing infinite recreation loops in some cases.
2025-03-23 18:32:47 +01:00
Mis012
582307f74c ExpandableListView: borrow from AOSP master (commit 272d3ffb52e10ee821eaf58fa398376c45b16b06) 2025-03-07 18:41:21 +01:00