суббота, 7 декабря 2013 г.

Костыль чтобы fbreader на андроиде мог открыть *fb2.zip

Если в менеджере файлов или дропбоксе кликнуть *fb2.zip, то открыть их в fbreader не получиться. Это в принципе нельзя починить красиво, а не красиво чинить, там не горят желанием. У куллреадера такой хак есть.

Посему мини костыль. После установки apk, при клике на *fb2.zip можно выбрать Fb2zipHack - оно просто укажет корректный mime тип и теперь можно выбрать уже fbreader, который откроет книгу.

О неработающем Intent Filter.


Фильтрация интентов немного мутная тема. Ибо документация к ним мутная. Лучшее, что можно сделать при необходимости использовать фильтр, это почитать код фильтра.

После прочтения кода(api 19) несколько выводов в дополнение к гугловской документации.

Если в указана схема content или file, то обязательно надо указать mimeType="*/*".

 <data android:mimeType="*/*" android:scheme="file" android:host="*" />

Если его не указать или указать пустой, то фильтр будет отрабатывать только на интентах с пустыми mime type, но обычно там что-то есть. Тут можно использовать и пустой хост android:host="" - для таких схем файлов он обычно приходит пустой.

Если фильтруем ссылки, то у них хост есть и это надо обработать.

Если используются кастомные схемы, то надо смотреть, что там может приходить... общее правило, если что-то не задано явно, а оно приходит, то фильтр не сработает.

Так как  mimeType проверяется после файловых путей, то задание менее общей маски производительность не улучшит. То есть задавать ее емеет смысл только если оно действительно для чего-то надо.

Обработка расширений файлов. В текущей реализации PatternMatcher она отработает в единичных граничных случаях. Ибо у PatternMatcher проблеммы. И решение, которое там приводят, либо отработает не всегда, либо будет отрабатывать ложно.

пятница, 19 октября 2012 г.

Настройка комфортного отображения подсказок eclipse в Ubuntu

Проверялось в 12.04 с темой Ambiance

Исправляет показ документации


и бледность подсказок



В консоли

$ gedit ~/.gtkrc-eclipse

в файл вписываем:

#
# Sources:
# http://askubuntu.com/a/131348/18533
# http://stackoverflow.com/a/8063723/356895
# http://askubuntu.com/a/70964/18533
 
# Autocompletion background color.
style "eclipse-autocompletion" {    
base[ACTIVE] = shade(0.7, "#F2F1F0")
}
 
# Tooltip background color.
style "eclipse-tooltips" { 
bg[NORMAL] = "#e8e8e8"
fg[NORMAL] = "#000000"
}
 
# Load settings.
class "GtkTreeView" style "eclipse-autocompletion"
widget "gtk-tooltip*" style "eclipse-tooltips"

Запускаем эклипс:

$ GTK2_RC_FILES=~/.gtkrc-eclipse eclipse

Или создаем файл для запуска:

$ gedit /usr/local/bin/eclipse_color_fix

в файл вписываем:

#!/bin/sh

GTK2_RC_FILES=~/.gtkrc-eclipse eclipse

 via weblog.avp-ptr.de
 там есть и скрины вида "до и после"

среда, 3 октября 2012 г.

Устранение уязвимости позволяющей выполнить сервисный код прямо с веб-страницы

В общем, данная уязвимость вполне может сбросить телефон к заводским настройкам, если на страничке в сети будет написан специальный код. Для проверки можно зайти сюда, если телефон без вопросов покажет IMEI, то он уязвим. Подробнее о баге тут.

Собственно, не знаю  подвержен ли этому телефон u8230 изначально, но ребята из проекта CM мне его "привнесли" вместе с прошивкой. Отказываться от удобной прошивки не хочется, посему вариантов два:
  • использовать оперу как браузер(все остальные, что я пробовал, проявляться багу не мешают)
  • поставить, что-то типа этого(дополнительная звонилка), которая спровоцирует запрос, чем выполнять сервис код, а не выполнит его молча  
Поскольку опера мне не удобна (три клика на то чтобы вернуться обратно к программе в которой я кликнул на ссылку - это тихий ужас) выбираем второй вариант.

пятница, 31 августа 2012 г.

Activity на эмуляторе отображается вверх ногами (перевернута неправильно)

О первопричинах ничего не скажу, ибо ничего не нашел, но на эмуляторах, версии эдак начиная с ICS или даже с Honeycomb(3.x), activity с заданной жестко ориентацией, например:

android:screenOrientation="portait"

могут отображаться вверх ногами. Решением будет указать

android:screenOrientation="sensorPortait"

которое, увы, доступно только с api-9 (2.3.1).


вторник, 28 августа 2012 г.

Устранение ошибки "Веб интерфейс не подключен" для Deluge и Transdroid

Собственно, по английски она звучит корректно "Web UI is not connected to the  daemon". Т.е. веб интерфейс, используемый Transdroid (программа под андроид, для управления различными торрентокачалками), автоматически не подключается к демону.

Устранить это просто. В настройках пользователя, из под которого работает Deluge, укажем демон по-умолчанию.

Остановим демон и веб интерфейс, иначе они при перезапуске сбросят настройки. Затем в файле настройки web.conf

nano ~/.config/deluge/web.conf

изменям

"default_daemon": ""

на

"default_daemon": "127.0.0.1:58846"

...и запускаем все обратно.