diff options
author | 2020-07-21 00:46:45 +0100 | |
---|---|---|
committer | 2020-07-22 17:20:03 +0100 | |
commit | 8759d67465ed463db24e313597c16fe04a1ded55 (patch) | |
tree | 1428593f6960207d285e0f6b1a4e48f233465ab0 /libs/input/InputWindow.cpp | |
parent | 7aab8a09d97e403b396622e96e3bc3a5b0ba9403 (diff) |
Automatically generate flag value strings for flag enums.
Since there can generally only be a maximum of 64 flags for a given
flage type, it isn't that expensive to generate the array of names at
compile time by enumerating the possible flag values and then using a
templated function's debug signature to extract the name. The debug
signature should be relatively stable, and I've confirmed this works on
both GCC as well as clang. If our parsing fails, however, we should just
fallback to bare hex values again. Our tests should hopefully prevent
this from happening for any extended period of time.
Bug: 160010896
Test: atest libinput_tests
Change-Id: I752100bbefb92e7a0ecf7a8473a47e37ff7b1662
Diffstat (limited to 'libs/input/InputWindow.cpp')
-rw-r--r-- | libs/input/InputWindow.cpp | 103 |
1 files changed, 0 insertions, 103 deletions
diff --git a/libs/input/InputWindow.cpp b/libs/input/InputWindow.cpp index 36c1f8068d..4a8e2722e8 100644 --- a/libs/input/InputWindow.cpp +++ b/libs/input/InputWindow.cpp @@ -198,107 +198,4 @@ sp<IBinder> InputWindowHandle::getToken() const { void InputWindowHandle::updateFrom(sp<InputWindowHandle> handle) { mInfo = handle->mInfo; } - -std::optional<std::string> InputWindowInfo::flagToString(Flag flag) { - switch (flag) { - case InputWindowInfo::Flag::ALLOW_LOCK_WHILE_SCREEN_ON: { - return "ALLOW_LOCK_WHILE_SCREEN_ON"; - } - case InputWindowInfo::Flag::DIM_BEHIND: { - return "DIM_BEHIND"; - } - case InputWindowInfo::Flag::BLUR_BEHIND: { - return "BLUR_BEHIND"; - } - case InputWindowInfo::Flag::NOT_FOCUSABLE: { - return "NOT_FOCUSABLE"; - } - case InputWindowInfo::Flag::NOT_TOUCHABLE: { - return "NOT_TOUCHABLE"; - } - case InputWindowInfo::Flag::NOT_TOUCH_MODAL: { - return "NOT_TOUCH_MODAL"; - } - case InputWindowInfo::Flag::TOUCHABLE_WHEN_WAKING: { - return "TOUCHABLE_WHEN_WAKING"; - } - case InputWindowInfo::Flag::KEEP_SCREEN_ON: { - return "KEEP_SCREEN_ON"; - } - case InputWindowInfo::Flag::LAYOUT_IN_SCREEN: { - return "LAYOUT_IN_SCREEN"; - } - case InputWindowInfo::Flag::LAYOUT_NO_LIMITS: { - return "LAYOUT_NO_LIMITS"; - } - case InputWindowInfo::Flag::FULLSCREEN: { - return "FULLSCREEN"; - } - case InputWindowInfo::Flag::FORCE_NOT_FULLSCREEN: { - return "FORCE_NOT_FULLSCREEN"; - } - case InputWindowInfo::Flag::DITHER: { - return "DITHER"; - } - case InputWindowInfo::Flag::SECURE: { - return "SECURE"; - } - case InputWindowInfo::Flag::SCALED: { - return "SCALED"; - } - case InputWindowInfo::Flag::IGNORE_CHEEK_PRESSES: { - return "IGNORE_CHEEK_PRESSES"; - } - case InputWindowInfo::Flag::LAYOUT_INSET_DECOR: { - return "LAYOUT_INSET_DECOR"; - } - case InputWindowInfo::Flag::ALT_FOCUSABLE_IM: { - return "ALT_FOCUSABLE_IM"; - } - case InputWindowInfo::Flag::WATCH_OUTSIDE_TOUCH: { - return "WATCH_OUTSIDE_TOUCH"; - } - case InputWindowInfo::Flag::SHOW_WHEN_LOCKED: { - return "SHOW_WHEN_LOCKED"; - } - case InputWindowInfo::Flag::SHOW_WALLPAPER: { - return "SHOW_WALLPAPER"; - } - case InputWindowInfo::Flag::TURN_SCREEN_ON: { - return "TURN_SCREEN_ON"; - } - case InputWindowInfo::Flag::DISMISS_KEYGUARD: { - return "DISMISS_KEYGUARD"; - } - case InputWindowInfo::Flag::SPLIT_TOUCH: { - return "SPLIT_TOUCH"; - } - case InputWindowInfo::Flag::HARDWARE_ACCELERATED: { - return "HARDWARE_ACCELERATED"; - } - case InputWindowInfo::Flag::LAYOUT_IN_OVERSCAN: { - return "LAYOUT_IN_OVERSCAN"; - } - case InputWindowInfo::Flag::TRANSLUCENT_STATUS: { - return "TRANSLUCENT_STATUS"; - } - case InputWindowInfo::Flag::TRANSLUCENT_NAVIGATION: { - return "TRANSLUCENT_NAVIGATION"; - } - case InputWindowInfo::Flag::LOCAL_FOCUS_MODE: { - return "LOCAL_FOCUS_MODE"; - } - case InputWindowInfo::Flag::SLIPPERY: { - return "SLIPPERY"; - } - case InputWindowInfo::Flag::LAYOUT_ATTACHED_IN_DECOR: { - return "LAYOUT_ATTACHED_IN_DECOR"; - } - case InputWindowInfo::Flag::DRAWS_SYSTEM_BAR_BACKGROUNDS: { - return "DRAWS_SYSTEM_BAR_BACKGROUNDS"; - } - } - return std::nullopt; -} - } // namespace android |