Commit Graph

676 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
72e86cba13 PackageManager.getApplicationInfo(): don't pretend that other packages are installed
So that WhatsApp no longer thinks the task killer apps are installed.
2025-10-21 06:59:59 +02:00
Julian Winkler
f5c1de9782 EditText: handle setText(null) properly 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
d3c0a09331 PackageParser: don't validate signing certificate by default
This significantly speeds up startup time with larger APK files.

NewPipe launches 0.5 s faster.
WhatsApp launches 3.5 s faster.
2025-10-08 16:04:33 +02:00
Julian Winkler
076ade2c5f api-impl: misc stubs and fixes for WhatsApp 2025-10-06 11:36:08 +02:00
Julian Winkler
f90499d1df FLAG_ACTIVITY_CLEAR_TOP: create Activity if it doesn't already exist
When originally implementing this flag, we forgot to handle cases where
the Activity does not exist.
2025-10-06 11:35:47 +02:00
Julian Winkler
b76eb0f1be implement Parcelable serialization using GVariantBuilder
This is needed for the error reporting notification intent in NewPipe
now that we support persistent notifications.
2025-10-05 08:46:53 +02:00
Julian Winkler
d78fb53ce3 implement Canvas.clipRect() using gtk_snapshot_push_clip() 2025-10-04 17:45:03 +00:00
Julian Winkler
e58d8d2065 api-impl: stubs and fixes for Shosetsu 2025-10-04 17:45:03 +00:00
Julian Winkler
8dcaf3e1ef Drawable.createFromXml(): implement InsetDrawable inflation 2025-10-04 17:35:28 +02:00
Julian Winkler
a01c5e482a Dialog: apply window background from theme 2025-10-04 17:35:28 +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
2269a400ad Try to start all external Services over DBus
No need to hardcode this only for Cloud Messaging
2025-10-01 12:07:42 +02:00
Julian Winkler
f7a29d8731 implement Google Cloud Messaging using DBus activatable GActions
This needs https://gitlab.com/android_translation_layer/gcm_service running in the
background.
For D-Bus activation, a D-Bus service file needs to be manually
installed under ~/.local/share/dbus-1/services.

Tested with FCM-Toolbox app.
2025-10-01 12:07:42 +02:00
Julian Winkler
cf93a172b9 Service.stopForeground(): actually cancel the notification 2025-09-03 19:25:59 +02:00
Julian Winkler
996c52394c DateUtils.formatElapsedTime(): fixup previous change
The function actually gets seconds, not milliseconds. So the
implementation was already correct before the recent change.
Just the argument naming was wrong.
2025-09-03 19:25:40 +02:00
Julian Winkler
e7318f0757 fixes for NewPipe version 0.28.0 2025-09-01 23:43:00 +02:00
Mis012
ebd16f01dc main-executable: extract native libs before instantiating the Application class 2025-08-03 18:53:23 +02:00
Julian Winkler
942299fbd5 add Editable.insert() 2025-07-28 22:27:50 +02:00
Julian Winkler
2ca1106399 make AppWidgetProvider not abstract 2025-07-28 22:27:50 +02:00
Julian Winkler
a9f68c976b startActivity(): implement Intent.FLAG_ACTIVITY_CLEAR_TOP 2025-07-28 22:27:50 +02:00
Julian Winkler
710fc5b04e mock existence of a web browser application 2025-07-28 22:27:45 +02:00