Mis012
060ea72f94
AssetManager: use AndroidManifest.xml to identify apks
...
resources.arsc may be missing in rare cases
2024-12-20 00:12:01 +01:00
Julian Winkler
acdd3c88cc
AssetManager: fix resource loading if APK path contains spaces
...
Spaces will get encoded to %20 by the ClassLoader. We need to decode
them again to get the original path.
2024-11-01 17:49:20 +01:00
Mis012
4fd7e2cbb1
AssetManager: fix up AssetInputStream
2024-06-13 20:37:35 +02:00
Mis012
92bb75d19f
AssetManager: fix open and openNonAsset not throwing exception on error
2024-05-27 14:01:43 +02:00
Julian Winkler
71717edc58
AssetManager: fix Asset XML file not found error on 32bit
...
The xmlBlock variable is now a pointer with the recent changes.
So, we shouldn't compare it with >= 0.
The error went unnoticed, because it was only tested on 64bit until now
2024-05-26 16:20:48 +02:00
Julian Winkler
ff3c103377
SoundPool: explicitly extract soundfile asset
...
With the recent changes assets are no longer extracted by default
2024-05-26 16:20:48 +02:00
Mis012
4374ac01ad
AssetManager: use libandroidfw to read assets straight from the apk file
...
they can still be put on the filesystem and will be read from there
preferentially, though overriding assets in this way can confuse
some creatively written apps and cause them to crash.
2024-05-26 00:10:16 +02:00
Julian Winkler
778d19f268
remove remaining dependencies on ARSClib
2024-05-23 23:30:03 +02:00
Julian Winkler
cc5d4a3cb3
use libandroidfw for resource XML parsing
...
androidfw is implemented in native code and has much better performance
than ARSClib
2024-05-12 16:49:14 +00:00
Julian Winkler
ce6b83ad81
AssetManager: load style with parser.getAttribute(null, "style")
...
This way, we get the type as well and can check for it being an
attribute properly.
2024-04-09 18:19:44 +02:00
Mis012
0352a307b9
AssetManager: applyStyle: use loadResourceBagValue instead of creating a temporary theme
2024-04-08 18:28:18 +02:00
Mis012
0f14370c8b
AssetManager: applyStyle: handle "style" value being an attribute, append styles to global theme instead of replacing it
2024-04-07 23:23:31 +02: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
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