Merge "displaystate: check displayconfig/ on data partition first" into main
diff --git a/services/core/java/com/android/server/display/DeviceStateToLayoutMap.java b/services/core/java/com/android/server/display/DeviceStateToLayoutMap.java
index 1ac3a12..7cea9c4 100644
--- a/services/core/java/com/android/server/display/DeviceStateToLayoutMap.java
+++ b/services/core/java/com/android/server/display/DeviceStateToLayoutMap.java
@@ -63,12 +63,14 @@
private static final String CONFIG_FILE_PATH =
"etc/displayconfig/display_layout_configuration.xml";
+ private static final String DATA_CONFIG_FILE_PATH =
+ "system/displayconfig/display_layout_configuration.xml";
+
private final SparseArray<Layout> mLayoutMap = new SparseArray<>();
private final DisplayIdProducer mIdProducer;
DeviceStateToLayoutMap(DisplayIdProducer idProducer) {
- this(idProducer, Environment.buildPath(
- Environment.getVendorDirectory(), CONFIG_FILE_PATH));
+ this(idProducer, getConfigFile());
}
DeviceStateToLayoutMap(DisplayIdProducer idProducer, File configFile) {
@@ -77,6 +79,16 @@
createLayout(STATE_DEFAULT);
}
+ static private File getConfigFile() {
+ final File configFileFromDataDir = Environment.buildPath(Environment.getDataDirectory(),
+ DATA_CONFIG_FILE_PATH);
+ if (configFileFromDataDir.exists()) {
+ return configFileFromDataDir;
+ } else {
+ return Environment.buildPath(Environment.getVendorDirectory(), CONFIG_FILE_PATH);
+ }
+ }
+
public void dumpLocked(IndentingPrintWriter ipw) {
ipw.println("DeviceStateToLayoutMap:");
ipw.increaseIndent();