summaryrefslogtreecommitdiff
path: root/libs/androidfw/tests
diff options
context:
space:
mode:
authorRyan Mitchell <rtmitchell@google.com>2019-01-23 16:56:51 -0800
committerRyan Mitchell <rtmitchell@google.com>2019-01-24 15:45:43 -0800
commit741e96ff07326292744ee5bc437ba7171f7c3f56 (patch)
tree9c4514cb534fd315b5327cb34e86e3407a9df435 /libs/androidfw/tests
parent9ce77e9b7f0a1d001428030f3ad738220378ae40 (diff)
Fix GetResourceName for shared libraries
GetResourceName used GetPAckageById which only works when the compile time package id is eqal to the runtime package id. This change resolves resource names correctly using the ruuntime package id. Bug: 79666085 Test: libandroidfw_tests Change-Id: Ic60cb2416329c5cb34e925991cd689ca7574b483
Diffstat (limited to 'libs/androidfw/tests')
-rw-r--r--libs/androidfw/tests/AssetManager2_test.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/libs/androidfw/tests/AssetManager2_test.cpp b/libs/androidfw/tests/AssetManager2_test.cpp
index 105dcd209bf7..447fdf5d306a 100644
--- a/libs/androidfw/tests/AssetManager2_test.cpp
+++ b/libs/androidfw/tests/AssetManager2_test.cpp
@@ -210,6 +210,16 @@ TEST_F(AssetManager2Test, FindsResourceFromAppLoadedAsSharedLibrary) {
EXPECT_EQ(fix_package_id(appaslib::R::array::integerArray1, 0x02), value.data);
}
+TEST_F(AssetManager2Test, GetSharedLibraryResourceName) {
+ AssetManager2 assetmanager;
+ assetmanager.SetApkAssets({lib_one_assets_.get()});
+
+ AssetManager2::ResourceName name;
+ ASSERT_TRUE(assetmanager.GetResourceName(lib_one::R::string::foo, &name));
+ std::string formatted_name = ToFormattedResourceString(&name);
+ ASSERT_EQ(formatted_name, "com.android.lib_one:string/foo");
+}
+
TEST_F(AssetManager2Test, FindsBagResourceFromSingleApkAssets) {
AssetManager2 assetmanager;
assetmanager.SetApkAssets({basic_assets_.get()});