summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> 2025-03-10 09:16:33 -0700
committer Android (Google) Code Review <android-gerrit@google.com> 2025-03-10 09:16:33 -0700
commitba48d67cc7adf42efcfb333ae18397f61eb520e5 (patch)
tree9858ad17f740b37e1a0c184341f232e0f339af6a
parentb61e79d3868206e14fcedbd37c54918370702165 (diff)
parent68ef9a17a1894ed5590172dba159df4a08b23fa0 (diff)
Merge "Add dev option override flag to connected display cursor flag" into main
-rw-r--r--include/input/InputFlags.h16
-rw-r--r--libs/input/Android.bp1
-rw-r--r--libs/input/InputFlags.cpp4
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];