Merge "Populate more emulator properties to ro.boot."

This commit is contained in:
Treehugger Robot 2021-03-23 19:09:29 +00:00 committed by Gerrit Code Review
commit 5d5e16db57

View file

@ -1165,12 +1165,37 @@ static void ProcessKernelDt() {
constexpr auto ANDROIDBOOT_PREFIX = "androidboot."sv;
// emulator specific, should be removed once emulator is migrated to
// bootconfig, see b/182291166.
static std::string RemapEmulatorPropertyName(const std::string_view qemu_key) {
if (StartsWith(qemu_key, "dalvik."sv) || StartsWith(qemu_key, "opengles."sv) ||
StartsWith(qemu_key, "config."sv)) {
return std::string(qemu_key);
} else if (qemu_key == "uirenderer"sv) {
return "debug.hwui.renderer"s;
} else if (qemu_key == "media.ccodec"sv) {
return "debug.stagefright.ccodec"s;
} else {
return ""s; // TBD
}
}
static void ProcessKernelCmdline() {
ImportKernelCmdline([&](const std::string& key, const std::string& value) {
constexpr auto qemu_prefix = "qemu."sv;
if (StartsWith(key, ANDROIDBOOT_PREFIX)) {
InitPropertySet("ro.boot." + key.substr(ANDROIDBOOT_PREFIX.size()), value);
} else if (StartsWith(key, "qemu."sv)) {
InitPropertySet("ro.kernel." + key, value);
} else if (StartsWith(key, qemu_prefix)) {
InitPropertySet("ro.kernel." + key, value); // emulator specific, deprecated
// emulator specific, should be retired once emulator migrates to
// androidboot.
const auto new_name =
RemapEmulatorPropertyName(std::string_view(key).substr(qemu_prefix.size()));
if (!new_name.empty()) {
InitPropertySet("ro.boot." + new_name, value);
}
} else if (key == "qemu") {
// emulator specific, should be retired once emulator migrates to
// androidboot.