OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ui/base/resource/resource_bundle_android.h" | 5 #include "ui/base/resource/resource_bundle_android.h" |
6 | 6 |
7 #include "base/android/apk_assets.h" | 7 #include "base/android/apk_assets.h" |
8 #include "base/android/jni_android.h" | 8 #include "base/android/jni_android.h" |
9 #include "base/android/jni_string.h" | 9 #include "base/android/jni_string.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
83 *out_region = g_resources_pack_region; | 83 *out_region = g_resources_pack_region; |
84 return g_resources_pack_fd; | 84 return g_resources_pack_fd; |
85 } | 85 } |
86 | 86 |
87 int GetCommonResourcesPackFd(base::MemoryMappedFile::Region* out_region) { | 87 int GetCommonResourcesPackFd(base::MemoryMappedFile::Region* out_region) { |
88 DCHECK_GE(g_chrome_100_percent_fd, 0); | 88 DCHECK_GE(g_chrome_100_percent_fd, 0); |
89 *out_region = g_chrome_100_percent_region; | 89 *out_region = g_chrome_100_percent_region; |
90 return g_chrome_100_percent_fd; | 90 return g_chrome_100_percent_fd; |
91 } | 91 } |
92 | 92 |
93 bool AssetContainedInApk(const std::string& filename) { | 93 std::string GetPathForAndroidLocalePakWithinApk(const std::string& locale) { |
94 JNIEnv* env = base::android::AttachCurrentThread(); | 94 JNIEnv* env = base::android::AttachCurrentThread(); |
95 return Java_ResourceBundle_assetContainedInApk( | 95 base::android::ScopedJavaLocalRef<jstring> ret = |
96 env, | 96 Java_ResourceBundle_getLocalePakResourcePath( |
97 base::android::GetApplicationContext(), | 97 env, base::android::ConvertUTF8ToJavaString(env, locale).obj()); |
98 base::android::ConvertUTF8ToJavaString(env, filename).obj()); | 98 if (ret.obj() == nullptr) { |
| 99 return std::string(); |
| 100 } |
| 101 return base::android::ConvertJavaStringToUTF8(env, ret.obj()); |
99 } | 102 } |
100 | 103 |
101 bool RegisterResourceBundleAndroid(JNIEnv* env) { | 104 bool RegisterResourceBundleAndroid(JNIEnv* env) { |
102 return RegisterNativesImpl(env); | 105 return RegisterNativesImpl(env); |
103 } | 106 } |
104 | 107 |
105 } // namespace ui | 108 } // namespace ui |
OLD | NEW |