Android 7.1:s cirkulära ikonstöd bestäms av systemramverket, som i sin tur bestäms av OEM. Detta kan resultera i inkonsekvent design.
Designkonsistens har varit ett av de största hindren för Google sedan Android började bli enormt populärt. Från början var Googles filosofi att låta OEM-tillverkare ha full kontroll över sin designfilosofi. Till en början lockade denna nivå av öppenhet OEM-tillverkare att investera stora mängder resurser för att göra Android-smarttelefoner och surfplattor.
Men det stora utbudet av OEM-skinn stod i skarp kontrast till den hårt kontrollerade Apple iPhone-upplevelsen. Från och med Android Lollipop gjorde Google stora designförändringar (Material Design UX, som leds av vid den tiden ledande Android-designern Matias Duarte) och hoppades att apputvecklare och OEM-tillverkare skulle följa efter kostym. Medan vissa OEM-tillverkare som Motorola och Sony nöjde sig med att följa Googles ledning, har andra som Samsung och Huawei fortfarande ett designspråk som till stor del är icke-material.
Google har inte gett upp med att tillämpa konsekvent design på olika Android-enheter, och en av deras senaste ansträngningar är inkluderingen av cirkulär ikonstöd i Android 7.1 Nougat. Cirkulära ikoner är avsedda att lösa problemet med inkonsekvent ikonstorlek, men det här tillvägagångssättet har en uppsättning problem som jag låter designern Liam Spradlin på Android Police beskriver. Android 7.1 har knappt nått sin väg till Nexus-enheter, och det kommer att ta ganska lång tid för OEM-tillverkare att börja rulla ut Nougat, så det är oklart vilken inverkan cirkulär ikonstöd kommer att ha på designen konsistens. Men vad är klart är det faktum att cirkulära ikoner kan dö innan de ens har en chans att frodas: eftersom Google har hittills gjort det helt upp till OEM om de vill att deras användare ska se cirkulära ikoner eller inte.
Cirkulär ikonstöd bestäms av ramverket
Nästan varenda en av Google Pixels funktioner läcktes i förväg av olika bloggar. Även det cirkulära ikonstödet antyddes kraftigt som läckt Pixel Launcher angav stöd för cirkulära ikoner, och andra Google-appar uppdaterades långsamt med cirkulära ikontillgångar inbäddade i APK. Men på den tiden gjorde bloggarna en felaktigt antagande: att stöd för cirkulära ikoner skulle vara knutet till startprogrammet. Det är dock svårt att skylla på dem, som till och med Googles officiellt tillkännagivande av funktionen är berövad alla detaljer.
Lyckligtvis grävde veteranen Android-utvecklare Commonsware i mer detaljer om hur stöd för cirkulära ikoner skulle implementeras i Android 7.1 Nougat. Istället för att apputvecklare exponerar sin runda ikon via PackageManager (så att startare kan bestämma om de ska visa runda ikoner) systemramverket avgör om den vanliga ikonen eller den runda ikonen ska returneras till startprogrammet eller inte.
När en startprogram begär en appikon återkommer ramverket antingen
android: icon
ellerandroid: roundIcon
, beroende på enhetsbyggnadskonfigurationen.
Vad detta i huvudsak betyder är att OEM kan bestämma om cirkulära ikoner ska visas på din enhet eller inte. Om Samsung, Huawei, LG eller någon annan OEM bestämmer sig för att avstå från cirkulära ikoner, då din enhet kommer inte att se några runda ikontillgångar oavsett vilken tredjepartsstartare du installerar. Slå ett slag för Googles designkonsistens.
Commonsware har också upptäckt att ramverket avgör om en cirkulär eller vanlig ikon ska returneras eller inte för NÅGON process som begär en appikon. Med andra ord måste utvecklare vara försiktiga med att deras cirkulära ikoner ser bra ut inte bara i vissa enhets-/startprogramkonfigurationer, men var som helst det kan begäras.
Cirkulära appikoner är en trevlig visuell förändring, men det är uppenbart att det finns ett problem med implementeringen av dem. Med all sannolikhet kan vi se att endast vissa enheter som Google Pixel och kanske vissa Motorola-telefoner kommer att implementera stöd för cirkulära ikoner, medan andra OEM-tillverkare kommer att välja att fortsätta använda vanliga ikoner. Om detta scenario utspelar sig kan Pixel-ägare hitta sig själva med ett gäng icke-cirkulära appar från appen utvecklare som inte bryr sig om att uppdatera sina ikontillgångar för att bara rymma de få enheter som skulle stödja runt ikoner. Och i så fall skulle hela konsistensargumentet för runda ikoner vara omtvistat.
Tack till Commonsware för att du upptäckte detta!