Deshalb funktioniert Nova Launcher besser auf Google Pixel-Handys

Deshalb funktioniert Nova Launcher besser auf Google Pixel-Handys

In der Vergangenheit boten Launcher-Apps von Drittanbietern dem Standard-Launcher, der auf den meisten Android-Handys zu finden ist, oft eine bessere Erfahrung. Mit der Überarbeitung des aktuellen App-Bildschirms und der Einführung von Gesten in Android 9 Pie wurden jedoch Drittanbieter-Launcher benachteiligt, da diese neuen Erfahrungen in die Stock Launcher-App integriert wurden. Im Laufe der Zeit hat Google versucht, die Launcher-Erfahrung von Drittanbietern bei der Verwendung von Gesten nicht so schrecklich zu gestalten, und dies ist in letzter Zeit tatsächlich gelungen.

Wenn Sie in den letzten Monaten eine aktuelle Betaversion von Nova Launcher auf einem Google Pixel-Telefon verwendet haben, sind Ihnen möglicherweise die flüssigen Animationen bei der Verwendung der Gestennavigation aufgefallen. Leider werden Sie diese Animationen nicht sehen, wenn Sie Nova Launcher auf einem anderen Gerät verwenden, zumindest vorerst. Um zu verstehen, warum wir zuerst kurz erklären müssen, was Launcher von Drittanbietern wie Nova Launcher von Standard-Launchern wie Googles Pixel Launcher unterscheidet.

Google hat erstmals die Gestennavigation in Android 9 Pie eingeführt. Damit sich Gesten so flüssig wie möglich anfühlen, musste Google App-Übergänge nahtlos aussehen lassen. Sie wollten den Benutzern auch den Zugriff auf ihre gesamte App-Liste über den Bildschirm mit den zuletzt verwendeten Apps ermöglichen. Um beides zu erreichen, hat Google beschlossen, den Code, der den Bildschirm der neuesten Apps verarbeitet, von Androids SystemUI zu Launcher3 zu verschieben, der Open-Source-Launcher-App von Android, von der die meisten OEM-Launcher abgezweigt werden. Damit war die QuickStep-Komponente geboren, und Android erlaubt aufgrund seiner privilegierten Natur nur die Einstellung der vorinstallierten Launcher-App als aktueller App-Anbieter. Dies kann mit Root-Zugriff überschrieben werden, wenn der Launcher von Drittanbietern dies unterstützt, aber für die meisten Benutzer bedeutet dies, dass eine Launcher-App von Drittanbietern immer auf den Stock Launcher angewiesen ist, um Gesten und den Bildschirm der letzten Apps zu verarbeiten. Das Ergebnis kann, wie die meisten von Ihnen wahrscheinlich erfahren haben, etwas ruckelig sein, mit Übergängen, die nicht flüssig und nahtlos aussehen. Es sei denn, Sie verwenden ein Google Pixel-Telefon.


Auf den meisten Google Pixel-Telefonen gibt es eine API, die Launcher von Drittanbietern verwenden können, um den Übergang von einer App zurück zum Startbildschirm viel nativer aussehen zu lassen. Einige Launcher-Apps von Drittanbietern wie Niagara Launcher und der oben erwähnte Nova Launcher nutzen diese API, obwohl letztere sie nur in ihren in Entwicklung befindlichen v7-Builds enthält. Wenn diese API verwendet wird, erhält die Launcher-App des Drittanbieters eine Absicht und einen Rückruf von QuickStep, wenn der Benutzer eine Wischgeste ausführt, um nach Hause zu gehen. Der Launcher des Drittanbieters kann dem Gestensystem dann einen Hinweis geben, wie das Fenster beim Minimieren auf ein App-Symbol animiert werden soll.

Hier ist ein Beispiel dafür, wie dies im Niagara Launcher aussieht, mit freundlicher Genehmigung des Entwicklers des Launchers 8bitpit:

Und hier ist ein Vergleich, der zeigt, wie die Animation auf einem ASUS ROG Phone 5 und Google Pixel 4 aussieht, die beide mit Nova Launcher v7.0.25 (die neueste Beta-Version zum Zeitpunkt der Veröffentlichung) und Android 11 laufen:

Jetzt fragen Sie sich vielleicht: Ist diese API exklusiv für Google Pixel-Telefone? Die Antwort ist nein, ist es nicht. Die API ist Teil von Launcher3/QuickStep und kann in AOSP gefunden werden, was bedeutet, dass sie für jede OEM-Launcher-App offen ist. Während die API am 21. Juli 2020 intern an Launcher3 übergeben wurde, scheint sie im Dezember mit der Android R QPR1-Version in den AOSP-Master-Zweig zusammengeführt worden zu sein.

Die API, die Nova Launcher und Niagara Launcher auf Google Pixel-Telefonen nativer macht.

Kevin Barry, der Entwickler von Nova Launcher und einer der ersten, der diese API entdeckte, sagte uns, dass er vermutet, dass OEMs diese API unter anderem nicht in ihren Ablegern von Launcher3 verwenden, weil sie in Android 11 etwas spät kam Release-Zyklus. Das Zusammenführen großer AOSP-Änderungen erfordert einiges an Aufwand, und das Android R QPR1-Update enthielt definitiv viele davon. In den vergangenen Jahren würden wir diese Code-Drops als „Wartungsfreigabe“ bezeichnen, aber Google macht diese nach einem Pushback von OEMs nicht mehr wirklich (so habe ich zumindest gehört). Aus diesem Grund nennt LineageOS, das beliebte benutzerdefinierte Android-ROM, seine neueste Version “LineageOS 18.1” statt “LineageOS 18”, um zu signalisieren, dass das ROM auf der neuesten Android 11-Codebasis und nicht auf der ursprünglichen Android 11-Version basiert.

Es ist auch erwähnenswert, dass diese API nur auf Google Pixel-Telefonen nach dem Pixel Feature Drop im Dezember zugänglich ist, der mit der öffentlichen Veröffentlichung von Android R QPR1 zusammenfällt. Und obwohl das Pixel 2 im Dezember sein letztes Update erhielt, enthielt dieses Update nicht die Android R QPR1-Codebasis, weshalb Pixel-2-Besitzer mit Nova Launcher v7 nicht die gleiche Erfahrung wie andere Pixel haben. (Pixel 2-Besitzer können eine neuere Version des Pixel Launcher mit der API eines neueren Pixel-Geräts von der Seite laden, aber Benutzerberichte weisen darauf hin, dass die Animation immer noch fehlerhaft ist, auch wenn sie ab und zu funktioniert. Zur Erinnerung: Pixel Launcher wurde erstellt auf Launcher3, genau wie die meisten Standard-Launcher, aber es enthält auch einige Pixel-exklusive Funktionen.)

Was braucht es also, damit diese API anderen Android-Geräten hinzugefügt wird? Darauf lässt sich leider keine einfache Antwort geben, denn wir wissen nicht genau, wie jeder OEM seine Launcher-App entwickelt. Angesichts der strengen Kontrolle von Google über die Gestennavigation im Vollbildmodus vermuten wir, dass die meisten OEMs Code in Bezug auf Gesten und/oder QuickStep nicht stark ändern. Sofern kein OEM alles daran setzt, den Commit rückgängig zu machen, den Code zu brechen oder Launcher3 nicht zu aktualisieren, sollten wir sehen, dass diese API zu OEM-Launchern hinzugefügt wird, wenn sie auf der kommenden Android 12-Version neu basieren. Tatsächlich hat uns ein OEM, mit dem wir gesprochen haben, ASUS, mitgeteilt, dass er plant, diese API in sein Android 12-Update aufzunehmen. Wir wissen nicht, ob Google diese Änderung den OEMs mitgeteilt hat, aber wir hoffen, dass mehr OEMs diese Änderung bemerken und beschließen, die API in ihre Ableger von Launcher3 zu integrieren, um die Nutzung von Drittanbieter-Launchern zu verbessern.

Die Arbeit wird hier jedoch nicht enden. Auch nach dem Einbinden dieser API ist noch mehr Arbeit zu leisten, um eine Parität zwischen Startprogrammen von Drittanbietern und OEM-Startprogrammen zu erreichen. Einige OEM-Geräte flackern beispielsweise, wenn der Benutzer auf den Bildschirm tippt, bevor eine Animation zum Startbildschirm angezeigt wird. Manchmal wird die System-Launcher-App anstelle der ausgewählten Drittanbieter-Launcher-App angezeigt (mir ist das schon ein paar Mal passiert). Eine verbesserte Übergangsanimation ist nett, aber niemand möchte sich mit Fehlern in der Launcher-App oder dem Bildschirm der letzten Apps befassen, daher muss der Gestencode noch bereinigt und/oder standardisiert werden.

Danke an Kevin Barry und Peter Huber für ihre Unterstützung in diesem Artikel!

Leave a Comment