С самого начала пользования своим самсунгом с андроидом я заметил, что принимать звонки через него невозможно, ибо этот процесс разработчики телефона (или андроида) сделали максимально неудобным.
Итак, чего я ожидаю:
Телефон лежит в кармане, воткнута гарнитура (в телефон и в уши разными концами), в наушниках играет музыка. Тут поступает звонок, мне в наушники голосом телефон называет имя звонящего (из контактов), я нажимаю на кнопочку на гарнитуре, снимается трубка, я разговариваю, в конце разговора нажимаю на кнопочку на гарнитуре снова, вешается трубка. Всё это время телефон лежит в кармане, при этом он должен оставаться заблокированным, чтобы не понажималось. При этом во время звучания рингтона при поступлении звонка он звучит только в гарнитуру, но не в динамик.
А теперь что я вижу на своём самсунге:
Телефон лежит в кармане, воткнута гарнитура, в наушниках музыка. Поступает звонок, я не знаю, кто мне звонит, ок, вслепую отвечаю непонятно кому, нажимая на кнопку на гарнитуре, снимается трубка, телефон при этом разблокируется, во избежание случайных нажатий я его не вынимая из кармана блокирую, разговариваю, в конце разговора нажимаю на кнопку на гарнитуре, трубка вешается, а телефон снова разблокируется! При этом во время звучания рингтона он звучал и в наушники, и в динамик.
Я также попробовал принять звонок на нексусе 5. И что я увидел:
Телефон в кармане, гарнитура, музыка, все дела. Поступает звонок, всё также я не знаю, от кого, отвечаю кнопкой на гарнитуре, телефон разблокированный лежит в кармане точно так же, в конце разговора я нажимаю на кнопку на гарнитуре, но трубка не вешается, нет! Выключается микрофон! Я не знаю, какой гений до этого додумался, но для вешания трубки нужно достать телефон из кармана и нажать на нарисованную на экране красную кнопку. Естественно, он после этого остаётся разблокированным. При этом также во время звучания рингтона он звучал и в наушники, и в динамик.
Итак, в увиденных мной вариантах меня не устраивает следующее:
- Если я в наушниках, то рингтон должен звучать только в наушники. Меня не устраивает, если он звучит ещё и в динамики.
- Если я в наушниках, то я должен узнать, кто звонит, не вынимая телефон из кармана. Меня не устраивает, что телефон не озвучивает имя звонящего.
- Если телефон в кармане, то он не должен разблокироваться в начале и в конце звонка. Для этого у телефона есть датчик присутствия. Также возможен следующий вариант: если я ответил на звонок кнопкой на гарнитуре, то после звонка экран должен заблокироваться.
- Естественно, я должен иметь возможность повесить трубку с помощью гарнитуры, иначе это нелогично, что снять её я могу, но не могу повесить.
Вопрос такой: существуют ли телефоны, прошивки, ОС, костыли и т.п., в которых процесс звонка реализован адекватно, т.е. так, как я описал в начале поста? Интересует также, как сделан этот процесс в MeeGo (и его форках), CyanogenMod и iOS, а также в дефолтной прошивке Nexus 4.
Для решения первых двух пунктов из списка у меня есть написанная мной программа-костыль, но она ещё не очень хорошо работает и не готова для публичного выпуска. Она работает на моём самсунге с андроидом 4.2.2. Для решения третьего пункта тоже возможно написать костыль, существует даже программа After Call Lock, но она не очень хорошо работает. О существовании четвёртого пункта я не подозревал, пока не потестил нексус. Так что я знаю, что хотя бы для первых трёх пунктов костыли возможно реализовать, но меня интересует именно то, как это сделано из коробки в других прошивках и ОС, а также интересует, существуют ли другие костыли.