Commit Graph

35 Commits

Author SHA1 Message Date
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
Julian Winkler
f3292a76f2 AssetManager: special handling for style and array types
These are complex and can't be loaded into a TypedArray
2024-02-10 10:28:48 +01:00
Julian Winkler
7c59ed33bd make AssetManager feature complete with pre androidfw version 2024-02-06 16:41:49 +01:00
Julian Winkler
c1d8956309 AssetManager: use libandroidfw for everything except XML parsing
binary XML parsing still relies on ARSClib for now
2024-02-06 16:41:49 +01:00
Julian Winkler
8d4d0021b3 use libandroidfw also for themes 2024-02-06 16:41:49 +01:00
Julian Winkler
3284518418 AssetManager: use libandroidfw instead of ARSClib for resources.arsc parsing
This reduces startup time and RAM usage. Not yet feature complete with
the ARSClib based implementation, but Gravity Defied runs already
2024-02-06 16:41:48 +01:00
Julian Winkler
493cb8284a fix some Drawable related crashes in NewPipe 2023-12-30 23:38:56 +01:00
Julian Winkler
72a8b3a047 add more stubs 2023-11-12 12:16:23 +01:00
Mis012
0b0cfed345 misc: fix stuff up to make SDL example work again
it still behaves weirdly, should probably find some
other example since I don't trust my own code.
2023-10-29 22:48:02 +01:00
Julian Winkler
9025142bdd AssetManager: speed up XML inflation using HashMap caching
This makes XML inflation around 10 times faster. Inflating a layout XML
with one TextView and one ImageView now takes 4 ms instead of 40 ms
2023-10-29 15:28:06 +01:00
Mis012
43306bf174 api-impl/android/content/res/AssetManager: fix infinite loop with suspicious self-referencing arsc entries 2023-10-09 20:11:36 +02:00
Mis012
1b33acb658 api-impl/android/content: implement metadata bundle in PackageInfo 2023-10-08 22:33:14 +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
c6b98b14f8 Resources + LayoutInflater: throw same Exceptions as on AOSP 2023-09-01 12:39:20 +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
Julian Winkler
34d214e9ae AssetManager.java: fill indices array when loading TypedArray
This is needed for TypedArray.getIndexCount() and related functions
2023-08-22 22:30:03 +02:00
Julian Winkler
3fd81baeaf AssetManager: fix loading without merge
use cookie values to find correct StringPool
2023-08-22 22:29:03 +02:00
Julian Winkler
2b97e3bd57 AssetManager.java: iterate tableBlocks instead of merging
The merging process is too slow
2023-08-22 19:44:09 +02:00
Julian Winkler
c60e97f13f implement obtainStyledAttributes() functions properly 2023-08-22 15:51:13 +02:00
Julian Winkler
64cbb17a67 add support for loading framework-res.apk for system resources 2023-08-08 14:18:20 +02:00
Julian Winkler
4de91fdaaa AssetManager.getResourceValue: handle references and invalid IDs 2023-08-08 14:18:20 +02:00
Julian Winkler
77459e34e0 add AssetManager.getArrayIntResource and Context.getString 2023-08-08 14:18:20 +02:00
Julian Winkler
5c6b83e8f1 LayoutInflator: support <include/> tags 2023-08-08 14:18:20 +02:00
Mis012
9f87192a78 api-impl/android/content/res/AssetManager.java: fix lack of throwing exception on failure
ClassLoader.getResourceAsStream() eats the IOException, so we need
to throw a new one when it returns null. We also report the errno
we got from openAsset.
2023-06-22 15:20:37 +02:00