Записки утконоса-программиста

Ноут как колонка

В последнее время, всё чаще слушаю музыку с телефона, но работаю за ноутом и поскудное желание слушать музыку на нормальных колонках (а наушники не очень люблю) захотелось транслировать звук с телефона на колонки.
Итак: первая часть - представляем ноут как наушники bt:
Код BASH:
  1. sudo hciconfig -a hci0 class 0x240404
Устанавливаем класс handset для нашего bt устройства

И в pulse прописываем/дописываем
Код INI:
  1. .ifexists module-bluetooth-discover.so
  2. load-module module-bluetooth-discover headset=ofono
  3. .endif
Перезагружаем все службы и радуемся

Fixup Mountpoints

Итак, по многочисленным опросам и вопросам fixup-mountpoints это самая частая магия, которую не понимают при портировании sailfish os. Добро пожаловать под кат и будем разбираться, что это за магия.
Fixup Mountpoints

Добавить в target репозитории

Часто бывает ситуация, что при сборке приложения нужны дополнительные библиотеки, которые собираются в OBS. Для этого необходимо.
1 - Запустить SDK и сборочную виртуалку (конпка снизу слева "build engine")
2 - Залогинится в неё:
Код PHP:
  1. #ssh -p 2222 -i ~/SailfishOS/vmshare/ssh/private_keys/engine/mersdk mersdk@localhost
3 - Посмотреть список доступных таргетов
Код PHP:
  1. #sdk-assistant list
  2. SailfishOS-3.1.0.12
  3. ├─SailfishOS-3.1.0.12-armv7hl
  4. └─SailfishOS-3.1.0.12-i486
4 - Добавить репозиторий, который Вам необходим
Код PHP:
  1. #sb2 -t SailfishOS-3.1.0.12-armv7hl -R zypper ar -G http://repo.merproject.org/obs/home:/leszek/sailfish_latest_armv7hl/ qtwebengine
5 - Обновляем. Ставим всё что нужно
Код PHP:
  1. #sb2 -t SailfishOS-3.1.0.12-armv7hl -R zypper ref qtwebengine
  2. #sb2 -t SailfishOS-3.1.0.12-armv7hl -R zypper in qt5-qtqml-import-webkitplugin

Nexus 5 upgrade

In on sailfish on nexus 5 on update you have error:
Код PHP:
  1. Error: nothing provides pattern:jolla-sailfish-applications needed by pattern:jolla-configuration-hammerhead-0.0.25+master.20160801104754.4.g2708c79-1.14.13.jolla.noarch
  2.  
You need:
Код BASH:
  1. ssu ar cup http://repo.merproject.org/obs/home:/mautz:/sfos-latest/sailfishos_2.2.1.18/
After that all will be well as i think :)

Кастомные интерфейсы в Офоно или как помяукать модемом - продолжение

Часть 4: Котики умею не только мяукать

Далее мы работаем с коммитом 1233c05f2ce201af2538e82ae7bf4f05f2201f15 изменения тут: https://github.com/neochapay/ofono-example-plugin/commit/1233c05f2ce201af2538e82ae7bf4f05f2201f15

Чтобы получить значение передаваемое через dbus нам чуть надо будет изменить функцию example_meow - теперь она выглядит так:
Код C:
  1. static DBusMessage *example_meow(DBusConnection *conn, DBusMessage *msg, void *data) {
  2. const char *talk; //переменная в которую мы сохраним то, что говорит котик
  3. //
  4. // Присваиваем сообщению содержимое
  5. // msg - сообщение которое которое нам присылает dbus
  6. // NULL - это callback это потом
  7. // DBUS_TYPE_STRING - тип сообщения, тут строка
  8. // talk - куда писать
  9. // DBUS_TYPE_INVALID - всё остальное неправильно
  10. dbus_message_get_args(msg, NULL, DBUS_TYPE_STRING, &talk, DBUS_TYPE_INVALID);
  11. // говорим в консоль
  12. ofono_info("Some cat say %s !", talk);
  13. return dbus_message_new_method_return(msg);
  14. }

Кастомные интерфейсы в Офоно или как помяукать модемом

Всем хорош Sailfish, но что делать, если Вам захочется помяукать модемом?
Кастомные интерфейсы в Офоно или как помяукать модемом

Ладно, далее, в этой статье, я расскажу как создать плагин для офоно, в нём создать кастомный dbus интерфейс и покажу как обрабатывать входные данные, добро пожаловать под кат.

Конфигурация ядра для Sailfish OS

Самые, как оказалось проблемы со сборкой Sailfish OS связаны с fixup-mountpoints и сборкой ядра. Ну чтож...давайте начнём с последнего. Инструкция по настройке ядра для Sailfish OS под катом
Конфигурация ядра для Sailfish OS

Обновил инструкцию HADK

Тут пришли обновления в HADK оказывается, а я их не исправил. Сейчас исправляю. Исправлений всего в принципе 2:
Теперь у нас SFOSSDK а не MER и появился sdk-assistant для установки песочниц.
Официальные инструкции тут:
https://sailfishos.org/wiki/Platform_SDK_Installation
https://sailfishos.org/wiki/Platform_SDK_Target_Installation

Ну и моя инструкция уже обновлена в соответствии с изменениями

Работа с контактами в Sailfish OS

Итак, если Вы забрели сюда после этой инструкции с хабра с вопросом: "А чавой это у меня не получается добавить контакт" - у меня для Вас хорошие новости! Сейчас получится!
Работа с контактами в Sailfish OS

Новый HADK 2.2 подвезли

Качать тут