From 5647bc405ffa94b2ebdde32f2196a1cc289c77f5 Mon Sep 17 00:00:00 2001 From: liupengle Date: Tue, 9 May 2023 14:47:08 +0800 Subject: [PATCH] Get device_state_configuration config files from ODM partition 1.For fold devices, some necessary config files must be configured in vendor partition.These config files will effect some phones that has the same Soc. 2.Odm partition is intended for hardware SKUs. For GSI, odm partition can keep the logic of original design manufacturers. 3.Add getting device_state_configuration.xml from odm partition. Bug: 276181381 Change-Id: I54f7190cf9d5385cdf3cfc9f1afff05d06d9bd64 Signed-off-by: liupengle --- .../com/android/server/policy/DeviceStateProviderImpl.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/services/core/java/com/android/server/policy/DeviceStateProviderImpl.java b/services/core/java/com/android/server/policy/DeviceStateProviderImpl.java index ced3a45935f83..4ea3dfede36bc 100644 --- a/services/core/java/com/android/server/policy/DeviceStateProviderImpl.java +++ b/services/core/java/com/android/server/policy/DeviceStateProviderImpl.java @@ -92,6 +92,7 @@ public final class DeviceStateProviderImpl implements DeviceStateProvider, "DEFAULT", 0 /* flags */); private static final String VENDOR_CONFIG_FILE_PATH = "etc/devicestate/"; + private static final String ODM_CONFIG_FILE_PATH = "etc/devicestate/"; private static final String DATA_CONFIG_FILE_PATH = "system/devicestate/"; private static final String CONFIG_FILE_NAME = "device_state_configuration.xml"; private static final String FLAG_CANCEL_OVERRIDE_REQUESTS = "FLAG_CANCEL_OVERRIDE_REQUESTS"; @@ -588,6 +589,12 @@ public final class DeviceStateProviderImpl implements DeviceStateProvider, return configFileFromDataDir; } + final File configFileFromOdmDir = Environment.buildPath(Environment.getOdmDirectory(), + ODM_CONFIG_FILE_PATH, CONFIG_FILE_NAME); + if (configFileFromOdmDir.exists()) { + return configFileFromOdmDir; + } + final File configFileFromVendorDir = Environment.buildPath(Environment.getVendorDirectory(), VENDOR_CONFIG_FILE_PATH, CONFIG_FILE_NAME); if (configFileFromVendorDir.exists()) {