1 /* 2 * Copyright (C) 2022 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.internal.inputmethod; 18 19 import static java.lang.annotation.RetentionPolicy.SOURCE; 20 21 import android.annotation.IntDef; 22 23 import java.lang.annotation.Retention; 24 25 /** 26 * A set of flags notified from {@link com.android.server.inputmethod.InputMethodManagerService} to 27 * {@link android.inputmethodservice.InputMethodService} regarding how 28 * {@link android.inputmethodservice.NavigationBarController} should behave. 29 * 30 * <p>These flags will take effect when and only when 31 * {@link android.inputmethodservice.InputMethodService#canImeRenderGesturalNavButtons} returns 32 * {@code true}.</p> 33 */ 34 @Retention(SOURCE) 35 @IntDef(flag = true, value = { 36 InputMethodNavButtonFlags.IME_DRAWS_IME_NAV_BAR, 37 InputMethodNavButtonFlags.SHOW_IME_SWITCHER_WHEN_IME_IS_SHOWN, 38 }) 39 public @interface InputMethodNavButtonFlags { 40 /** 41 * When set, the IME process needs to render and handle the navigation bar buttons such as the 42 * back button and the IME switcher button. 43 */ 44 int IME_DRAWS_IME_NAV_BAR = 1; 45 /** 46 * When set, the IME switcher icon needs to be shown on the navigation bar. 47 */ 48 int SHOW_IME_SWITCHER_WHEN_IME_IS_SHOWN = 2; 49 } 50