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