Главная » Статьи » Системные ресурсы, моды и украшательства » Редактирование системы

Вывод показа погоды в статусбар, экран блокировки на прошивках Nougat и Oreo
Инструкция делалась и проверялась на устройстве марки Samsung, который все чаще в своих прошивках устанавливает в качестве поставщика погоды по умолчанию The Weather Channel. Суть мануала - вывести показ погоды без установки сторонних программ

Вывод показа погоды в статусбар, экран блокировки на прошивках Nougat и Oreo

Напоминаем, что прежде, чем приступить к правке системных ресурсов Андроид делаем «nandroid backup» - слепок системы один-в-один, через кастомное рекавери/recovery

Исправлено обновление данных, добавлена возможность вывода иконок погоды от поставщиков TheWeatherChannel (TWC), AccuWeather (ACC), а так же JPN, KOR и CMA. Приведенные трехсимвольные обозначения надо указывать в ключе указанной выше программы или с способе смены провайдера.

Скачать smali (61 КБ) зеркало
Поместить по пути SystemUI\smali\mickles\app\weather\
Скачать weather.icons (148 КБ) зеркало
поместить по пути SystemUI\assets\weather\1\
количество комплектов погодных иконок может быть любое кол-во и размещать их можно в любую дополнительную папку внутри пути SystemUI\assets\
В любом нужном месте статусбара, экрана блокировки или еще где в xml-файле разместить вызовы нужных данных.

Текущая температура.

Код
<mickles.app.weather.mTemperatureWeatherNow Tint="1" TextColor="statusbar_weather_temperature_color" TextSize="statusbar_weather_temperature_size" TextPadding="statusbar_weather_temperature_padding" TextStyle="statusbar_weather_temperature_style" android:gravity="center" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />

Это TextView, соответственно, поддерживаются все стандартные тэги. Введены дополнительные и необязательные (могут отсутствовать):
TextColor="" - указывается название ключа, который может настраиваться через RomControl и управляет цветом текста;
TextSize="" - указывается название ключа, который может настраиваться через RomControl и управляет размером текста;
TextPadding="" - указывается название ключа, который может настраиваться через RomControl и управляет смещением текста по вертикали;
TextStyle="statusbar_weather_temperature_style" - указывается название ключа, который может настраиваться через RomControl и управляет стилем текста
- 0 -> Нормальный
- 1 -> Жирный
- 2 -> Наклонный
- 3 -> Жирный и Наклонный
Tint="1" - Для активации изменения цвета при изменении цвета статусбара. Будет срабатывать только при таком виде, только при моей модификации статусбара (где организован посыл определенного интента при изменении цвета статусбаром своих иконок уведомлений) и только в самом статусбаре.

Иконка погоды.

Код
<mickles.app.weather.mIconWeatherNow Tint="1" IconsPath="weather/1" IconSize="statusbar_weather_icon_size" IconColor="statusbar_weather_icon_color" android:scaleType="centerCrop" IconPadding="statusbar_weather_icon_padding" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="2.5dip" />

Это стандартный ImageView, соответственно, тэги возможно использовать стандартные. Введены дополнительные и необязательные (могут отсутствовать):
IconColor="" - указывается название ключа, который может настраиваться через RomControl и управляет цветом иконки;
IconSize="" - указывается название ключа, который может настраиваться через RomControl и управляет размером иконки;
IconPadding="" - указывается название ключа, который может настраиваться через RomControl и управляет смещением иконки по вертикали;
Tint="1" - Для активации изменения цвета при изменении цвета статусбара. Будет срабатывать только при таком виде, только при моей модификации статусбара (где организован посыл определенного интента при изменении цвета статусбаром своих иконок уведомлений) и только в самом статусбаре.
IconsPath="" - указывается путь к комплекту иконок. Если иконки расположены по пути "SystemUI\assets\weather\1\", то необходимо в тэге указать "weather/1". Позволяет в разных местах использовать разные наборы иконок. Требования в набору иконок:
- количество - 23 шт.
- имена строго должны соответствовать именам из приложенного примера.
- расширение файлов - png.
При таком использовании нет необходимости задействовать ресурсы и при встраивании мода мучиться с их пропиской.

Максимальная температура.
Минимальная температура.
Единицы измерения температуры (C/F).
Текст погоды.
Местоположение.

Код
<mickles.app.weather.mTemperatureWeatherHigh.../>
<mickles.app.weather.mTemperatureWeatherLow.../>
<mickles.app.weather.mTemperatureWeatherScale.../>
<mickles.app.weather.mTextWeather.../>
<mickles.app.weather.mLocationWeather.../>

Это TextView полностью аналогичны Текущей температуре, только отсутствует тэг Tint.

Время обновления.
Время восхода солнца.
Время захода солнца.

Код
<mickles.app.weather.mUpdateTimeWeather.../>
<mickles.app.weather.mSunRiseWeather.../>
<mickles.app.weather.mSunSetWeather.../>

Это TextView полностью аналогичны Текущей температуре, только отсутствует тэг Tint и есть тэг TextTemplate="HH:mm ss". Задает шаблон вывода соответствующего времени. При отсутствии тэга используется шаблон "HH:mm".


Спасибо «mickles»

Жалоба на материал

анонимно - запрещено!

12.04.2018, 15:46
142 | Редактирование системы
статус-бар, Weather, samsung, statusbar
Всего комментариев: 0
avatar