diff options
| -rw-r--r-- | services/core/java/com/android/server/display/DeviceStateToLayoutMap.java | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/display/DeviceStateToLayoutMap.java b/services/core/java/com/android/server/display/DeviceStateToLayoutMap.java index 1ac3a12fad21..7cea9c422b4d 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 @@ class DeviceStateToLayoutMap { 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 @@ class DeviceStateToLayoutMap { 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(); |