diff --git a/init/init_clover.cpp b/init/init_clover.cpp index ade7fde..35b16fa 100755 --- a/init/init_clover.cpp +++ b/init/init_clover.cpp @@ -88,8 +88,11 @@ static void init_alarm_boot_properties() void vendor_load_properties() { + std::string platform; std::string hw_device; + char const *hw_id_file = "/sys/devices/platform/HardwareInfo/hw_id"; + hw_device = GetProperty("ro.board.variant", ""); if (hw_device.compare("d9")) { property_set ( "ro.vendor.product.model", "MI PAD 4"); @@ -97,5 +100,12 @@ void vendor_load_properties() property_set ( "ro.vendor.product.model", "MI PAD 4 PLUS"); } + ReadFileToString(hw_id_file, &hw_device); + if (hw_device.find("D9P") != std::string::npos) { + property_override_dual("ro.product.model", "ro.vendor.product.model", "MI PAD 4 PLUS"); + } else { + property_override_dual("ro.product.model", "ro.vendor.product.model", "MI PAD 4"); + } + init_alarm_boot_properties(); }