Les permissions non-révocables et les "anciennes applications" Android : conséquences sur votre controle

Les permissions non-révocables et les "anciennes applications" Android : conséquences sur votre controle

La dernière version de Protektoid vous permet de mieux intégrer les concepts de "permissions non-révocables" et "anciennes applications".

Les "anciennes applications"

Lorsque l'on développe une application, il est nécessaire de spécifier pour quelle version d'Android l'application est faite. Il s'agit du targetSdkVersion. Le choix n'est pas anodin car il impacte fortement le comportement de l'application, notamment en terme de sécurité.

En effet, les applications avant marshmallow ayant leurs permissions accordées à installation, toute application avec targetSdkVersion <= 22 suit ce principe, même si vous avez une version récente d'Android (Marhsmallow et supérieures). Certes, si vous utilisez Marshmallow, vous pouvez désactiver les permissions des applications ciblant une ancienne version d'Android. Cependant, cela casse le principe de sécurité de ces applications, comme le montre l'alerte lorsque vous le faites.

Quelles conséquences ensuite ? Android a un bug à ce sujet, que nous avons remonté mais qui a été qualifié de "won't fix" : il est techniquement impossible pour toute application non système (donc pour Protektoid) de savoir si une permission d'une application ciblant une ancienne version d'Android est désactivée ou non. Du coup, nous gérons ce cas via le concept de "ancienne application". Espérons que ce problème disparaisse progressivement avec les mises à jours de ces applications ciblant une trop vieille version du Sdk et la disparition donc de ces "anciennes applications".

Gestion au niveau des pages "applications"

Bien que nous gérions déjà ce concept, nous avons revu l'interface graphique pour mettre cet aspect plus en évidence, comme vous le montre les écrans suivants :

Cas des tablettes

Icones d'alertes sur la page application, version tablette

message d'information sur la page application, version tablette

Cas des téléphones

Icones d'alertes sur la page application, version téléphone

message d'information sur la page application, version téléphone

Affichage au niveau de la configuration d'une permission

Gestion des permissions des anciennes applications

Ces permissions pouvant être désactivées, vous devez alors faire deux actions séparées : les désactiver et le dire à Protektoid. Un mesage clair s'affiche désormais lors de la configuration d'une telle permission. Une icône spécifique (cadenas orange) vous permet également de repérer ces permissions très facilement.

Les permissions permanentes

Les permissions permanentes natives sont un autre cas à prendre en compte : certaines permissions ne peuvent tout simplement pas être désactivées. Il s'agit par exemple de "Réseau" ou encore "Bluetooth". Dans la version actuelle de Protektoid, nous gérons le cas des permissions permanentes définies par Android. Nous reviendrons plus tard sur les cas des permissions permanentes gérées par les fournisseurs (OEM).

Pour vous permettre de correctement configurer ces permissions, nous avons ajouter l'attribut "permanent" à ces permissions. Une icône spécifique (cadenas rouge) vous permet de repérer ces permissions très facilement.

Gestion au niveau de la configuration d'une permission

Gestion des permissions dites permanentes

Ces permissions permanentes ne pouvant pas être désactivées (d'où leur nom), elles sont gérées comme si votre appareil reposait sur un ancien Sdk: vous pouvez soit valider ces permissions, soit les marquer comme indésirables ("je n'aime pas").

Conclusion

Merci d'avoir lu cet article jusqu'au bout ! Nous espérons que vous l'avez aimé et que vous profiterez de ces améliorations apportées à l'application Protektoid Community. Comme toujours, n'hésitez pas à nous donner votre avis, par email ou commentaires sur le blog.

Comments