| /* |
| * Copyright 2019 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. |
| */ |
| |
| package androidx.compose.ui.text.input |
| |
| import androidx.compose.runtime.Stable |
| |
| /** Values representing the different available Keyboard Types. */ |
| @kotlin.jvm.JvmInline |
| value class KeyboardType private constructor(@Suppress("unused") private val value: Int) { |
| |
| override fun toString(): String { |
| return when (this) { |
| Unspecified -> "Unspecified" |
| Text -> "Text" |
| Ascii -> "Ascii" |
| Number -> "Number" |
| Phone -> "Phone" |
| Uri -> "Uri" |
| Email -> "Email" |
| Password -> "Password" |
| NumberPassword -> "NumberPassword" |
| Decimal -> "Decimal" |
| else -> "Invalid" |
| } |
| } |
| |
| companion object { |
| /** The keyboard type is not specified. */ |
| @Stable val Unspecified: KeyboardType = KeyboardType(0) |
| |
| /** A keyboard type used to request an IME that shows regular keyboard. */ |
| @Stable val Text: KeyboardType = KeyboardType(1) |
| |
| /** A keyboard type used to request an IME that is capable of inputting ASCII characters. */ |
| @Stable val Ascii: KeyboardType = KeyboardType(2) |
| |
| /** |
| * A keyboard type used to request an IME that is capable of inputting digits. IME may |
| * provide inputs other than digits but it is not guaranteed. |
| * |
| * @see KeyboardType.Decimal |
| */ |
| @Stable val Number: KeyboardType = KeyboardType(3) |
| |
| /** A keyboard type used to request an IME that is capable of inputting phone numbers. */ |
| @Stable val Phone: KeyboardType = KeyboardType(4) |
| |
| /** A keyboard type used to request an IME that is capable of inputting URIs. */ |
| @Stable val Uri: KeyboardType = KeyboardType(5) |
| |
| /** A keyboard type used to request an IME that is capable of inputting email addresses. */ |
| @Stable val Email: KeyboardType = KeyboardType(6) |
| |
| /** A keyboard type used to request an IME that is capable of inputting password. */ |
| @Stable val Password: KeyboardType = KeyboardType(7) |
| |
| /** A keyboard type used to request an IME that is capable of inputting number password. */ |
| @Stable val NumberPassword: KeyboardType = KeyboardType(8) |
| |
| /** |
| * A keyboard type used to request an IME that is capable of inputting decimals. IME should |
| * explicitly provide a decimal separator as input, which is not assured by |
| * [KeyboardType.Number]. |
| */ |
| @Stable val Decimal: KeyboardType = KeyboardType(9) |
| } |
| } |