summaryrefslogtreecommitdiff
path: root/native/android/configuration.cpp
diff options
context:
space:
mode:
author Adam Lesinski <adamlesinski@google.com> 2018-03-02 22:05:45 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2018-03-02 22:05:45 +0000
commit40a32d9ff0868de97c1a82ece98f7dcc932d1b6f (patch)
tree4d5fe3a240eb6ea16d61e684175ad542472283f0 /native/android/configuration.cpp
parent15881d7c0c1ba2640b0571f6170b8d8be94573d8 (diff)
parentbebfcc46a249a70af04bc18490a897888a142fb8 (diff)
Merge "Refactor AssetManager"
Diffstat (limited to 'native/android/configuration.cpp')
-rw-r--r--native/android/configuration.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/native/android/configuration.cpp b/native/android/configuration.cpp
index 77237ae97ff5..87fe9edb49c5 100644
--- a/native/android/configuration.cpp
+++ b/native/android/configuration.cpp
@@ -17,9 +17,10 @@
#define LOG_TAG "Configuration"
#include <utils/Log.h>
-#include <androidfw/AssetManager.h>
+#include <androidfw/AssetManager2.h>
#include <android_runtime/android_content_res_Configuration.h>
+#include <android_runtime/android_util_AssetManager.h>
using namespace android;
@@ -34,7 +35,11 @@ void AConfiguration_delete(AConfiguration* config) {
}
void AConfiguration_fromAssetManager(AConfiguration* out, AAssetManager* am) {
- ((AssetManager*)am)->getConfiguration(out);
+ ScopedLock<AssetManager2> locked_mgr(*AssetManagerForNdkAssetManager(am));
+ ResTable_config config = locked_mgr->GetConfiguration();
+
+ // AConfiguration is not a virtual subclass, so we can memcpy.
+ memcpy(out, &config, sizeof(config));
}
void AConfiguration_copy(AConfiguration* dest, AConfiguration* src) {