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
9ad77d5b62
ViewGroup: make sure all child views have valid LayoutParams
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
372ff3fba0
implement GLES10 by simply subclassing GLES20
...
Most GLES10 functions are identical to the GLES20 functions. No need to
implement this twice.
2023-09-01 16:05:26 +02:00
Julian Winkler
97f8c2ed0f
Add some missing APIs.
...
android.widget.Filter and android.webkit.MimeTypeMap are copied from
AOSP. Other new classes are only stub implementations.
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
c6b98b14f8
Resources + LayoutInflater: throw same Exceptions as on AOSP
2023-09-01 12:39:20 +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
ad83271080
add more Animation APIs and call onAnimationEnd()
...
Directly calling onAnimationEnd() skips the animation and directly sets
the target values
2023-09-01 12:30:27 +02:00
Julian Winkler
e522200e28
add android.widget.Adapter and related classes from AOSP
2023-09-01 12:25:19 +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
eac22aaa64
Resources.getSystem(): just return application resoources
2023-08-27 23:14:00 +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
029b26beb2
main.c: window size needs to be set before calling set_up_handle_cache()
...
the Context class init creates a static DisplayMetric
2023-08-23 14:52:56 +02:00
Julian Winkler
e694973a1f
ViewGroup: add child View at correct index
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