У Nexus 4 може виникати дуже неприємна проблема з навігаційними кнопками, як на цьому відео:
Рішення проблеми довго не було відомо: Багрепорт
Обурившись цим непорозумінням, я почав шукати рішення і знайшов.
Кому лінь читати, а проблема є https://github.com/gkraynov/nexus-4-navfix
Кимось пропонувалися навіть особливо жорсткі рішення.
Я не міг повірити, що проблема криється виключно в апаратному багі. Після копирсання в системі обробки сенсорних подій помічена цікава річ - deadzone.
Кожного разу, коли ви набираєте повідомлення, навігаційна панель блокується на короткий час, щоб уникнути реакції на випадкові натискання. На жаль, Nexus 4 за загадкових обставин може просто почати блокувати цю зону назавжди.
Найпростішим способом було відключення цієї зони зовсім, все таки це краще ніж нічого. Для того, щоб не ускладнювати життя користувачам, я написав скрипт, який автоматично генерує потрібний патч.
Алгоритм досить простий:
1. Завантажується SystemUI.apk через ADB
2. Розпаковуються ресурси
3. Розмір deadzone встановлюється в 0dip
4. Запаковується назад
5. Створюється UPDATE.zip
На додачу ще оновлення для відкату змін, що дозволяє легко застосовувати OTA оновлення і повторювати операцію. Root не потрібен, тільки кастомне recovery.
Для Android 5.0.1 є вже зібраний пакет https://github.com/gkraynov/nexus-4-navfix/releases
Якщо є ідеї поліпшення - буду вдячний.