Puisque je suis dans une série où je raconte mes problèmes de téléphone (saga de la ligne fixe cassée depuis 12 jours — et qui continue à ne pas marcher : 1, 2 et 3), j'en profite pour signaler celui-ci, qui n'est certes pas catastrophique mais est quand même gênant : le capteur de proximité de mon téléphone mobile (Nexus 4) est cassé.
Le capteur de proximité, présent sur la plupart des smartphone, c'est le gadget qui détecte que le téléphone est collé contre votre oreille, et qui, dans ces circonstances, désactive l'écran pendant un appel : ceci évite qu'on fasse involontairement des commandes en touchant l'écran avec la joue, par exemple celle de raccrocher. C'est une excellente idée, sauf quand le capteur en question ne marche pas. Enfin, il y a deux façons de ne pas marcher, et mon capteur a évidemment choisi la pire : il pourrait ne pas détecter ma tête quand elle est là, mais il fait le contraire, il la détecte en permanence.
Autrement dit, dès que je commence à passer un appel, l'écran se
désactive, et je n'ai donc pas de moyen de raccrocher (sauf en
éteignant complètement le téléphone), ni d'accéder aux touches
numériques qui servent pour communiquer avec les serveurs vocaux.
C'est particulièrement problématique pour la consultation de mon
répondeur : pas de moyen de passer au message suivant, de réécouter un
message, de revenir en arrière, etc. — puisque toutes ce fonctions
sont accessibles en appuyant sur des touches. Je ne peux donc
véritablement consulter mon répondeur que depuis un téléphone fixe, ce
qui (a) me coûte de l'argent, et (b) ne m'est pas possible en ce
moment (comme on le sait, ma ligne fixe est HS, et mon
téléphone de bureau ne me permet pas de consulter le répondeur de mon
mobile). J'arrive quand même à raccrocher : le capteur de proximité a
des instants de lucidité, au pire je peux éteindre le téléphone de
force en gardant le bouton on/off appuyé pendant dix secondes, ou
encore activer l'option d'accessibilité raccrocher sur appui du
bouton on/off
; mais en tout cas la situation est assez
absurde.
Contrairement à d'autres appareils, le Nexus 4 ne permet pas de recalibrer un capteur de proximité trop sensible (ce capteur ne sait renvoyer que deux valeurs : tête éloignée ou tête présente). Il y a bien des applications qui traînent prétendant résoudre le problème en forçant un réveil permanent de l'écran pendant les appels, mais je ne fais aucune confiance à des applications confidentielles dont je ne sais rien du développeur et dont le code source n'est pas publié.
C'est d'autant plus absurde que le téléphone a des boutons
physiques : il serait évident et raisonnable de faire en sorte que si
l'utilisateur appuie sur un de ces boutons (disons, le bouton
d'alimentation), le capteur de proximité soit ignoré pendant dix
secondes ou quelque chose de la sorte. Ou simplement de prévoir de
désactiver la fonction éteindre l'écran si le capteur de proximité
détecte la présence de la tête
. Je viens
de soumettre
un bug-report Android dans ce sens, mais soumettre un bug-report
sur Android a le même effet qu'écrire à Orange : c'est purement
défoulatoire, il ne faut pas espérer une seule seconde que ce qu'on
écrit sera pris en compte.
Le meilleur contournement que j'aie trouvé pour l'instant (je n'y ai pensé qu'aujourd'hui, en fait), c'est de brancher les écouteurs externes : miraculeusement, quelqu'un a eu la bonne idée de désactiver le capteur de proximité dans ces circonstances. Mise à jour : En fait, il semble que ça ne marche plus sous CyanogenMod 11 / Android KitKat.
Sinon, la bonne solution serait pour moi de recompiler
l'application com.android.phone
(i.e., le téléphone) pour
en retirer tout le code qui tient compte du capteur de proximité (ou
ajouter la fonction qui permet au bouton on/off d'activer l'écran pour
dix secondes, ou quelque chose comme ça). Malheureusement, même si le
code source est fourni donc c'est possible en théorie, en pratique,
recompiler une application système Android est très difficile : je
sais que je
m'étais arraché
les cheveux à trouver comment recompiler l'application clavier, je
me sens assez découragé à l'idée de recommencer pour l'application de
téléphonie. (Surtout que chacune de
ces petites réparations que je peux faire sur mon Android va
signifier un long moment à passer à chaque nouvelle mise à jour du
système pour refaire toutes les réparations qui auront été écrasées
par la mise à jour.)