mirror of
https://github.com/PixelExperience-Devices/device_xiaomi_miatoll.git
synced 2025-05-20 21:17:16 +09:00
sm6250-common: libinit: Get build description from build fingerprint
Change-Id: I3661981c7ba78670dcacd814598284274cb2eb9d
This commit is contained in:
parent
e5f929281e
commit
a0b832caff
@ -13,4 +13,6 @@ void property_override(std::string prop, std::string value, bool add = true);
|
|||||||
|
|
||||||
void set_ro_build_prop(const std::string &prop, const std::string &value, bool product = false);
|
void set_ro_build_prop(const std::string &prop, const std::string &value, bool product = false);
|
||||||
|
|
||||||
|
std::string fingerprint_to_description(std::string fingerprint);
|
||||||
|
|
||||||
#endif // LIBINIT_UTILS_H
|
#endif // LIBINIT_UTILS_H
|
||||||
|
@ -16,7 +16,6 @@ typedef struct variant_info {
|
|||||||
std::string brand;
|
std::string brand;
|
||||||
std::string device;
|
std::string device;
|
||||||
std::string model;
|
std::string model;
|
||||||
std::string build_description;
|
|
||||||
std::string build_fingerprint;
|
std::string build_fingerprint;
|
||||||
|
|
||||||
bool nfc;
|
bool nfc;
|
||||||
|
@ -40,3 +40,34 @@ void set_ro_build_prop(const std::string &prop, const std::string &value, bool p
|
|||||||
property_override(prop_name, value, true);
|
property_override(prop_name, value, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define FIND_AND_REMOVE(s, delimiter, variable_name) \
|
||||||
|
std::string variable_name = s.substr(0, s.find(delimiter)); \
|
||||||
|
s.erase(0, s.find(delimiter) + delimiter.length());
|
||||||
|
|
||||||
|
#define APPEND_STRING(s, to_append) \
|
||||||
|
s.append(" "); \
|
||||||
|
s.append(to_append);
|
||||||
|
|
||||||
|
std::string fingerprint_to_description(std::string fingerprint) {
|
||||||
|
std::string delimiter = "/";
|
||||||
|
std::string delimiter2 = ":";
|
||||||
|
std::string build_fingerprint_copy = fingerprint;
|
||||||
|
|
||||||
|
FIND_AND_REMOVE(build_fingerprint_copy, delimiter, brand)
|
||||||
|
FIND_AND_REMOVE(build_fingerprint_copy, delimiter, product)
|
||||||
|
FIND_AND_REMOVE(build_fingerprint_copy, delimiter2, device)
|
||||||
|
FIND_AND_REMOVE(build_fingerprint_copy, delimiter, platform_version)
|
||||||
|
FIND_AND_REMOVE(build_fingerprint_copy, delimiter, build_id)
|
||||||
|
FIND_AND_REMOVE(build_fingerprint_copy, delimiter2, build_number)
|
||||||
|
FIND_AND_REMOVE(build_fingerprint_copy, delimiter, build_variant)
|
||||||
|
std::string build_version_tags = build_fingerprint_copy;
|
||||||
|
|
||||||
|
std::string description = product + "-" + build_variant;
|
||||||
|
APPEND_STRING(description, platform_version)
|
||||||
|
APPEND_STRING(description, build_id)
|
||||||
|
APPEND_STRING(description, build_number)
|
||||||
|
APPEND_STRING(description, build_version_tags)
|
||||||
|
|
||||||
|
return description;
|
||||||
|
}
|
||||||
|
@ -34,7 +34,8 @@ void set_variant_props(const variant_info_t variant) {
|
|||||||
|
|
||||||
set_ro_build_prop("fingerprint", variant.build_fingerprint);
|
set_ro_build_prop("fingerprint", variant.build_fingerprint);
|
||||||
property_override("ro.bootimage.build.fingerprint", variant.build_fingerprint);
|
property_override("ro.bootimage.build.fingerprint", variant.build_fingerprint);
|
||||||
property_override("ro.build.description", variant.build_description);
|
|
||||||
|
property_override("ro.build.description", fingerprint_to_description(variant.build_fingerprint));
|
||||||
|
|
||||||
if (variant.nfc)
|
if (variant.nfc)
|
||||||
property_override(SKU_PROP, "nfc");
|
property_override(SKU_PROP, "nfc");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user