Update CPU GPU headroom HAL API

* change pid to tids list
* add configurable interval value
* change float (array) return type to union type
* add default values for the params

Bug: 346604998
Flag: EXEMPT HAL changes
Test: atest VtsHalPowerTargetTest
Change-Id: I4422b8489da5bf072ad821d04f91fcfabccf9d98
diff --git a/power/aidl/default/Power.h b/power/aidl/default/Power.h
index 51528c6..c4aa7ab 100644
--- a/power/aidl/default/Power.h
+++ b/power/aidl/default/Power.h
@@ -46,9 +46,10 @@
     ndk::ScopedAStatus closeSessionChannel(int32_t tgid, int32_t uid) override;
     ndk::ScopedAStatus getSupportInfo(SupportInfo* _aidl_return) override;
     ndk::ScopedAStatus getCpuHeadroom(const CpuHeadroomParams& params,
-                                      std::vector<float>* _aidl_return) override;
+                                      CpuHeadroomResult* _aidl_return) override;
+
     ndk::ScopedAStatus getGpuHeadroom(const GpuHeadroomParams& params,
-                                      float* _aidl_return) override;
+                                      GpuHeadroomResult* _aidl_return) override;
     ndk::ScopedAStatus getCpuHeadroomMinIntervalMillis(int64_t* _aidl_return) override;
     ndk::ScopedAStatus getGpuHeadroomMinIntervalMillis(int64_t* _aidl_return) override;
     ndk::ScopedAStatus sendCompositionData(const std::vector<CompositionData>& in_data) override;