Виправлення залежних кнопок на Nexus 4

Виправлення залежних кнопок на Nexus 4

У 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

Якщо є ідеї поліпшення - буду вдячний.

Image