init: 'user root' check use vendor API

This changes user root to use the year date format
that vendor API uses.

Previously this still applied to V devices, which switched
to using API level 202404 after 35.

They recommend the year/date form, and there is no
constant for this.

Bug: 340953047
Test: service_test
Change-Id: I5ba8d1251c877a785e41f0cfcc35d7cb0776f8c7
This commit is contained in:
Steven Moreland 2024-05-29 00:03:19 +00:00
parent f11349ef4d
commit 5088e588f7
3 changed files with 2 additions and 3 deletions

View file

@ -32,7 +32,6 @@
#define __ANDROID_API_S__ 31
#define __ANDROID_API_T__ 33
#define __ANDROID_API_U__ 34
#define __ANDROID_API_V__ 35
// sys/system_properties.h
#define PROP_VALUE_MAX 92

View file

@ -630,7 +630,7 @@ service A something
ASSERT_TRUE(parser.ParseConfig(tf.path));
if (GetIntProperty("ro.vendor.api_level", 0) > __ANDROID_API_V__) {
if (GetIntProperty("ro.vendor.api_level", 0) > 202404) {
ASSERT_EQ(1u, parser.parse_error_count());
} else {
ASSERT_EQ(0u, parser.parse_error_count());

View file

@ -680,7 +680,7 @@ Result<void> ServiceParser::EndSection() {
}
if (service_->proc_attr_.parsed_uid == std::nullopt) {
if (android::base::GetIntProperty("ro.vendor.api_level", 0) > __ANDROID_API_V__) {
if (android::base::GetIntProperty("ro.vendor.api_level", 0) > 202404) {
return Error() << "No user specified for service '" << service_->name()
<< "', so it would have been root.";
} else {