diff options
-rw-r--r-- | include/input/InputFlags.h | 16 | ||||
-rw-r--r-- | libs/input/Android.bp | 1 | ||||
-rw-r--r-- | libs/input/InputFlags.cpp | 4 |
3 files changed, 20 insertions, 1 deletions
diff --git a/include/input/InputFlags.h b/include/input/InputFlags.h index 4b42f775dd..16e754e210 100644 --- a/include/input/InputFlags.h +++ b/include/input/InputFlags.h @@ -22,7 +22,21 @@ class InputFlags { public: /** * Check if connected displays feature is enabled, either via the feature flag or settings - * override. + * override. Developer setting override allows enabling all the "desktop experiences" features + * including input related connected_displays_cursor flag. + * + * The developer settings override is prioritised over aconfig flags. Any tests that require + * applicable aconfig flags to be disabled with SCOPED_FLAG_OVERRIDE also need this developer + * option to be reset locally. + * + * Also note the developer setting override is only applicable to the desktop experiences + * related features. + * + * To enable only the input flag run: + * adb shell aflags enable com.android.input.flags.connected_displays_cursor + * To override this flag and enable all "desktop experiences" features run: + * adb shell aflags enable com.android.window.flags.enable_desktop_mode_through_dev_option + * adb shell setprop persist.wm.debug.desktop_experience_devopts 1 */ static bool connectedDisplaysCursorEnabled(); diff --git a/libs/input/Android.bp b/libs/input/Android.bp index ff26184a33..dc038789b9 100644 --- a/libs/input/Android.bp +++ b/libs/input/Android.bp @@ -270,6 +270,7 @@ cc_library { shared_libs: [ "android.companion.virtualdevice.flags-aconfig-cc", + "com.android.window.flags.window-aconfig_flags_c_lib", "libPlatformProperties", "libaconfig_storage_read_api_cc", "libbase", diff --git a/libs/input/InputFlags.cpp b/libs/input/InputFlags.cpp index f866f9b8f0..6aa9ae6b16 100644 --- a/libs/input/InputFlags.cpp +++ b/libs/input/InputFlags.cpp @@ -18,6 +18,7 @@ #include <android-base/logging.h> #include <com_android_input_flags.h> +#include <com_android_window_flags.h> #include <cutils/properties.h> #include <string> @@ -25,6 +26,9 @@ namespace android { bool InputFlags::connectedDisplaysCursorEnabled() { + if (!com::android::window::flags::enable_desktop_mode_through_dev_option()) { + return com::android::input::flags::connected_displays_cursor(); + } static std::optional<bool> cachedDevOption; if (!cachedDevOption.has_value()) { char value[PROPERTY_VALUE_MAX]; |