PDA

Просмотр полной версии : Добавляем мультимедийные кнопки в navbar/навбар на android 5.x - 7.x


daradan
05.01.2018, 10:37
Хочу предупредить, что от пользователя необходимы умения редактировать системные файлы android, иметь root либо рекавери twrp.

Итак, начнем.
Что такое навбар (navigation bar)... А это простым словом часть экрана, где расположены наэкранные кнопки. Вот туда и будем добавлять 6 кнопок (слева - предыдущий трек, плей/пауза, следующий трек, справа - откл, убавить, повысить звук)

https://a.radikal.ru/a23/1801/24/accb414cd34ft.jpg (https://a.radikal.ru/a23/1801/24/accb414cd34f.png)

Мне вот не хватали мультимедийные кнопки в навбаре после прошивки autodroid (https://forum.xda-developers.com/nexus-7/3g-development/rom-slim-kat-t2826317) и после этого начал искать как это сделать на стоковых aosp прошивках...

[ndroid 5.x
возможно инструкция от 6.0 подойдет
- Декомпилируем \system\priv-app\SystemUI\SystemUI.apk
- Копируем следующие изображения (https://cloud.mail.ru/public/4mnm/kaiekdBQp) в папку \res\drawable-sw600dp-hdpi-v13 (-v13 может и не быть, зависит от инструмента декомпиляции)
- Сверяем свои файлы (https://cloud.mail.ru/public/Ht9M/wR5Zo8vKZ) и редактируем их
- В конце файла \res\values\ids.xml добавить следующие строки
<item type="id" name="volup">false</item>
<item type="id" name="volmute">false</item>
<item type="id" name="voldown">false</item>
<item type="id" name="prev">false</item>
<item type="id" name="play">false</item>
<item type="id" name="next">false</item>
- В конце файла \res\values\strings.xml добавить следующие строки
<string name="accessibility_prev_track">Previous track.</string>
<string name="accessibility_play_track">Play track.</string>
<string name="accessibility_next_track">Next track.</string>
<string name="accessibility_volume_mute">Mute volume.</string>
<string name="accessibility_volume_down">Increase volume.</string>
<string name="accessibility_volume_up">Decrease volume.</string>
Компилируем SystemUI.apk и заменяем в системе.
Готовый патч (https://cloud.mail.ru/public/GmMD/fHpCUt1AP) под TWRP для Nexus 7 2012 под android 5.1 LMY47V

Android 6.0
- декомпилируем \system\priv-app\SystemUI\SystemUI.apk
- копируем следующие изображения (https://cloud.mail.ru/public/4mnm/kaiekdBQp) в папку \res\drawable-sw600dp-hdpi-v13 (-v13 может и не быть, зависит от инструмента декомпиляции)
- в файле \res\layout-sw600dp-v13\navigation_bar.xml редактируем так (https://cloud.mail.ru/public/EMsK/RXgGrmGYh)
- в \res\values\ids.xml добавить
<item type="id" name="volup">false</item>
<item type="id" name="volmute">false</item>
<item type="id" name="voldown">false</item>
<item type="id" name="prev">false</item>
<item type="id" name="play">false</item>
<item type="id" name="next">false</item>
- в \res\values\strings.xml добавить
<string name="accessibility_prev_track">Previous track.</string>
<string name="accessibility_play_track">Play track.</string>
<string name="accessibility_next_track">Next track.</string>
<string name="accessibility_volume_mute">Mute volume.</string>
<string name="accessibility_volume_down">Increase volume.</string>
<string name="accessibility_volume_up">Decrease volume.</string>

Компилируем SystemUI.apk и заменяем в системе.

Android 7.x
Просто устанавливаем приложение Custom Navigation Bar (https://cloud.mail.ru/public/8a1L/Rt6oE7kst) (свежие версии тут (https://4pda.ru/forum/index.php?showtopic=819554)) и через него добавляем/настраиваем кнопки

либо проделываем так
- декомпилируем \system\priv-app\SystemUI\SystemUI.apk
- в файле \res\xml\tuner_prefs.xml перед (либо в любом удобном для вас месте)
<Preference android:title="@string/other" android:key="other" android:fragment="com.android.systemui.tuner.OtherPrefs" />
добавить
<Preference android:title="@string/nav_bar" android:key="sysui_nav_bar" android:fragment="com.android.systemui.tuner.NavBarTuner" />
Компилируем SystemUI.apk и заменяем в системе.
Открываем шторку, жмем шестеренку (настройки) 5-7 секунд и отпускаем. Откроется настройки. В самом конце появится пункт "System UITuner". Заходим в панель навигации и добавляем/изменяем кнопки.
Иконки можно взять отсюда (https://www.iconsdb.com)
P.S. на некоторых устройствах возможно иконки после перезагрузки слетят :(
Есть еще способ (https://www.xda-developers.com/add-custom-buttons-to-nav-bar-on-samsung-galaxy-s8-galaxy-s8/)через adb/терминал

На всех версиях android
Кто хочет изменить высоту навбара, то проделываем так:
- декомпилируем \system\framework\framework-res.apk
- в файле \res\values\dimens.xml значение на
navigation_bar_height_landscape
изменить к примеру из 48 на 36.
Компилируем framework-res.apk и заменяем в системе.

На этом все. У меня это выглядит так
https://b.radikal.ru/b26/1712/93/b812ccd09861t.jpg (http://radikal.ru/fp/m807cq0inojty)

halis09
09.02.2018, 12:03
а какой виджет использован на твоем скрине для спутников , wi-fi блютуз, они меняют цвет при включении?

daradan
09.02.2018, 12:05
а какой виджет использован на твоем скрине для спутников , wi-fi блютуз, они меняют цвет при включении?лаунчер http://pccar.ru/showthread.php?t=25765 версии 2.57, тема Range, цвет статичен

Karp.exe
01.03.2018, 14:37
Никак не могу декопилировать apk файл для добавления строки.
Может и другим пригодится.
Файл от Android 7, RR 5.8.5 от 17.12.2017
http://rgho.st/6vm49Bzk4
Спасибо

daradan
01.03.2018, 14:40
Никак не могу декопилировать apk файл для добавления строки.
Может и другим пригодится.
Файл от Android 7, RR 5.8.5 от 17.12.2017
http://rgho.st/6vm49Bzk4
Спасибо
приложите еще и все apk из папки framework (framework-res.apk и т.д.)

Karp.exe
01.03.2018, 14:48
приложите еще и все apk из папки framework (framework-res.apk и т.д.)
Пожалуйста http://rgho.st/8m4zJdxLq

daradan
01.03.2018, 15:38
Пожалуйста http://rgho.st/8m4zJdxLq
Патч для TWRP (https://fex.net/#!469308907138?fileId=320755959)
Патч для TWRP откат (https://fex.net/#!469308907138?fileId=320755760)
Настоятельно рекомендуется сделать нандроид бекап в TWRP ;)

Karp.exe
01.03.2018, 16:04
Спасибо за патчик. Пункт появился, но не работает.
Эхх. Не дано на RR запихнуть функции управления музыкой в навбар ((

Сейчас попробую заставить встроенный редкатор SmartBar на RR выполнять данные функции через Tasker

Karp.exe
01.03.2018, 17:03
Что же за печаль такая.
Действия таскера не добавляются в панель задач. Интерфейс вылетает. причем всё остальное добавляется...
Команда от macroDroid добавляется корректно... но при выполнении макроса приложение macroDroid так же паразитно запускается...

daradan
02.03.2018, 10:37
Спасибо за патчик. Пункт появился, но не работает.
на RR вроде имеется своя фича по настройке навбара, но кажется на андроиде 7 он урезан и не имеет мультимедийные кнопки...Из-за этого думаю и не работает фича от AOSP

halis09
29.03.2018, 02:31
ДА что так тяжело то поменять значки то в автодроиде. Хотел громкость сменить на значки плюс и минус как у Тимура прошли. Не меняет зараза, не подходят иконки и все.

ruzzzteg
13.06.2018, 23:43
на нехусе не пробовал... но на андройд тв приставке поставил xposed... поставил navbar... там делается по свайпу вправо вперед назад плау паузе... влево громкость... и еще кнопочку торка прилепил туда же

jam228
22.09.2018, 10:15
На этом все. У меня это выглядит так
https://b.radikal.ru/b26/1712/93/b812ccd09861t.jpg (http://radikal.ru/fp/m807cq0inojty)

А каким образом, посредством чего организовано отображение оборотов и температуры (слева снизу)?

Pitbob
22.09.2018, 12:11
А каким образом, посредством чего организовано отображение оборотов и температуры (слева снизу)?

Elm327 по блютуз. На скрине видно название программы Torque.

anton2204
14.11.2018, 14:28
Чем Вы разбираете/собираете apk?
Я пробовал BatchApkTool - декомпилирует отлично, тут же рекомпилирую - фиг вам, выдает ошибку!((( Все apktool-ы перепробовал - один фиг не собирает, ошибку выдает!(
P.S. Разобрался сам с BatchApkToolом, может кому то пригодиться: надо было заблаговременно, перед декомпиляцией, в папку_framework закинуть framework-res.apk.
Тогда и декомпиляция и рекомпиляция проходят успешно!

Mihey
22.09.2019, 21:19
Nexus 7 2013 LTE
Android 6.0.1 MOB30X

Сделал все как писал daradan через BatchApkTool

Вот лог

Установка фреймворка framework-res.apk
I: Framework installed to: bin\framework\1.apk

Рекомпиляция SystemUI
I: Using Apktool 2.4.1_0303
W: Could not find sources
I: Checking whether resources has changed...
I: Building resources...
W: fakeLogOpen(/dev/log_crash) failed
W: fakeLogOpen(/dev/log_stats) failed
W: fakeLogOpen(/dev/log_stats) failed
W: warning: string 'notifications_off_text' has no default translation.
W: warning: string 'notifications_off_title' has no default translation.
I: Building apk file...
I: Copying unknown files/dir...
I: Built apk...

ГОТОВО

Кидаю SystemUI.apk через блютуз на планшет. Пытаюсь установить через Total commander. Пишет синтаксическая ошибка. Может кто подскажет в чем дело?