Skip to content

About

Модификация клавиатуры LeanType с русскими контекстными подсказками и автоматической вставкой SMS-кодов

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

LeanType Offline RU

Неофициальная модификация Android-клавиатуры LeanType с автоматической вставкой SMS-кодов и улучшенными контекстными подсказками на русском языке.

Проект создан для личного использования и опубликован в открытом доступе.

Почему я это сделал

После перехода с iPhone на Android меня раздражала одна вещь: на iPhone коды подтверждения из SMS удобно появлялись над клавиатурой, а на Android это работало далеко не всегда.

Мне хотелось, чтобы входящий SMS-код автоматически появлялся в строке подсказок и его можно было вставить одним нажатием, независимо от того, поддерживает ли конкретное приложение стандартное автозаполнение Android.

В итоге я решил навайбкодить собственное решение на основе открытой клавиатуры LeanType. Заодно добавил более продвинутые контекстные подсказки на русском языке.

Никакого большого проекта из этого делать не планировал — просто сделал то, чего мне самому не хватало, и решил поделиться исходниками (может пригодятся кому-то).

Проверено на: CMF Phone 1, Android 16 (Nothing OS 4.0).

На других устройствах и версиях Android работоспособность не проверялась.

Возможности

Автоматическая вставка SMS-кодов

  • Автоматическое распознавание одноразовых кодов из входящих SMS.
  • Отображение кода в панели подсказок клавиатуры.
  • Вставка кода одним нажатием.
  • Автоматическое удаление кода из памяти через 120 секунд.
  • Не требуется доступ к истории SMS.

Функция использует разрешение RECEIVE_SMS и включается в настройках клавиатуры.

Русские контекстные подсказки

  • Предсказание следующего слова с учётом предыдущих слов.
  • Локальная модель на основе биграмм и триграмм.
  • Персональная история ввода.
  • Совместная работа с существующей системой автокоррекции.

Все предсказания обрабатываются непосредственно на устройстве, без подключения к интернету.

Установка и разрешения

Приложение распространяется в виде APK-файла, собранного в режиме Debug, и не публикуется в Google Play.

При установке Android может показать предупреждение о безопасности или заблокировать установку из неизвестного источника. Это связано с установкой APK вне Google Play, а не с наличием вредоносного кода.

Для установки может потребоваться:

  1. Разрешить установку приложений из выбранного источника (например, браузера или файлового менеджера).
  2. Если Google Play Protect показывает предупреждение, внимательно ознакомиться с ним. Продолжать установку следует только в том случае, если APK скачан из официального релиза этого репозитория и вы доверяете его содержимому.
  3. После установки включить клавиатуру LeanType в настройках Android и выбрать её в качестве текущей.
  4. Для работы функции автоматической подстановки SMS-кодов предоставить клавиатуре разрешение на получение SMS (RECEIVE_SMS). При необходимости разрешение можно выдать вручную в настройках приложения.

Важно: разрешение на получение SMS необходимо только для функции подстановки кодов. Обработка кодов выполняется локально, без отправки данных на сервер. Приложение не запрашивает разрешение на чтение всей истории SMS (READ_SMS).

Проверено на: CMF Phone 1, Android 16 (Nothing OS 4.0). Поведение предупреждений и порядок выдачи разрешений могут отличаться на других устройствах.

Готовую сборку APK можно скачать только в разделе Releases.

Сборка из исходников

Необходимы JDK 17, Android SDK (compileSdk 36) и Android NDK 28.0.13004108.

Сборка на Windows:

.\gradlew.bat :app:assembleOfflineDebug

Сборка на Linux:

./gradlew :app:assembleOfflineDebug

Готовый APK будет находиться в app/build/outputs/apk/offline/debug/.

Настройка клавиатуры

После установки необходимо самостоятельно настроить LeanType под себя.

Обратите внимание:

  • Словари для нужных языков необходимо скачать и установить самостоятельно через настройки LeanType.
  • Языки ввода, раскладки, автокоррекция и другие параметры настраиваются пользователем.
  • Дополнительные возможности оригинального LeanType работают по тем же принципам, что и в исходном приложении.
  • Для автоматической подстановки SMS-кодов необходимо отдельно включить соответствующую функцию и предоставить разрешение на получение SMS.

Я не изменял систему первоначальной настройки LeanType и не добавлял автоматическую загрузку словарей.

Мои изменения касаются прежде всего обработки SMS-кодов и контекстных подсказок на русском языке. Локальная модель предсказания следующего слова уже включена в сборку, но она не заменяет обычные словари LeanType.

Если возникают вопросы по стандартным настройкам клавиатуры, рекомендую обратиться к оригинальному проекту LeanType.

Конфиденциальность

Клавиатура работает без доступа к интернету.

Обработка вводимого текста, формирование подсказок и распознавание SMS-кодов выполняются локально.

Одноразовые SMS-коды временно хранятся в оперативной памяти и не добавляются в историю буфера обмена.

Авторство и лицензии

Проект основан на LeanType и распространяется с сохранением лицензии GPL-3.0.

Для обучения русской языковой модели использовались предложения из корпуса Tatoeba.

Дополнительная информация об авторстве и лицензиях находится в файлах THIRD_PARTY_NOTICES.md, MODEL_CARD.md и LICENSE.

Поддержка

Это личный экспериментальный форк, опубликованный «как есть».

Регулярные обновления, техническая поддержка и дальнейшее развитие проекта не планируются.

About

Модификация клавиатуры LeanType с русскими контекстными подсказками и автоматической вставкой SMS-кодов

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages