diff options
author | 2025-03-06 13:47:19 +0000 | |
---|---|---|
committer | 2025-03-10 11:12:20 +0000 | |
commit | 68ef9a17a1894ed5590172dba159df4a08b23fa0 (patch) | |
tree | 02e0775dd4a0bdc307c64a4a5328403ff16d3317 | |
parent | c93479c9bfffac40445b6b0a843519690f73d028 (diff) |
Add dev option override flag to connected display cursor flag
Adding the dev option flag that guards the dev option UI before checking
the override value. We will fall back to connected displays cursor flag
if dev option override is not available.
Test: manual and presubmit
Bug: 401213103
Flag: EXEMPT only changes the flagging logic
Change-Id: Ib9fb9a66deaf1d58b36218039d1854e287be7ce5
-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]; |