From d0b913a0b40ff5b1d0dc218ae78f9281768e287c Mon Sep 17 00:00:00 2001 From: Ramii Ahmed Date: Fri, 1 Apr 2022 19:23:33 +0000 Subject: [PATCH] sm6375-common: libinit: Adjust detection prop to better suite xiaomi sm6375 devices * Xiaomi devices on SM6375 platform use ro.boot.board_id to identify different SKU's, let's mirror miui in that * but it also hardcodes fingerprints based on region, we can recreate the same effect by using the region prop ro.boot.hwc Change-Id: I00dd84979db6066ad18bc36b619795de751925f8 --- libinit/include/libinit_variant.h | 2 +- libinit/libinit_variant.cpp | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/libinit/include/libinit_variant.h b/libinit/include/libinit_variant.h index c1d0ab9..98bec4f 100644 --- a/libinit/include/libinit_variant.h +++ b/libinit/include/libinit_variant.h @@ -11,8 +11,8 @@ #include typedef struct variant_info { + std::string hwc_value; std::string model_value; - std::string sku_value; std::string brand; std::string device; diff --git a/libinit/libinit_variant.cpp b/libinit/libinit_variant.cpp index 21200b7..5e94a7f 100644 --- a/libinit/libinit_variant.cpp +++ b/libinit/libinit_variant.cpp @@ -12,16 +12,17 @@ using android::base::GetProperty; +#define HWC_PROP "ro.boot.hwc" #define MODEL_PROP "ro.boot.board_id" #define SKU_PROP "ro.boot.product.hardware.sku" void search_variant(const std::vector variants) { + std::string hwc_value = GetProperty(HWC_PROP, ""); std::string model_value = GetProperty(MODEL_PROP, ""); - std::string sku_value = GetProperty(SKU_PROP, ""); for (const auto& variant : variants) { - if ((variant.model_value == "" || variant.model_value == model_value) && - (variant.sku_value == "" || variant.sku_value == sku_value)) { + if ((variant.hwc_value == "" || variant.hwc_value == hwc_value) && + (variant.model_value == "" || variant.model_value == model_value)) { set_variant_props(variant); break; }