sdm660-common: init: Adapt libinit to Android 11

* Remove build.description from common tree as well
This commit is contained in:
Lucchetto 2021-03-08 21:10:12 +06:00 committed by OdSazib
parent 1c6c38bcab
commit 05e437c22a
No known key found for this signature in database
GPG key ID: B678DBD07079B021
2 changed files with 56 additions and 16 deletions

View file

@ -1,5 +1,5 @@
// //
// Copyright (C) 2019 The LineageOS Project // Copyright (C) 2019-2020 The LineageOS Project
// //
// Licensed under the Apache License, Version 2.0 (the "License"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -18,10 +18,11 @@ cc_library_static {
name: "libinit_sdm660", name: "libinit_sdm660",
recovery_available: true, recovery_available: true,
srcs: ["init_sdm660.cpp"], srcs: ["init_sdm660.cpp"],
whole_static_libs: ["libbase"],
include_dirs: [ include_dirs: [
"system/core/base/include", "system/core/base/include",
"system/core/init", "system/core/init"
], ],
shared_libs: ["libbase"], shared_libs: [
"libbase",
]
} }

View file

@ -1,7 +1,6 @@
/* /*
Copyright (c) 2016, The CyanogenMod Project Copyright (c) 2016, The CyanogenMod Project
Copyright (c) 2019, The LineageOS Project Copyright (c) 2019-2020, The LineageOS Project
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are modification, are permitted provided that the following conditions are
met: met:
@ -14,7 +13,6 @@
* Neither the name of The Linux Foundation nor the names of its * Neither the name of The Linux Foundation nor the names of its
contributors may be used to endorse or promote products derived contributors may be used to endorse or promote products derived
from this software without specific prior written permission. from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
@ -41,27 +39,60 @@
#include <sys/_system_properties.h> #include <sys/_system_properties.h>
#include "vendor_init.h" #include "vendor_init.h"
#include "property_service.h"
using android::base::GetProperty; using android::base::GetProperty;
using android::base::SetProperty;
using android::base::ReadFileToString; using android::base::ReadFileToString;
using android::base::Trim;
char const *heapstartsize; char const *heapstartsize;
char const *heapgrowthlimit; char const *heapgrowthlimit;
char const *heapsize; char const *heapsize;
char const *heapminfree; char const *heapminfree;
char const *heapmaxfree; char const *heapmaxfree;
char const *heaptargetutilization;
void property_override(char const prop[], char const value[]) void check_device()
{ {
prop_info *pi; struct sysinfo sys;
pi = (prop_info*) __system_property_find(prop); sysinfo(&sys);
if (pi)
if (sys.totalram > 5072ull * 1024 * 1024) {
// from - phone-xhdpi-6144-dalvik-heap.mk
heapstartsize = "16m";
heapgrowthlimit = "256m";
heapsize = "512m";
heaptargetutilization = "0.5";
heapminfree = "8m";
heapmaxfree = "32m";
} else if (sys.totalram > 3072ull * 1024 * 1024) {
// from - phone-xxhdpi-4096-dalvik-heap.mk
heapstartsize = "8m";
heapgrowthlimit = "256m";
heapsize = "512m";
heaptargetutilization = "0.6";
heapminfree = "8m";
heapmaxfree = "16m";
} else {
// from - phone-xhdpi-2048-dalvik-heap.mk
heapstartsize = "8m";
heapgrowthlimit = "192m";
heapsize = "512m";
heaptargetutilization = "0.75";
heapminfree = "512k";
heapmaxfree = "8m";
}
}
void property_override(char const prop[], char const value[], bool add = true)
{
auto pi = (prop_info *) __system_property_find(prop);
if (pi != nullptr) {
__system_property_update(pi, value, strlen(value)); __system_property_update(pi, value, strlen(value));
else } else if (add) {
__system_property_add(prop, strlen(prop), value, strlen(value)); __system_property_add(prop, strlen(prop), value, strlen(value));
}
} }
void property_override_dual(char const system_prop[], void property_override_dual(char const system_prop[],
@ -118,8 +149,16 @@ void vendor_load_persist_properties()
} }
void vendor_load_properties() void vendor_load_properties()
{ {
property_override("ro.build.description", "xiaomi/wayne/wayne:8.1.0/OPM1.171019.011/V9.5.11.0.ODCCNFA:user/release-keys"); check_device();
property_override_dual("ro.build.fingerprint", "ro.vendor.build.fingerprint", "xiaomi/wayne/wayne:8.1.0/OPM1.171019.011/V9.5.11.0.ODCCNFA:user/release-keys");
property_override("dalvik.vm.heapstartsize", heapstartsize);
property_override("dalvik.vm.heapgrowthlimit", heapgrowthlimit);
property_override("dalvik.vm.heapsize", heapsize);
property_override("dalvik.vm.heaptargetutilization", heaptargetutilization);
property_override("dalvik.vm.heapminfree", heapminfree);
property_override("dalvik.vm.heapmaxfree", heapmaxfree);
property_override_dual("ro.build.fingerprint", "ro.vendor.build.fingerprint", "xiaomi/wayne/wayne:8.1.0/OPM1.171019.011/V9.5.11.0.ODCCNFA:user/release-keys");
std::string product = GetProperty("ro.product.vendor.device", ""); std::string product = GetProperty("ro.product.vendor.device", "");
if (product.find("whyred") != std::string::npos) if (product.find("whyred") != std::string::npos)