/* * Copyright 2025 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #pragma once namespace android { class InputFlags { public: /** * Check if connected displays feature is enabled, either via the feature flag or settings * 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(); /** * Check if both connectedDisplaysCursor and associatedDisplayCursorBugfix is enabled. */ static bool connectedDisplaysCursorAndAssociatedDisplayCursorBugfixEnabled(); }; } // namespace android