libtimeinstate: add getCpuFreqs() function

Currently the KernelCpuUidFreqTimeReader reads the first line of
/proc/uid_time_in_state to determine a device's available CPU
frequencies, but libtimeinstate already reads this information from
sysfs files that are supported upstream. Add a function to provide
this information to libtimeinstate's users & eliminate the need to
read the proc file for this data.
Add a sanity check in libtimeinstate_test to confirm that
getCpuFreqs() and getUidCpuFreqTimes() report the same number of
frequencies for each cluster.

Bug: 138317993
Test: libtimeinstate_test passes
Change-Id: I3e8c632d14bbeb552d7e52bd83a9b4a64dec408d
Signed-off-by: Connor O'Brien <connoro@google.com>
diff --git a/libs/cputimeinstate/cputimeinstate.h b/libs/cputimeinstate/cputimeinstate.h
index f620715..49469d8 100644
--- a/libs/cputimeinstate/cputimeinstate.h
+++ b/libs/cputimeinstate/cputimeinstate.h
@@ -26,6 +26,7 @@
 std::optional<std::vector<std::vector<uint64_t>>> getUidCpuFreqTimes(uint32_t uid);
 std::optional<std::unordered_map<uint32_t, std::vector<std::vector<uint64_t>>>>
     getUidsCpuFreqTimes();
+std::optional<std::vector<std::vector<uint32_t>>> getCpuFreqs();
 
 struct concurrent_time_t {
     std::vector<uint64_t> active;