Commit graph

419 commits

Author SHA1 Message Date
Julian Winkler
35f26faa90 ImageButton: implement setDrawable() 2024-03-24 22:13:28 +01:00
Julian Winkler
93b88ad0c3 implement more android.graphics.Matrix methods 2024-03-24 22:13:28 +01:00
Julian Winkler
f4a0191b1c implement VectorDrawable, by loading tmp SVG with gdkpixbuf
This won't work for Apps using VectorDrawableCompat
2024-03-24 21:26:38 +01:00
Julian Winkler
26b6da2c9c fix for atl_test_apks/views_widgets_samples_flower_finder.apk
This was broken since the automatic night mode commit. The sdkVersion
configuration for the AssetManager needs to be at least 24, as some
image resources of the APK are only in res/drawable-v24 subfolder
2024-03-24 15:11:38 +01:00
Julian Winkler
494605932c implement more APIs 2024-03-22 21:02:22 +01:00
Julian Winkler
e8dc6e2f0d implement Uri.Builder with hack for content:// URIs 2024-03-22 21:02:22 +01:00
Julian Winkler
e0b3975eb7 implement PackageManager.resolveContentProvider() 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
7ee4effb86 implement android.widget.Spinner using GtkDropDown
Helper classes from ListView implementation are reused. The declarations
have been moved to a new header file AdaperView.h
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
d122b2a528 api-impl: implement vibrator using evdev
we use the first vibrator that is marked for use with feedbackd in udev
2024-03-22 13:17:29 +01:00
Mis012
3022350844 SensorManager: accel: implement accelerometer data polling via /sys/bus/iio
for simplicity, we currently just take the first device in `/sys/bus/iio/devices`
that looks like an accelerometer.
2024-03-21 21:13:44 +01:00
Mis012
49436ef172 main: add ATL_FORCE_FULLSCREEN env 2024-03-21 21:11:26 +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
50fa760c63 NoitficationManager: implement cancel 2024-03-18 23:12:04 +01:00
Julian Winkler
cdcc3411aa NotificationManager: delete ongoing and MediaStyle notifications on exit
The XDG Portal API doesn't have a concept of ongoing notifications.

MediaStyle notifications could be changed to MPRIS in the future.
2024-03-18 15:41:44 +01:00
Julian Winkler
acb00a8beb NotificationManager: add support for icons 2024-03-18 14:37:56 +01:00
Julian Winkler
45de09a191 notification support using libportal 2024-03-18 07:26:25 +01:00
Julian Winkler
b14549e639 implement ConnectivityManager using GNetworkMonitor 2024-03-17 22:39:13 +01:00
Julian Winkler
14217e8724 simple implementation of PopupMenu using GtkPopoverMenu 2024-03-17 22:39:13 +01:00
Julian Winkler
6513195b9e implement file chooser using GtkFileChooserNative 2024-03-17 22:39:13 +01:00
Julian Winkler
276b5ca7ef add more APIs needed for NewPipe 2024-03-17 20:02:50 +01:00
Mis012
b3c0023a45 api-impl-jni: SensorManager: clean up local references after use 2024-03-17 17:48:26 +01:00
Mis012
30d1574911 Bitmap: pixbuf uses UNPREMUL_SK_ALPHATYPE 2024-03-17 01:41:36 +01:00
Mis012
8719bb8308 Bitmap: from_path: add alpha channel if missing
Skia doesn't support 24bpp bitmaps
2024-03-16 23:37:16 +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
ec2c956acb doc: update Envs.md (clarification and removal of no longer existing env) 2024-03-16 23:37:16 +01:00
Mis012
20b179387b api-impl: implement accelerometer support, no backend yet
currently x,y,z values are hardcoded and can only be changed with gdb
2024-03-16 15:06:06 +01:00
Mis012
6443e3977c api-impl: quick&dirty implementations and stubing 2024-03-16 15:03:06 +01:00
Mis012
2e864adc0f implement drawing into Bitmaps with Canvas, make BitmapDrawable use use paintable, misc Bitmap improvements 2024-03-16 15:00:22 +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
19f1747e0d View.getGlobalVisibleRect(): surface transform needs to be added 2024-03-15 19:51:02 +01:00
Julian Winkler
c8e70d49be implement View.getLocationOnScreen() properly 2024-03-15 19:51:02 +01:00
Julian Winkler
95be104d5a View: use WrapperWidget when computing transforms to avoid scroll offset 2024-03-15 18:57:49 +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
Mis012
b55bbd8a6f add android/widget/AbsoluteLayout from AOSP 2024-03-14 12:50:49 +01:00
Mis012
a7e89b816b graphics/drawable/AnimationDrawable: subclass Drawable instead of Object 2024-03-14 12:50:49 +01:00
Mis012
c0d3e679ac ViewGroup: implement measureChildren 2024-03-14 12:50:49 +01:00
Mis012
8ad7359941 ViewGroup.java: fix code style 2024-03-14 12:50:49 +01:00
Julian Winkler
75e42e6bff onInterceptTouchEvent: don't self propagate cancel
This is needed, to make Gravity Defied keyboard work again
2024-03-12 17:56:17 +01:00
Mis012
49aef9ff08 main: set window icon to apk's launcher icon
Note this currently only works with Gtk's X11 backend, because
there is no way for to do this on Wayland even if Gtk wanted to.
2024-03-11 15:15:44 +01:00
Julian Winkler
a3a7def204 night-mode: check for GTK_THEME env var and prefer-dark setting
GTK_THEME env var does not influence gtk-theme-name property. So it has
to be checked by hand.
2024-03-10 23:00:42 +01:00
Julian Winkler
9509289ee5 implement SeekBar using GtkScale 2024-03-10 23:00:42 +01:00
Julian Winkler
aef5d5ad23 Html.fromHtml(): replace   as well 2024-03-10 23:00:42 +01:00