diff options
author | 2025-01-13 10:19:19 -0700 | |
---|---|---|
committer | 2025-01-17 12:25:44 -0700 | |
commit | 0b6b81d76e2889382b8236c593b85294e270a0b7 (patch) | |
tree | 6b14da7c55338ab89f991b4190d62b4f8f99d670 | |
parent | 8e518c0c48f8167e251acd440c0c68f4c2cfe273 (diff) |
Add FeatureOverrides::toString()
Add FeatureOverrides::toString() to output a string representation of
the current FeatureOverrides values. This is required when implementing
Parcelable (in a later patch) as well as for 'cmd gpu featureOverrides'
(also coming in a later CL).
Bug: 372694741
Test: CQ
Test: Manual verification with later CLs
Flag: com.android.graphics.graphicsenv.flags.feature_overrides
Change-Id: I77ca945f173ae1ad5430670c87e46985189409cb
-rw-r--r-- | libs/graphicsenv/Android.bp | 1 | ||||
-rw-r--r-- | libs/graphicsenv/FeatureOverrides.cpp | 52 | ||||
-rw-r--r-- | libs/graphicsenv/include/graphicsenv/FeatureOverrides.h | 2 |
3 files changed, 55 insertions, 0 deletions
diff --git a/libs/graphicsenv/Android.bp b/libs/graphicsenv/Android.bp index 1fde45bb1a..dce7778229 100644 --- a/libs/graphicsenv/Android.bp +++ b/libs/graphicsenv/Android.bp @@ -41,6 +41,7 @@ cc_library_shared { ], srcs: [ + "FeatureOverrides.cpp", "GpuStatsInfo.cpp", "GraphicsEnv.cpp", "IGpuService.cpp", diff --git a/libs/graphicsenv/FeatureOverrides.cpp b/libs/graphicsenv/FeatureOverrides.cpp new file mode 100644 index 0000000000..6974da9934 --- /dev/null +++ b/libs/graphicsenv/FeatureOverrides.cpp @@ -0,0 +1,52 @@ +/* + * Copyright 2025 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <graphicsenv/FeatureOverrides.h> + +#include <android-base/stringprintf.h> + +namespace android { + +using base::StringAppendF; + +std::string FeatureConfig::toString() const { + std::string result; + StringAppendF(&result, "Feature: %s\n", mFeatureName.c_str()); + StringAppendF(&result, " Status: %s\n", mEnabled ? "enabled" : "disabled"); + + return result; +} + +std::string FeatureOverrides::toString() const { + std::string result; + result.append("Global Features:\n"); + for (auto& cfg : mGlobalFeatures) { + result.append(" " + cfg.toString()); + } + result.append("\n"); + result.append("Package Features:\n"); + for (const auto& packageFeature : mPackageFeatures) { + result.append(" Package:"); + StringAppendF(&result, " %s\n", packageFeature.first.c_str()); + for (auto& cfg : packageFeature.second) { + result.append(" " + cfg.toString()); + } + } + + return result; +} + +} // namespace android diff --git a/libs/graphicsenv/include/graphicsenv/FeatureOverrides.h b/libs/graphicsenv/include/graphicsenv/FeatureOverrides.h index 2ef54ad747..2b9418733d 100644 --- a/libs/graphicsenv/include/graphicsenv/FeatureOverrides.h +++ b/libs/graphicsenv/include/graphicsenv/FeatureOverrides.h @@ -27,6 +27,7 @@ public: FeatureConfig() = default; FeatureConfig(const FeatureConfig&) = default; virtual ~FeatureConfig() = default; + std::string toString() const; std::string mFeatureName; bool mEnabled; @@ -41,6 +42,7 @@ public: FeatureOverrides() = default; FeatureOverrides(const FeatureOverrides&) = default; virtual ~FeatureOverrides() = default; + std::string toString() const; std::vector<FeatureConfig> mGlobalFeatures; /* Key: Package Name, Value: Package's Feature Configs */ |