blob: 16e754e2107f22d4bb2d8d6e3e71db260d569f99 [file] [log] [blame] [edit]
/*
* 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