Google arbetar med att använda maskininlärningsmodeller för att förutsäga när användaren vill göra en svep bakåt i Android 12.
Google släppte den första Developer Preview av Android 12 häromdagen, och vi har grävt i koden för att hitta allt som är nytt. En av de mest spännande förändringarna vi har sett är en översyn av hur Android upptäcker svepgester bakåt. Om det implementeras kommer Android 12 att använda maskininlärningsmodeller för att förutse när användaren tänker använda bakåtgesten.
Med lanseringen av Android 10, Google infördes dess fullskärmsnavigeringssystem. Androids gest-navigeringssystem placerar ett piller längst ner på skärmen som du kan interagera med för att växla mellan appar, öppna gränssnittet för de senaste apparna eller gå till startskärmen. Bakåtknappen ersattes under tiden med en svepgest inåt som kan utlösas från vänster eller höger sida av skärmen. Mycket bläck har spillts om problemet med Androids bakåtgest, men till Googles förtjänst har de gjort det gjorde upplevelsen konsekvent
över ekosystemet och har tillhandahållna API: er för utvecklare att säkerställa kompatibilitet med gesten. Medan många appar har gått bort från att använda en Navigationslåda, det finns fortfarande massor av appar där bakåtgesten kan komma i konflikt med gränssnittet i appen. För att lösa detta problem testar Google ett nytt maskininlärningsbaserat tillvägagångssätt för detektering av bakåtgester i Android 12.Hur Androids bakåtgest fungerar för närvarande är som följer. Ett osynligt triggerområde finns nästan alltid på båda sidor av skärmen. Detta triggerområde sträcker sig mellan 18dp-40dp i bredd från sidorna av skärmen beroende på den användardefinierade ryggkänslighetsinställningen. Användaren kan utlösa en bakåtgest genom att helt enkelt placera ett finger var som helst inom insatsen och sedan flytta fingret inåt förbi ett minsta avstånd. Google använde värmekartor för telefonens skärm när de designade de bakre gestinsatserna, och de bosatte sig igenkänningsområden som användarna upplever är ergonomiska och enhandsvänliga.
Gestnavigering i Android 10+. Källa: Google.
Problemet med detta tillvägagångssätt, som Google själva erkänna, är att vissa användare fortfarande sveper för att öppna navigeringslådor, vilket strider mot bakåtgesten. Varje app är utformad på olika sätt, men utlösningsområdet för bakre gester säger fortfarande detsamma. Detta enastående tillvägagångssätt för rygggesten spelar alltså inte bra med hur vissa appar är designade, så det är därför Google experimenterar med maskininlärning för att ersätta den nuvarande modellen.
Samtidigt som vi undersökte ändringarna som Google gjorde dubbeltryck tillbaka-gesten i Android 12, XDA erkänd utvecklare Quinny899 upptäckte närvaron av en ny TensorFlow Lite-modell och vokabfil som heter "backgesture". Den senare innehåller en lista med 43 000 paketnamn för både populära och obskyra Android-appar, inklusive 2 av Quinny899:s egna appar. Vi tror att den här listan innehåller de appar som Google tränade sin maskininlärningsmodell mot — dvs. de fastställde de vanligaste start- och slutpunkterna för bakåtgesten app-för-app. När vi grävde djupare upptäckte vi att maskininlärningsmodellen refereras till i den uppdaterade EdgeBackGestureHandler-klassen i SystemUI för Android 12. Om en funktionsflagga är aktiverad verkar det som att Android 12 kommer att använda ML-modellen för att förutsäga om användaren tänkte utföra en bakåtgest eller om de helt enkelt ville navigera i appen. Data som matas till ML-modellen för slutledning inkluderar start- och slutpunkterna för gesten, om appen finns i listan och displayens bredd i pixlar. Alternativt, om funktionsflaggan är inaktiverad, återgår Android 12 helt enkelt tillbaka till standardmetoden för tillbakasvepning (dvs. infällningar).
För närvarande är den ML-baserade förutsägelsen av bakåtgester inaktiverad som standard i Android 12 Developer Preview 1. Det är möjligt att Google kan skrota detta tillvägagångssätt om det inte blir överlägset den befintliga infällda modellen. Vi kommer dock inte att veta säkert förrän Google avslöjar Android 12 Beta om ett par månader, eftersom det är den tid som Google brukar avslöja sina större förändringar för Android.
Tack till PNF Software för att du har gett oss en licens att använda JEB Decompiler, ett professionellt omvänd ingenjörsverktyg för Android-applikationer.