diff options
Diffstat (limited to 'init')
-rw-r--r-- | init/Android.bp | 5 | ||||
-rw-r--r-- | init/init_msm8996.cpp | 29 |
2 files changed, 24 insertions, 10 deletions
diff --git a/init/Android.bp b/init/Android.bp index 7cc57b6..dad6e26 100644 --- a/init/Android.bp +++ b/init/Android.bp @@ -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"); // you may not use this file except in compliance with the License. @@ -21,5 +21,8 @@ cc_library_static { include_dirs: [ "system/core/base/include", "system/core/init" + ], + shared_libs: [ + "libbase", ] } diff --git a/init/init_msm8996.cpp b/init/init_msm8996.cpp index e2de323..bdaaaa8 100644 --- a/init/init_msm8996.cpp +++ b/init/init_msm8996.cpp @@ -1,7 +1,7 @@ /* Copyright (c) 2015, The Linux Foundation. All rights reserved. Copyright (C) 2016 The CyanogenMod Project. - Copyright (C) 2017-2018 The LineageOS Project. + Copyright (C) 2017-2021 The LineageOS Project. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -36,8 +36,8 @@ #include "property_service.h" #include "vendor_init.h" -using android::base::GetProperty; -using android::init::property_set; +#define _REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_ +#include <sys/_system_properties.h> char const *heapminfree; char const *heapmaxfree; @@ -59,16 +59,27 @@ void check_device() } } +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)); + } else if (add) { + __system_property_add(prop, strlen(prop), value, strlen(value)); + } +} + void vendor_load_properties() { check_device(); - property_set("dalvik.vm.heapstartsize", "8m"); - property_set("dalvik.vm.heapgrowthlimit", "256m"); - property_set("dalvik.vm.heapsize", "512m"); - property_set("dalvik.vm.heaptargetutilization", "0.75"); - property_set("dalvik.vm.heapminfree", heapminfree); - property_set("dalvik.vm.heapmaxfree", heapmaxfree); + property_override("dalvik.vm.heapstartsize", "8m"); + property_override("dalvik.vm.heapgrowthlimit", "256m"); + property_override("dalvik.vm.heapsize", "512m"); + property_override("dalvik.vm.heaptargetutilization", "0.75"); + property_override("dalvik.vm.heapminfree", heapminfree); + property_override("dalvik.vm.heapmaxfree", heapmaxfree); } |