Commit Graph

403 Commits

Author SHA1 Message Date
Mis012
90cb1c925a api-impl: use liblog for android.util.Log; use Log.v for debugging prints and Log.w for stub tracing 2023-09-12 13:41:52 +02:00
Mis012
49861ce4dd api-impl-jni/android_graphics_Canvas.c: enable drawRect 2023-09-12 13:37:41 +02:00
Mis012
897a1e68a4 TextView: implement setTextColor
also uncomment Resources.getCachedColorStateList
2023-09-12 13:37:41 +02:00
Mis012
1e47824a79 src/api-impl: use skia instead of cairo
Using the C API provided by SkiaSharp's skia fork instead of using cairo
significantly improves performance. The API is also closer to the android
Canvas API, which makes the implementation more straightforward.
2023-09-12 13:37:41 +02:00
Julian Winkler
255eed3e59 setLayoutParams(): better match Androids behaviour
View.setGravity() specifies gravity of children, not of the view itself
LayoutParams.weight > 0 should cause expansion of widget
2023-09-08 20:10:45 +02:00
Julian Winkler
a27cb27638 ScrollView: use GtkScrolledWindow for implementation 2023-09-08 18:31:02 +02:00
Julian Winkler
b35cbea099 implement URL opening using libportal 2023-09-01 16:05:26 +02:00
Julian Winkler
0461834be0 ViewGroup: adjust scroll velocity for touchpads 2023-09-01 16:05:26 +02:00
Julian Winkler
3b6e4dc217 Always use addView() and removeView() implementation from ViewGroup
This makes sure, that the index argument is handled correctly everywhere
2023-09-01 16:05:26 +02:00
Julian Winkler
a35879c633 RelativeLayout: copy AOSP implementation
As we already support custom ViewGroups, there is no need to reimplement
this highly complex class.
2023-09-01 16:05:26 +02:00
Julian Winkler
ceb5df9d39 implement BitmapFactory.decodeStream() using gdk_pixbuf_new_from_stream
The java InputStream is wrapped into a custom GInputStream
implementation
2023-09-01 16:05:26 +02:00
Julian Winkler
30b990f60a EditText: implement addTextChangedListener() 2023-09-01 16:05:26 +02:00
Julian Winkler
071538de02 FrameLayout: add missing removeView JNI function 2023-09-01 16:05:26 +02:00
Julian Winkler
6c2a3adae6 LinearLayout: default to horizontal orientation 2023-09-01 12:46:02 +02:00
Julian Winkler
a79b464503 View: properly handle MATCH_PARENT sizes 2023-09-01 12:42:57 +02:00
Julian Winkler
f968bcd7c4 add menu APIs and use Activity as Window.Callbacks implementation 2023-09-01 12:34:57 +02:00
Julian Winkler
295d9dfda3 LinearLayout: handle overwritten performClick() method
This is needed to make TabLayout functional
2023-09-01 12:19:45 +02:00
Julian Winkler
fb1a07967e copy android.widget.Scroller from AOSP and implement missing scroll APIs
This is needed to make ViewPager functional
2023-09-01 12:13:24 +02:00
Julian Winkler
d81c6800b2 add JNI implementation of android.database.SQLiteConnection
This is based on the implementation from https://www.sqlite.org/android,
which is equal to the AOSP implementation besides not depending private
Android APIs.
The code has been rewritten from C++ to C.
2023-08-27 11:40:46 +02:00
Julian Winkler
253932f985 rewrite android.database.CursorWindow in pure java
there is no need to implement it in native code, as we don't want to
pass this between processes
2023-08-27 11:17:33 +02:00
Julian Winkler
2e0c18d755 add complete java side of sqlite implementation
Mostly taken from https://www.sqlite.org/android which is forked from
AOSPs implementation
2023-08-27 11:17:33 +02:00
Julian Winkler
b861c86f0d FrameLayout: fix inserting child at last index 2023-08-23 14:52:56 +02:00
Julian Winkler
0f7548f189 refactor Dialog implementation to support custom content 2023-08-23 14:52:56 +02:00
Julian Winkler
28cd0006bc some fixes to make NewPipe not crash when layouting 2023-08-23 14:52:56 +02:00
Julian Winkler
c4b7bdc63d ViewGroup: handle scroll events 2023-08-23 12:39:55 +02:00