summaryrefslogtreecommitdiff
path: root/libs/androidfw/tests/AttributeResolution_bench.cpp
diff options
context:
space:
mode:
authorRyan Mitchell <rtmitchell@google.com>2020-11-13 23:55:20 +0000
committerRyan Mitchell <rtmitchell@google.com>2020-11-13 23:55:20 +0000
commit55ef6167a2c235bd88c7216238b2001b46795b79 (patch)
tree5a63ff5e6b8a0ade4ce5aa2c4d663d62a7d993d9 /libs/androidfw/tests/AttributeResolution_bench.cpp
parent6ca48473e533a8b89abac6294a0bb8130b8c8c89 (diff)
Revert "libandroidfw hardening for IncFs"
Revert "Move map_ptr to incfs namspace" Revert submission 12787270 Reason for revert: b/173250495 Reverted Changes: I5cd1bc8a2:libandroidfw hardening for IncFs Ice5dbcfb2:Move map_ptr to incfs namspace I29ccdc8ed:Do not cache bag parent stack until requested I1e9e9acaa:Cache resolved theme values Change-Id: Ib90ef68339710086df41e9abe0833a542d03a74f
Diffstat (limited to 'libs/androidfw/tests/AttributeResolution_bench.cpp')
-rw-r--r--libs/androidfw/tests/AttributeResolution_bench.cpp19
1 files changed, 13 insertions, 6 deletions
diff --git a/libs/androidfw/tests/AttributeResolution_bench.cpp b/libs/androidfw/tests/AttributeResolution_bench.cpp
index ddd8ab820cb1..fa300c50218a 100644
--- a/libs/androidfw/tests/AttributeResolution_bench.cpp
+++ b/libs/androidfw/tests/AttributeResolution_bench.cpp
@@ -108,20 +108,27 @@ static void BM_ApplyStyleFramework(benchmark::State& state) {
device_config.screenHeightDp = 1024;
device_config.sdkVersion = 27;
- auto value = assetmanager.GetResource(basic::R::layout::layoutt);
- if (!value.has_value()) {
+ Res_value value;
+ ResTable_config config;
+ uint32_t flags = 0u;
+ ApkAssetsCookie cookie =
+ assetmanager.GetResource(basic::R::layout::layoutt, false /*may_be_bag*/,
+ 0u /*density_override*/, &value, &config, &flags);
+ if (cookie == kInvalidCookie) {
state.SkipWithError("failed to find R.layout.layout");
return;
}
- auto layout_path = assetmanager.GetStringPoolForCookie(value->cookie)->string8At(value->data);
- if (!layout_path.has_value()) {
+ size_t len = 0u;
+ const char* layout_path =
+ assetmanager.GetStringPoolForCookie(cookie)->string8At(value.data, &len);
+ if (layout_path == nullptr || len == 0u) {
state.SkipWithError("failed to lookup layout path");
return;
}
- std::unique_ptr<Asset> asset = assetmanager.OpenNonAsset(layout_path->to_string(), value->cookie,
- Asset::ACCESS_BUFFER);
+ std::unique_ptr<Asset> asset = assetmanager.OpenNonAsset(
+ StringPiece(layout_path, len).to_string(), cookie, Asset::ACCESS_BUFFER);
if (asset == nullptr) {
state.SkipWithError("failed to load layout");
return;