afd2cd27062acd77202de759792a34ad5fdba712 |
09-Jun-2017 |
Jorim Jaggi <jjaggi@google.com> |
Properly run window animations at vsync-sf (1/2) - Add new Choreographer instance that runs on vsync-sf - Use this new Choreographer for WindowAnimator, and remove all the hacks around it Test: Open apps and close apps, notice no stutter Test: Screen zoom animations Test: go/wm-smoke Bug: 36631902 Change-Id: I988ae25645effc3ac20efa7cb9b68f23444da0d0 (cherry picked from commit 34a0cdb98eb5561774ea4e7b3b602aad80c4a3cc)
ndroidfw/DisplayEventDispatcher.h
|
4ca56978a9aea3f021a54ed9265de10811984d94 |
27-Apr-2017 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Add workaround for non-standard package IDs The dynamic ref table used to map build-time IDs to runtime IDs is mainly used for shared resource libraries and has a few built-in mappings (app 0x7f and framework 0x01). Using a non-standard package ID like 0x80 causes a failure in package ID lookup. The solution is to ship the dynamic_ref_table with an identity mapping with any resource table that uses a non-standard package ID. Adds some tests to ensure this works correctly. Bug: 37498913 Test: make libandroidfw_tests Test: make aapt2_tests Change-Id: Ic3f67942384d34e7fdcbc94ded360e940e3ebc8a
ndroidfw/ResourceTypes.h
|
cc5a731fd725a4687625c93cf8490b63ce99884f |
23-Mar-2017 |
Jason Monk <jmonk@google.com> |
Remove "Allow persistent changes to the vendor overlay theme" This reverts commit 2dc804be11444565e3d1d151c2a693db3ade94c0. It also removes the related calls from UiModeManager. Fixes: 32721178 Test: make & flash Change-Id: Id371bccec611155cc6910e46b3277c3d27fc1c79
ndroidfw/AssetManager.h
|
f4f093c52c295c97f14eb6b84e45af326c01d7de |
08-Mar-2017 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Reinstate codes to enable RRO on system server"
|
136fd0764faf7a588b4a1b479d7a8cc6fe18fcc6 |
03-Mar-2017 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Fix parsing ResTable_type ResTable_type's size changes due to it containing ResTable_config. Make sure we check for the minimum size required to read it. Bug: 35861796 Test: Manual (don't have an integration test harness setup yet) Change-Id: Ifb0cd1d732625f59835c8ed0449adb78129636de
ndroidfw/Chunk.h
ndroidfw/ResourceTypes.h
|
7de2f9c73fbe93bfb7dff3c046cf7a3137599f6c |
01-Mar-2017 |
Jaekyun Seok <jaekyun@google.com> |
Reinstate codes to enable RRO on system server Test: building succeeded and tested with sailfish Bug: 35742444 Change-Id: I99d0f1d097525d3eb46255d6cf823f6ae2a02385
ndroidfw/AssetManager.h
|
2e0d0f311100d8e0bb40d7d60b8498237f011f0c |
02-Jun-2016 |
Mårten Kongstad <marten.kongstad@sonymobile.com> |
OMS: integrate OverlayManagerService into framework Hand over ownership of overlays to OverlayManagerService. Changes to a package's overlays are propagated using the activity life cycle. Affected activities will be recreated as needed. This provides a well-defined point to modify an application's assets while the application is paused. Consolidate how overlays targeting the system and overlays targeting regular applications are handled. Previously, system overlays were handled as a special case. Now, everything is handled identically. As a side effect, the call to idmap --scan during Zygote boot has become obsolete and is removed. Information on what overlays to use is recorded in ApplicationInfo.resourceDirs. The PackageManagerService is responsible for the creation of ApplicationInfo objects. The OverlayManagerService is responsible for informing the PackageManagerService in advance about what resourceDirs to use. When launching an application, the ApplicationInfo is already populated with up-to-date information about overlays. When enabling or disabling an overlay for a running application, the OverlayManagerService first notifies the PackageManagerService about the updated resourceDirs. It then tells the ActivityManagerService to push the new ApplicationInfo object to the application's ActivityThread. Finally the application requests its ResourcesManager to create new ResourcesImpl objects based on the updated paths. Change-Id: Ib8afa05ccab4e2db558f89ce4423983c086bb61a Co-authored-by: Martin Wallgren <martin.wallgren@sonymobile.com> Signed-off-by: Zoran Jovanovic <zoran.jovanovic@sonymobile.com> Bug: 31052947 Test: run tests from 'OMS: tests for OverlayManagerService'
ndroidfw/AssetManager.h
|
df0824ad4cd31a3e96653fe82ce969b08cd00be2 |
23-Feb-2017 |
Guang Zhu <guangzhu@google.com> |
Merge "Revert "OMS: integrate OverlayManagerService into framework""
|
95459806920dec34abb3214ab6e1a9b9213a2a61 |
23-Feb-2017 |
Guang Zhu <guangzhu@google.com> |
Revert "OMS: integrate OverlayManagerService into framework" Bug: 31052947 Bug: 35697944 This reverts commit 21a3d1ad686dee97b9cf0ed80389ee2ab0d48013. Change-Id: I2d86931020301524c26cf8c8e80d557c97fdd6c3
ndroidfw/AssetManager.h
|
0f09817859b19054aee3feded1dbf9757a5ec131 |
23-Feb-2017 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "OMS: integrate OverlayManagerService into framework"
|
21a3d1ad686dee97b9cf0ed80389ee2ab0d48013 |
02-Jun-2016 |
Mårten Kongstad <marten.kongstad@sonymobile.com> |
OMS: integrate OverlayManagerService into framework Hand over ownership of overlays to OverlayManagerService. Changes to a package's overlays are propagated using the activity life cycle. Affected activities will be recreated as needed. This provides a well-defined point to modify an application's assets while the application is paused. Consolidate how overlays targeting the system and overlays targeting regular applications are handled. Previously, system overlays were handled as a special case. Now, everything is handled identically. As a side effect, the call to idmap --scan during Zygote boot has become obsolete and is removed. Information on what overlays to use is recorded in ApplicationInfo.resourceDirs. The PackageManagerService is responsible for the creation of ApplicationInfo objects. The OverlayManagerService is responsible for informing the PackageManagerService in advance about what resourceDirs to use. When launching an application, the ApplicationInfo is already populated with up-to-date information about overlays. When enabling or disabling an overlay for a running application, the OverlayManagerService first notifies the PackageManagerService about the updated resourceDirs. It then tells the ActivityManagerService to push the new ApplicationInfo object to the application's ActivityThread. Finally the application requests its ResourcesManager to create new ResourcesImpl objects based on the updated paths. Co-authored-by: Martin Wallgren <martin.wallgren@sonymobile.com> Signed-off-by: Zoran Jovanovic <zoran.jovanovic@sonymobile.com> Bug: 31052947 Test: run tests from 'OMS: tests for OverlayManagerService' Change-Id: Idc96dae6fc075d5373aa055bbf50e919136d7353
ndroidfw/AssetManager.h
|
21edf1976cabe05b419839785e3fc37e992c4e81 |
21-Feb-2017 |
Fyodor Kupolov <fkupolov@google.com> |
Merge "Check bounds in offsetToPtr"
|
edb88a2b94093ddaeb11c3ea4b8e989c6822bff1 |
18-Feb-2017 |
Adam Lesinski <adamlesinski@google.com> |
Merge "Add ResTable_sparseTypeEntry support"
|
45e2e95c2ffeb2d978e2cce80b729ef6ada3b8d2 |
14-Feb-2017 |
Fyodor Kupolov <fkupolov@google.com> |
Check bounds in offsetToPtr Check whether specified offset belongs to mData. Also added a default argument bufferSize to check the end offset. Size of the ashmem descriptor can be modified between ashmem_get_size_region call and mmap. createFromParcel method was updated to check ashmem size again immediately after memory is mapped. Test: manual - using the test app from the bug Bug: 34128677 Change-Id: I3ecd1616a870ce20941ce9b20a1843d2b4295750
ndroidfw/CursorWindow.h
|
c8f71aa67ea599cb80205496cb67e9e7a121299c |
08-Feb-2017 |
Adam Lesinski <adamlesinski@google.com> |
Add ResTable_sparseTypeEntry support Benchmarks on bullhead-userdebug show that there is a negligent performance impact when using sparse entries on a 30% loaded sparse type of 1000 resources. Benchmark Time CPU Iterations ----------------------------------------------------------------------------------- BM_SparseEntryGetResourceSparseLarge 255 ns 254 ns 2751408 BM_SparseEntryGetResourceNotSparseLarge 254 ns 254 ns 2756534 Bug: 27381711 Test: make libandroidfw_tests aapt2_tests Change-Id: I051ea22f2f6b2bc3696e446adc9e2a34be18009f
ndroidfw/ResourceTypes.h
ndroidfw/TypeWrappers.h
|
d1ecd7af687bcad0f87c37fe33515ff6c5ea0f1d |
23-Jan-2017 |
Adam Lesinski <adamlesinski@google.com> |
AssetManager2: Various fixes - Use FileMaps to open Assets (prevents closing of ApkAssets underlying zip) - Implement OpenDir and List methods - Fix issue where DynamicRefTable wasn't properly constructed Test: make libandroidfw_tests Change-Id: Ib21a84e1114d028120744aa3bc1c6eb9d9399fa8
ndroidfw/ApkAssets.h
ndroidfw/Asset.h
ndroidfw/AssetDir.h
ndroidfw/AssetManager2.h
ndroidfw/ResourceTypes.h
ndroidfw/Util.h
|
024d22fdb76a75f72ac1a421c4dd184bbfe2ba12 |
09-Feb-2017 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "AAPT2: Fix pseudolocalization to respect <xliff:g>"
|
7542162cb1b1fd2ce8a26dd7f3fedc8de8160d38 |
07-Jan-2017 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Fix pseudolocalization to respect <xliff:g> The XLIFF 'g' tag specifies content that should NOT be translated. AAPT2's pseudolocalization process should respect it. Bug:34064599 Test: make libandroidfw_tests Change-Id: Ice437d7f0ff246730ee04896fd035e2d846148fb
ndroidfw/StringPiece.h
|
929d6517dfd338f0d481dbe6587643d5aef27ec6 |
17-Jan-2017 |
Adam Lesinski <adamlesinski@google.com> |
AssetManager2: Add GetResourceId Add ability to lookup a resource by name. Test: make libandroidfw_tests Change-Id: I262ba5ce4c9892458226fbdb44cf21f9877fb92d
ndroidfw/LoadedArsc.h
ndroidfw/ResourceUtils.h
ndroidfw/StringPiece.h
ndroidfw/Util.h
|
0c40524953f3d36a880f91183302a2ea5c722930 |
14-Jan-2017 |
Adam Lesinski <adamlesinski@google.com> |
AssetManager2: Add other support methods - Add GetResourceConfigurations() - Add GetResourceLocales() - Add ResolveReference() - Add stub for GetResourceId() - Change LoadedArsc and ApkAssets factory method to return const Test: make libandroidfw_tests Change-Id: Ia797dc9381a523b1a3e7029048a413e544730379
ndroidfw/ApkAssets.h
ndroidfw/AssetManager2.h
ndroidfw/LoadedArsc.h
ndroidfw/ResourceTypes.h
ndroidfw/Util.h
|
c6aada9c5789b2777b19c522d3cd5052bbe784a4 |
14-Jan-2017 |
Adam Lesinski <adamlesinski@google.com> |
LoadedArsc: Support feature splits. Test: make libandroidfw_tests Change-Id: I278273e688da597f4af86dd55f87750501ef8154
ndroidfw/LoadedArsc.h
|
90572a4ab8ac393c57e896be3c608e634866ed38 |
27-Jan-2017 |
Adam Lesinski <adamlesinski@google.com> |
Merge "libandroidfw: Add new support for shared libraries"
|
4832745b84d6a358582f2264d22acacf25e01b07 |
24-Jan-2017 |
Romain Guy <romainguy@google.com> |
Add color mode to activity/window The color mode lets an application request a wide color gamut for a specific window. This will also be used in the future to request HDR. The color mode is currently either default (sRGB) or an undefined wide gamut color space chosen by the platform. These attributes could later be used to choose a specific color space if we deem this important or useful. This change also renames the various "colorimetry" attributes and constants to "color mode" for consistency. These symbols were added in O and can be safely renamed. Test: CtsColorModeTestCases Bug: 32984164 Change-Id: I4d4691dd12dbe3f3aa6a5cf893cff39aa16c739e
ndroidfw/ResourceTypes.h
|
c9ba55902123be5abcf2dcda5af9995be0b8d3d8 |
19-Jan-2017 |
Romain Guy <romainguy@google.com> |
Add wide color gamut and HDR resource qualifiers Bug: 32984164 Test: Config_test, AaptConfig_test and aapt2_tests Change-Id: Ie9c82bfe2d36b1d6180ee223250ab5bb2ce90dd4
ndroidfw/ResourceTypes.h
|
1f9f11007db09bbbc156965e77b10de82a32a544 |
20-Jan-2017 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Move StringPiece to libandroidfw"
|
d5083f6f6b9bc76bbe64052bcec639eee752a321 |
17-Jan-2017 |
Adam Lesinski <adamlesinski@google.com> |
Move StringPiece to libandroidfw libandroidfw needs to make use of StringPiece, so move it to libandroidfw and update all code referencing StringPiece in aapt2. Test: make libandroidfw_tests libaapt2_tests Change-Id: I68d7f0fc7c651b048d9d1f5e7971f10ef5349fa1
ndroidfw/StringPiece.h
|
fdaa9c58c9c1961862561b260164d380e3b17363 |
18-Jan-2017 |
Adam Lesinski <adamlesinski@google.com> |
Merge "New implementation of AssetManager/ResTable"
|
da431a22da38f9c4085b5d71ed9a9c6122c6a5a6 |
29-Dec-2016 |
Adam Lesinski <adamlesinski@google.com> |
libandroidfw: Add new support for shared libraries This adds support for shared resource libraries in the new ResTable/AssetManager implementation. The dynamic package map encoded in resources.arsc is parsed and stored with LoadedArsc, and combined to form a resolved table in AssetManager2. Benchmarks show that this implementation is an order of magnitude faster on angler-userdebug (make libandroidfw_benchmarks). Test: libandroidfw_tests Change-Id: I57c80248728b63b162bf8269ac9495b53c3e7fa0
ndroidfw/ApkAssets.h
ndroidfw/AssetManager2.h
ndroidfw/Chunk.h
ndroidfw/LoadedArsc.h
ndroidfw/ResourceTypes.h
ndroidfw/Util.h
|
7ad1110ecd6a840fcd2895c62668828a1ca029c6 |
29-Oct-2016 |
Adam Lesinski <adamlesinski@google.com> |
New implementation of AssetManager/ResTable The multiwindow model and Resources-per-activity model that came in N puts greater demands on AssetManagers. They are created whenever window dimensions change, which can be frequently. There is a need to be able to cheaply create a new AssetManager for each Activity, which shares a lot of underlying state. In order to make the creation of AssetManagers cheap, we need a new implementation of the native AssetManager and ResTable to support immutable representations of APKs. This new data structure/class is ApkAssets. ApkAssets have the same functionality of an AssetManager, except that they operate on a single APK, and they do not do any caching. Once loaded, they are immutable. ApkAssets will be exposed as a Java object, with its implementation in native code. The existing Java StringBlock will be owned by ApkAssets, which means that Strings can be shared across AssetManagers. ApkAssets can be cached by the ResourcesManager. Creating an AssetManager requires only a list of ApkAssets and a configuration. AssetManager2 (named with the suffix '2' for now while transitioning to the new implementation) caches bags that are accessed. Since ApkAssets are expected to be kept around longer, they do more validation of the resource table, which cause slower load times. Measured on an angler-userdebug, loading the framework assets takes 11ms with ApkAssets, and 2ms with the old AssetManager implementation. The tradeoff is that there does not need to be any security checks once an ApkAssets is loaded, and regular resource retrieval is faster. Measured on an angler-userdebug, accessing resource (android:string/ok) with many locales takes 18us with AssetManager2, and 19us with AssetManager (this is per resource, so these add up). Test: make libandroidfw_tests Change-Id: Id0e57ee828f17008891fe3741935a9be8830b01d
ndroidfw/ApkAssets.h
ndroidfw/AssetManager2.h
ndroidfw/ByteBucketArray.h
ndroidfw/LoadedArsc.h
ndroidfw/ResourceTypes.h
ndroidfw/Util.h
|
1a6acdbb86c3e72bdb0a4dcab3bda58cbc4ea34c |
13-Dec-2016 |
Zak Cohen <zakcohen@google.com> |
Introduce new UI_MODE_TYPE_VR_HEADSET and qualifier. Bug: 30989383 Test: Unit test for aapt2 Change-Id: I66dc65af6327b94fed74538bee08cada0b8be4fa
ndroidfw/ResourceTypes.h
|
db15537e6e0d35c7ed3b1bef45e421760be70683 |
11-Jan-2017 |
Mark Salyzyn <salyzyn@google.com> |
resolve merge conflicts of 082a1721b516 to master Test: compile Bug: 26552300 Bug: 31289077 Change-Id: I17f178f425975c1c0dbd48091d25b101956d505e
|
ef8ccc8510d2c66c4807f15962c3d53235af5fc5 |
11-Jan-2017 |
Mark Salyzyn <salyzyn@google.com> |
Merge "Replace cutils/log.h and log/logger.h with log/log.h" am: e7fcbcb991 am: 6143cbf1e5 Change-Id: Id192d8dd973fe9e70acab72bae9856bc8a62ac75
|
52eb4e01a49fe2e94555c000de38bbcbbb13401b |
29-Sep-2016 |
Mark Salyzyn <salyzyn@google.com> |
Replace cutils/log.h and log/logger.h with log/log.h Test: compile Bug: 26552300 Bug: 31289077 Change-Id: I578b15b48f0fc2807a92abbc69a377c3d2191496
ndroidfw/CursorWindow.h
|
06d3e8fec7e2b29f99d755bee849023d88957953 |
06-Jan-2017 |
Adam Lesinski <adamlesinski@google.com> |
libandroidfw: Revert null check in ApplyStyle The out parameter `out_indices` is expected to be non-null and so the extra null check adds a cost to performance and opens the door to misusing the API by not supplying `out_indices`. Test: make libandroidfw_tests Change-Id: Ie66fd837c5e24ec2838156e7b67f54c15cd27933
ndroidfw/AttributeResolution.h
|
4c67a475a334e4f65238d439a3339195e03c03be |
11-Nov-2016 |
Adam Lesinski <adamlesinski@google.com> |
Make tests use APKs instead of exploded APKs Tests would expect parts of the APK to be unzipped and maintained. Instead, we now decompress the required files from the test APKs on test setup. This simplifies test maintenance substantially. Test: make libandroidfw_tests && libandroidfw_tests --testdata=frameworks/base/libs/androidfw/tests/data Change-Id: I3d2100af22df913e02401dedcf9842cdb32b2a3b
ndroidfw/AttributeFinder.h
|
f32adf447511d54c2aa0948d3c1ef44d461538ac |
23-Nov-2016 |
John Reck <jreck@google.com> |
Clean up ApplyStyle JNI Bug: 32573798 Mark input uint32_t[] as const. Use Read-only JNI array access for input as it's faster than critical access. Use non-movable arrays for TypedArray so that the address can be resolved and stored, avoiding the need to do JNI array access for the output. Indicies is always non-null, so remove the optional checks. Eliminate unused return value. Benchmark results: twelveKeyInflate 4963us -> 4713us simpleViewInflate 73us -> 60us Test: Device boots, benchmarks show faster Change-Id: Ic3bde5aee31407d8903913f97f2218daf074499a
ndroidfw/AttributeResolution.h
|
2dc804be11444565e3d1d151c2a693db3ade94c0 |
07-Nov-2016 |
Jason Monk <jmonk@google.com> |
Allow persistent changes to the vendor overlay theme This allows the overlay being used to be changed without a new build but still will require a reboot to take effect. Should no longer be needed once hierarchical resources are in place, and can be removed. Also fix check in fd_utils to point at correct location. Test: Manual Bug: 32721178 Change-Id: I2a63aea0c87791c8eb845d735cb1182716c8174d
ndroidfw/AssetManager.h
|
e1166dd4881d8fc5f045e8e16941e26616ab774f |
05-Nov-2016 |
Colin Cross <ccross@android.com> |
Merge "Move one more libandroidfw header" am: c5c74f9f49 am: e81eb61399 Change-Id: I813a1f3c40681c92c7cc7bc27afd1344c15d0792
|
e81eb613996c5f8e0564137bd6bbe759ea218d45 |
05-Nov-2016 |
Colin Cross <ccross@android.com> |
Merge "Move one more libandroidfw header" am: c5c74f9f49 Change-Id: Ib4d1c81aba13543da2454140548252cf013c95e1
|
1d80addee492b95a452d12779a47efa465b4e486 |
04-Nov-2016 |
Colin Cross <ccross@android.com> |
Move one more libandroidfw header The libandroidfw headers were moved into the library directory, move one more that did not exist in the original patch. Test: builds Change-Id: Ic74a41558e1bc3984d98dd766f69d081edd8fc08
ndroidfw/AttributeFinder.h
|
b365b0db9314370e1d1ad2867ded212ef68c7b14 |
04-Nov-2016 |
John Reck <jreck@google.com> |
Merge "Re-unite sources with their headers" am: e43444a00b am: 946d11d216 Change-Id: Ib9fac5fff2f2ce90eebc2c6eb5208de33ea28723
|
946d11d2169a28c827a4719934405ebdf2ab0b66 |
04-Nov-2016 |
John Reck <jreck@google.com> |
Merge "Re-unite sources with their headers" am: e43444a00b Change-Id: I8f3ef6a1ddcf78d28f7444b6e83c552b8305fd8c
|
03b5d506bc2735e080863712d9d2e8ce6f7ecb43 |
04-Nov-2016 |
John Reck <jreck@google.com> |
Re-unite sources with their headers Move all the includes for androidfw under a common base path for that library instead of frameworks/base/includes. Also fixes -Werror issues that resulted in no longer being -isystem. Test: builds Change-Id: Ic4312eb61b197af114dded5691d5ae1ec82923f7 Merged-In: Ic4312eb61b197af114dded5691d5ae1ec82923f7 (cherry picked from commit f6113af2d6f6eebee68d3ac510fe96d38a7a39e9)
ndroidfw/Asset.h
ndroidfw/AssetDir.h
ndroidfw/AssetManager.h
ndroidfw/BackupHelpers.h
ndroidfw/ByteBucketArray.h
ndroidfw/CursorWindow.h
ndroidfw/DisplayEventDispatcher.h
ndroidfw/LocaleData.h
ndroidfw/ObbFile.h
ndroidfw/ResourceTypes.h
ndroidfw/StreamingZipInflater.h
ndroidfw/TypeWrappers.h
ndroidfw/ZipFileRO.h
ndroidfw/ZipUtils.h
ndroidfw/misc.h
|
f6113af2d6f6eebee68d3ac510fe96d38a7a39e9 |
04-Nov-2016 |
John Reck <jreck@google.com> |
Re-unite sources with their headers Move all the includes for androidfw under a common base path for that library instead of frameworks/base/includes. Also fixes -Werror issues that resulted in no longer being -isystem. Test: builds Change-Id: Ic4312eb61b197af114dded5691d5ae1ec82923f7
ndroidfw/Asset.h
ndroidfw/AssetDir.h
ndroidfw/AssetManager.h
ndroidfw/AttributeResolution.h
ndroidfw/BackupHelpers.h
ndroidfw/ByteBucketArray.h
ndroidfw/CursorWindow.h
ndroidfw/DisplayEventDispatcher.h
ndroidfw/LocaleData.h
ndroidfw/ObbFile.h
ndroidfw/ResourceTypes.h
ndroidfw/StreamingZipInflater.h
ndroidfw/TypeWrappers.h
ndroidfw/ZipFileRO.h
ndroidfw/ZipUtils.h
ndroidfw/misc.h
|