Commit Graph

26 Commits

Author SHA1 Message Date
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
Mis012
0a9591c474 src/api-impl: fix up code style, mainly for code imported from AOSP
used the following (plus manual edits):
`clang-format --style="{BasedOnStyle: LLVM, IndentWidth: 8, UseTab: Always, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: true, ColumnLimit: 0}`
2023-06-22 11:45:46 +02:00
Julian Winkler
12e9e9788a load assets and bitmaps directly from apk 2023-06-21 22:38:08 +02:00
Julian Winkler
3709e30f64 load layout XMLs directly from apk file 2023-06-21 22:38:08 +02:00
Julian Winkler
db53d3679f replace arsc_parser with ARSClib 2023-06-21 22:38:08 +02:00
Julian Winkler
9e706927de implement android.media.SoundPool using GtkMediaStream 2023-06-18 11:31:01 +02:00
Julian Winkler
58ec3733d3 Bitmap: implement decodeStream, getPixels and recycle 2023-06-18 11:28:40 +02:00
Mis012
970011a5cb api-impl/android/content/res/AssetManager.java: fix error condition for openAsset 2023-06-06 19:22:24 +02:00
Mis012
b801f0fb3c implement some stuff to make exaple SDL app run
NOTE: the main addition in this commit is WIP support for apps which
render on an EGL surface obtained using ANativeWindow_fromSurface

currently, this EGL surface is obtained by creating a 700x700 pixel
window with GLFW (the 700x700 size is hardcoded in several places)
and only Wayland is supported

ideally, we'd want to use a wayland subsurface to position the EGL
surface above the Surface widget it's associated with (and do
whatever for X11)
2022-10-26 18:39:04 +02:00
Mis012
49961186a2 get rid of launcher script requirement; fix app data dir being hardcoded; update documentation; remove prebuilt dalvik (NOTE - purged from history at this point, so is not part of the diff) 2022-10-12 17:30:07 +02:00