diff options
-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 */ |