Plumb through SetTaskProfiles in libprocessgroup. am: 88d59a9cdd am: 09ba9fff15 am: 9daa86fa35
Original change: https://android-review.googlesource.com/c/platform/system/libartpalette/+/2385592
Change-Id: Id073d0f9dabe183b2444ff1dd55ad2047a80ac23
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/Android.bp b/Android.bp
index dd4e1fa..facd495 100644
--- a/Android.bp
+++ b/Android.bp
@@ -67,6 +67,7 @@
versions: [
"1",
"2",
+ "3",
],
symbol_file: "libartpalette.map.txt",
},
diff --git a/libartpalette.map.txt b/libartpalette.map.txt
index 0de133f..fbe1ae3 100644
--- a/libartpalette.map.txt
+++ b/libartpalette.map.txt
@@ -45,3 +45,9 @@
# --- VERSION 02 API ---
PaletteReportLockContention; # systemapi
} LIBARTPALETTE_1;
+
+LIBARTPALETTE_3 { # introduced=UpsideDownCake
+ global:
+ # --- VERSION 03 API ---
+ PaletteSetTaskProfiles; # systemapi
+} LIBARTPALETTE_2;
diff --git a/palette_android.cc b/palette_android.cc
index 66a360f..191596f 100644
--- a/palette_android.cc
+++ b/palette_android.cc
@@ -31,12 +31,15 @@
#include <android-base/macros.h>
#include <cutils/ashmem.h>
#include <cutils/trace.h>
+#include <processgroup/processgroup.h>
#include <selinux/selinux.h>
#include <tombstoned/tombstoned.h>
#include <utils/Thread.h>
#include "palette_system.h"
+// Methods in version 1 API, corresponding to SDK level 31.
+
// Conversion map for "nice" values.
//
// We use Android thread priority constants to be consistent with the rest
@@ -244,3 +247,15 @@
*staging_dir = kStagingDirectory;
return PALETTE_STATUS_OK;
}
+
+// Methods in version 3 API, corresponding to SDK level UpsideDownCake.
+
+palette_status_t PaletteSetTaskProfiles(int32_t tid, const char* const profiles[],
+ size_t profiles_len) {
+ std::vector<std::string> p;
+ p.reserve(profiles_len);
+ for (int i = 0; i < profiles_len; ++i) {
+ p.push_back(profiles[i]);
+ }
+ return SetTaskProfiles(tid, p, false) ? PALETTE_STATUS_OK : PALETTE_STATUS_FAILED_CHECK_LOG;
+}
diff --git a/palette_fake.cc b/palette_fake.cc
index 5b68f9d..2a5c0b1 100644
--- a/palette_fake.cc
+++ b/palette_fake.cc
@@ -140,3 +140,11 @@
const char* proc_name ATTRIBUTE_UNUSED, const char* thread_name ATTRIBUTE_UNUSED) {
return PALETTE_STATUS_OK;
}
+
+// Methods in version 3 API, corresponding to SDK level UpsideDownCake.
+
+palette_status_t PaletteSetTaskProfiles(int32_t tid ATTRIBUTE_UNUSED,
+ const char* const profiles[] ATTRIBUTE_UNUSED,
+ size_t profiles_len ATTRIBUTE_UNUSED) {
+ return PALETTE_STATUS_OK;
+}