Merge "healthd: charger loads resources from /product"
This commit is contained in:
commit
9474063654
|
@ -48,6 +48,25 @@ struct animation {
|
|||
GRFont* font;
|
||||
};
|
||||
|
||||
// When libminui loads PNG images:
|
||||
// - When treating paths as relative paths, it adds ".png" suffix.
|
||||
// - When treating paths as absolute paths, it doesn't add the suffix. Hence, the suffix
|
||||
// is added here.
|
||||
void set_resource_root(const std::string& root) {
|
||||
if (!animation_file.empty()) {
|
||||
animation_file = root + animation_file + ".png";
|
||||
}
|
||||
if (!fail_file.empty()) {
|
||||
fail_file = root + fail_file + ".png";
|
||||
}
|
||||
if (!text_clock.font_file.empty()) {
|
||||
text_clock.font_file = root + text_clock.font_file + ".png";
|
||||
}
|
||||
if (!text_percent.font_file.empty()) {
|
||||
text_percent.font_file = root + text_percent.font_file + ".png";
|
||||
}
|
||||
}
|
||||
|
||||
std::string animation_file;
|
||||
std::string fail_file;
|
||||
|
||||
|
|
|
@ -80,8 +80,13 @@ char* locale;
|
|||
#define LOGW(x...) KLOG_WARNING("charger", x);
|
||||
#define LOGV(x...) KLOG_DEBUG("charger", x);
|
||||
|
||||
static constexpr const char* animation_desc_path =
|
||||
"/res/values/charger/animation.txt";
|
||||
// Resources in /product/etc/res overrides resources in /res.
|
||||
// If the device is using the Generic System Image (GSI), resources may exist in
|
||||
// both paths.
|
||||
static constexpr const char* product_animation_desc_path =
|
||||
"/product/etc/res/values/charger/animation.txt";
|
||||
static constexpr const char* product_animation_root = "/product/etc/res/images/";
|
||||
static constexpr const char* animation_desc_path = "/res/values/charger/animation.txt";
|
||||
|
||||
struct key_state {
|
||||
bool pending;
|
||||
|
@ -600,7 +605,10 @@ animation* init_animation() {
|
|||
bool parse_success;
|
||||
|
||||
std::string content;
|
||||
if (base::ReadFileToString(animation_desc_path, &content)) {
|
||||
if (base::ReadFileToString(product_animation_desc_path, &content)) {
|
||||
parse_success = parse_animation_desc(content, &battery_animation);
|
||||
battery_animation.set_resource_root(product_animation_root);
|
||||
} else if (base::ReadFileToString(animation_desc_path, &content)) {
|
||||
parse_success = parse_animation_desc(content, &battery_animation);
|
||||
} else {
|
||||
LOGW("Could not open animation description at %s\n", animation_desc_path);
|
||||
|
|
Loading…
Reference in New Issue