Loading core/res/res/values/config.xml +9 −3 Original line number Diff line number Diff line Loading @@ -663,9 +663,15 @@ The default is false. --> <bool name="config_lidControlsSleep">false</bool> <!-- The device state (supplied by DeviceStateManager) that should be treated as folded by the display fold controller. Default is DeviceStateManager.INVALID_DEVICE_STATE. --> <integer name="config_foldedDeviceState">-1</integer> <!-- The device states (supplied by DeviceStateManager) that should be treated as folded by the display fold controller. Default is empty. --> <integer-array name="config_foldedDeviceStates"> <!-- Example: <item>0</item> <item>1</item> <item>2</item> --> </integer-array> <!-- Indicate the display area rect for foldable devices in folded state. --> <string name="config_foldedArea"></string> Loading core/res/res/values/symbols.xml +1 −1 Original line number Diff line number Diff line Loading @@ -3731,7 +3731,7 @@ <java-symbol type="string" name="config_customCountryDetector" /> <!-- For Foldables --> <java-symbol type="integer" name="config_foldedDeviceState" /> <java-symbol type="array" name="config_foldedDeviceStates" /> <java-symbol type="string" name="config_foldedArea" /> <java-symbol type="array" name="config_disableApksUnlessMatchedSku_apk_list" /> Loading services/core/java/com/android/server/display/LogicalDisplayMapper.java +11 −4 Original line number Diff line number Diff line Loading @@ -107,7 +107,7 @@ class LogicalDisplayMapper implements DisplayDeviceRepository.Listener { private final DisplayDeviceRepository mDisplayDeviceRepo; private final Listener mListener; private final int mFoldedDeviceState; private final int[] mFoldedDeviceStates; LogicalDisplayMapper(Context context, DisplayDeviceRepository repo, Listener listener) { mDisplayDeviceRepo = repo; Loading @@ -115,8 +115,8 @@ class LogicalDisplayMapper implements DisplayDeviceRepository.Listener { mSingleDisplayDemoMode = SystemProperties.getBoolean("persist.demo.singledisplay", false); mDisplayDeviceRepo.addListener(this); mFoldedDeviceState = context.getResources().getInteger( com.android.internal.R.integer.config_foldedDeviceState); mFoldedDeviceStates = context.getResources().getIntArray( com.android.internal.R.array.config_foldedDeviceStates); loadFoldedDisplayConfig(context); } Loading Loading @@ -232,7 +232,14 @@ class LogicalDisplayMapper implements DisplayDeviceRepository.Listener { } void setDeviceStateLocked(int state) { setDeviceFoldedLocked(state == mFoldedDeviceState); boolean folded = false; for (int i = 0; i < mFoldedDeviceStates.length; i++) { if (state == mFoldedDeviceStates[i]) { folded = true; break; } } setDeviceFoldedLocked(folded); } void setDeviceFoldedLocked(boolean isFolded) { Loading services/core/java/com/android/server/policy/DisplayFoldController.java +11 −4 Original line number Diff line number Diff line Loading @@ -209,16 +209,23 @@ class DisplayFoldController { * resource. */ private class DeviceStateListener implements DeviceStateManager.DeviceStateListener { private final int mFoldedDeviceState; private final int[] mFoldedDeviceStates; DeviceStateListener(Context context) { mFoldedDeviceState = context.getResources().getInteger( com.android.internal.R.integer.config_foldedDeviceState); mFoldedDeviceStates = context.getResources().getIntArray( com.android.internal.R.array.config_foldedDeviceStates); } @Override public void onDeviceStateChanged(int deviceState) { setDeviceFolded(deviceState == mFoldedDeviceState); boolean folded = false; for (int i = 0; i < mFoldedDeviceStates.length; i++) { if (deviceState == mFoldedDeviceStates[i]) { folded = true; break; } } setDeviceFolded(folded); } } } Loading
core/res/res/values/config.xml +9 −3 Original line number Diff line number Diff line Loading @@ -663,9 +663,15 @@ The default is false. --> <bool name="config_lidControlsSleep">false</bool> <!-- The device state (supplied by DeviceStateManager) that should be treated as folded by the display fold controller. Default is DeviceStateManager.INVALID_DEVICE_STATE. --> <integer name="config_foldedDeviceState">-1</integer> <!-- The device states (supplied by DeviceStateManager) that should be treated as folded by the display fold controller. Default is empty. --> <integer-array name="config_foldedDeviceStates"> <!-- Example: <item>0</item> <item>1</item> <item>2</item> --> </integer-array> <!-- Indicate the display area rect for foldable devices in folded state. --> <string name="config_foldedArea"></string> Loading
core/res/res/values/symbols.xml +1 −1 Original line number Diff line number Diff line Loading @@ -3731,7 +3731,7 @@ <java-symbol type="string" name="config_customCountryDetector" /> <!-- For Foldables --> <java-symbol type="integer" name="config_foldedDeviceState" /> <java-symbol type="array" name="config_foldedDeviceStates" /> <java-symbol type="string" name="config_foldedArea" /> <java-symbol type="array" name="config_disableApksUnlessMatchedSku_apk_list" /> Loading
services/core/java/com/android/server/display/LogicalDisplayMapper.java +11 −4 Original line number Diff line number Diff line Loading @@ -107,7 +107,7 @@ class LogicalDisplayMapper implements DisplayDeviceRepository.Listener { private final DisplayDeviceRepository mDisplayDeviceRepo; private final Listener mListener; private final int mFoldedDeviceState; private final int[] mFoldedDeviceStates; LogicalDisplayMapper(Context context, DisplayDeviceRepository repo, Listener listener) { mDisplayDeviceRepo = repo; Loading @@ -115,8 +115,8 @@ class LogicalDisplayMapper implements DisplayDeviceRepository.Listener { mSingleDisplayDemoMode = SystemProperties.getBoolean("persist.demo.singledisplay", false); mDisplayDeviceRepo.addListener(this); mFoldedDeviceState = context.getResources().getInteger( com.android.internal.R.integer.config_foldedDeviceState); mFoldedDeviceStates = context.getResources().getIntArray( com.android.internal.R.array.config_foldedDeviceStates); loadFoldedDisplayConfig(context); } Loading Loading @@ -232,7 +232,14 @@ class LogicalDisplayMapper implements DisplayDeviceRepository.Listener { } void setDeviceStateLocked(int state) { setDeviceFoldedLocked(state == mFoldedDeviceState); boolean folded = false; for (int i = 0; i < mFoldedDeviceStates.length; i++) { if (state == mFoldedDeviceStates[i]) { folded = true; break; } } setDeviceFoldedLocked(folded); } void setDeviceFoldedLocked(boolean isFolded) { Loading
services/core/java/com/android/server/policy/DisplayFoldController.java +11 −4 Original line number Diff line number Diff line Loading @@ -209,16 +209,23 @@ class DisplayFoldController { * resource. */ private class DeviceStateListener implements DeviceStateManager.DeviceStateListener { private final int mFoldedDeviceState; private final int[] mFoldedDeviceStates; DeviceStateListener(Context context) { mFoldedDeviceState = context.getResources().getInteger( com.android.internal.R.integer.config_foldedDeviceState); mFoldedDeviceStates = context.getResources().getIntArray( com.android.internal.R.array.config_foldedDeviceStates); } @Override public void onDeviceStateChanged(int deviceState) { setDeviceFolded(deviceState == mFoldedDeviceState); boolean folded = false; for (int i = 0; i < mFoldedDeviceStates.length; i++) { if (deviceState == mFoldedDeviceStates[i]) { folded = true; break; } } setDeviceFolded(folded); } } }