From 1fdc4f54ca24f0e29a89a831191842da7919c5cc Mon Sep 17 00:00:00 2001 From: Lucchetto Date: Wed, 16 Sep 2020 18:48:36 +0200 Subject: sdm660-common: Adapt libinit to Android 11 Change-Id: Ia6b6f753891b639dad4e380bdba6b594faf2a550 --- init/Android.bp | 5 ++++- init/init_sdm660.cpp | 28 ++++++++++++++++++---------- 2 files changed, 22 insertions(+), 11 deletions(-) (limited to 'init') diff --git a/init/Android.bp b/init/Android.bp index 4a30644..dd596b9 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_sdm660.cpp b/init/init_sdm660.cpp index 63e7d79..fc0c5bc 100644 --- a/init/init_sdm660.cpp +++ b/init/init_sdm660.cpp @@ -1,6 +1,6 @@ /* 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 modification, are permitted provided that the following conditions are @@ -41,9 +41,6 @@ #include "vendor_init.h" #include "property_service.h" -using android::base::GetProperty; -using android::init::property_set; - char const *heapstartsize; char const *heapgrowthlimit; char const *heapsize; @@ -84,14 +81,25 @@ 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", heapstartsize); - property_set("dalvik.vm.heapgrowthlimit", heapgrowthlimit); - property_set("dalvik.vm.heapsize", heapsize); - property_set("dalvik.vm.heaptargetutilization", heaptargetutilization); - property_set("dalvik.vm.heapminfree", heapminfree); - property_set("dalvik.vm.heapmaxfree", heapmaxfree); + 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); } -- cgit v1.2.3