From a9fde290dd1b69e60650b7e5739902ef15d03e50 Mon Sep 17 00:00:00 2001 From: Huan Song Date: Tue, 20 Apr 2021 09:53:06 -0700 Subject: [PATCH] Sdksetup: Set path for display settings file for freeform display Bug: 183668221 Test: config emualtor with display.settings.xml=freeform, run emulator Change-Id: I7c303c82c07e467bdb4a3b587bbd2ef6d1e61ae5 --- .../SdkSetup/src/com/android/sdksetup/DefaultActivity.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/apps/SdkSetup/src/com/android/sdksetup/DefaultActivity.java b/apps/SdkSetup/src/com/android/sdksetup/DefaultActivity.java index 45dc58f3f..f553948f7 100644 --- a/apps/SdkSetup/src/com/android/sdksetup/DefaultActivity.java +++ b/apps/SdkSetup/src/com/android/sdksetup/DefaultActivity.java @@ -46,6 +46,7 @@ public class DefaultActivity extends Activity { if (Build.IS_EMULATOR) { // Set physical keyboard layout based on the system property set by emulator host. String layoutName = SystemProperties.get("vendor.qemu.keyboard_layout"); + String displaySettingsName = SystemProperties.get("ro.boot.qemu.display.settings.xml"); String deviceName = "qwerty2"; InputDevice device = getKeyboardDevice(deviceName); if (device != null && !layoutName.isEmpty()) { @@ -74,6 +75,12 @@ public class DefaultActivity extends Activity { TelephonyManager mTelephony = getApplicationContext().getSystemService(TelephonyManager.class); mTelephony.setPreferredNetworkTypeBitmask(TelephonyManager.NETWORK_TYPE_BITMASK_NR); + if ("freeform".equals(displaySettingsName)) { + Settings.Global.putInt(getContentResolver(), "sf", 1); + Settings.Global.putString(getContentResolver(), Settings.Global.DEVELOPMENT_ENABLE_FREEFORM_WINDOWS_SUPPORT, "1"); + Settings.Global.putString(getContentResolver(), Settings.Global.DEVELOPMENT_FORCE_RESIZABLE_ACTIVITIES, "1"); + Settings.Global.putString(getContentResolver(), Settings.Global.DEVELOPMENT_WM_DISPLAY_SETTINGS_PATH, "vendor/etc/display_settings_freeform.xml"); + } } // remove this activity from the package manager.