Commit graph

280 commits

Author SHA1 Message Date
Julian Winkler
35f26faa90 ImageButton: implement setDrawable() 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
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
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
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
c8e70d49be implement View.getLocationOnScreen() properly 2024-03-15 19:51:02 +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
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
Julian Winkler
d22d083eb8 implement CheckBox and RadioButton using GtkCheckButton 2024-03-10 17:49:11 +01:00
Julian Winkler
1d0ad8132d regenerate R.java and Manifest.java to match framework-res.apk 2024-03-10 14:36:27 +00:00
Julian Winkler
005e2299bd automatically enable UI_MODE_NIGHT when gtk-theme-name contains "dark"
gtk-theme-name is only checked once at start up
2024-03-10 12:05:33 +01:00
Mis012
4e3b180dd7 android/view/View: clean up retrieval of id 2024-03-07 15:48:53 +01:00
Mis012
7207587b2f add some stubs, borrow ListActivity and SimpleAdapter from AOSP 2024-03-07 15:47:10 +01:00
Mis012
ecaf968da1 treat application/activity names in AndroidManifest.xml as dot-prefixed when they don't contain any dots 2024-03-07 15:44:21 +01:00
Mis012
6d587a19e5 misc stuff to make glmark2 run 2024-03-05 17:07:21 +01:00
Mis012
a9c72d58fd api-impl: android/os/Process: handle self-kill
We don't currently implement sendSignal, however Unity uses killProcess to kill
its own process, which we can hadle with simple System.exit(0) and have Unity
games close cleanly
2024-03-01 15:38:46 +01:00
Mis012
60714ebf45 add PathInterpolator stub 2024-02-29 12:33:48 +01:00
Mis012
c430344bd7 TextView: implement more ways to obtain textColor, textSize; misc cleanup
also added a try/catch block to avoid regression
2024-02-28 01:49:23 +01:00
Julian Winkler
efa61afc71 implement View.OnLongClickListener as GtkGestureLongPress 2024-02-27 22:02:36 +01:00