Commit Graph

241 Commits

Author SHA1 Message Date
Julian Winkler
b0df34027b ViewGroup: hide detached views 2025-10-26 17:45:26 +01:00
Julian Winkler
16db14ae54 View.serVisibility(): request relayout from parent
Since we no longer call requestLayout() recursively, it is now important
on which View the method is called.
2025-10-26 11:08:03 +01:00
Julian Winkler
86afbe26d1 ViewGroup: don't request layout for addInLayout / removeInLayout 2025-10-26 11:08:03 +01:00
Julian Winkler
377c140d7c View.requestLayout(): avoid recursion
Calling this method recursively can confuse Views that overwrite it.
2025-10-26 11:08:03 +01:00
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