blob: a9d3b1d1c564eb87c34b6b634760cfbc4c7b6cfc [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef UI_BASE_RESOURCE_RESOURCE_BUNDLE_ANDROID_H_
#define UI_BASE_RESOURCE_RESOURCE_BUNDLE_ANDROID_H_
#include <jni.h>
#include <string>
#include "base/basictypes.h"
#include "base/files/memory_mapped_file.h"
#include "ui/base/ui_base_export.h"
namespace ui {
// Loads "resources.apk" from the .apk. Falls back to loading from disk, which
// is necessary for tests.
UI_BASE_EXPORT void LoadMainAndroidPackFile(
const char* path_within_apk,
const base::FilePath& disk_file_path);
// Returns the file descriptor and region for resources.pak.
UI_BASE_EXPORT int GetMainAndroidPackFd(
base::MemoryMappedFile::Region* out_region);
// Returns the file descriptor and region for chrome_100_percent.pak.
UI_BASE_EXPORT int GetCommonResourcesPackFd(
base::MemoryMappedFile::Region* out_region);
// Returns the file descriptor and region for the locale .pak file.
UI_BASE_EXPORT int GetLocalePackFd(
base::MemoryMappedFile::Region* out_region);
// Tell ResourceBundle to locate locale pak files via
// GetPathForAndroidLocalePakWithinApk rather than looking for them on disk.
UI_BASE_EXPORT void SetLocalePaksStoredInApk(bool value);
// Returns the path within the apk for the given locale's .pak file, or an
// empty string if it doesn't exist.
// Only locale paks for the active Android language can be retrieved.
UI_BASE_EXPORT std::string GetPathForAndroidLocalePakWithinApk(
const std::string& locale);
bool RegisterResourceBundleAndroid(JNIEnv* env);
} // namespace ui
#endif // UI_BASE_RESOURCE_RESOURCE_BUNDLE_ANDROID_H_