Aus diesem Grund funktioniert Nova Launcher auf Google Pixel-Telefonen besser

Aus diesem Grund funktioniert Nova Launcher auf Google Pixel-Telefonen besser

In der Vergangenheit boten Launcher-Apps von Drittanbietern oft ein besseres Erlebnis als der Standard-Launcher, der auf den meisten Android-Telefonen zu finden ist. Mit der Überarbeitung des aktuellen App-Bildschirms und der Einführung von Gesten in Android 9 Pie wurden Launcher von Drittanbietern jedoch 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 ihnen in letzter Zeit tatsächlich gelungen.

Wenn Sie in den letzten Monaten eine aktuelle Beta-Version 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 zumindest vorerst nicht sehen, wenn Sie Nova Launcher auf einem anderen Gerät verwenden. Um zu verstehen, warum wir zunächst kurz erklären müssen, was Launcher von Drittanbietern wie Nova Launcher von Standard-Launchern wie Googles Pixel Launcher unterscheidet.

Google hat die Gestennavigation erstmals in Android 9 Pie eingeführt. Damit sich Gesten so flüssig wie möglich anfühlen, musste Google App-Übergänge nahtlos gestalten. Sie wollten Benutzern auch den Zugriff auf ihre gesamte App-Liste über den Bildschirm der letzten Apps ermöglichen. Um beides zu erreichen, hat Google beschlossen, den Code, der den Bildschirm der letzten Apps verwaltet, von Androids SystemUI zu Launcher3 zu verschieben, der Open-Source-Launcher-App von Android, von der die meisten OEM-Launcher abgezweigt werden. So wurde die QuickStep-Komponente geboren, und aufgrund ihrer privilegierten Natur erlaubt Android nur, dass die vorinstallierte Launcher-App als aktueller App-Anbieter festgelegt wird. Dies kann mit Root-Zugriff außer Kraft gesetzt werden, wenn der Launcher des Drittanbieters dies unterstützt. Für die meisten Benutzer bedeutet dies jedoch, dass sich eine Launcher-App eines Drittanbieters immer auf den Stock Launcher verlässt, um Gesten und den Bildschirm der letzten Apps zu verarbeiten. Das Ergebnis kann, wie die meisten von Ihnen wahrscheinlich schon erlebt 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 Drittanbieter-Launcher 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 dann dem Gestensystem Hinweise geben, wie das Fenster zu animieren ist, wenn es auf ein App-Symbol minimiert wird.

Hier ist ein Beispiel dafür, wie dies in Niagara Launcher aussieht, mit freundlicher Genehmigung des Launcher-Entwicklers 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 (der neuesten Betaversion 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 mit der Veröffentlichung von Android R QPR1 im Dezember in den AOSP-Master-Zweig zusammengeführt worden zu sein.

Die API, mit der sich Nova Launcher und Niagara Launcher auf Google Pixel-Telefonen nativer anfühlen.

Kevin Barry, der Entwickler von Nova Launcher und einer der ersten, der diese API entdeckte, sagte uns, dass er vermutet, dass ein Teil des Grundes, warum OEMs diese API nicht in ihren Gabeln von Launcher3 verwenden, darin besteht, dass sie in Android 11 etwas spät kam Release-Zyklus. Es erfordert ziemlich viel Aufwand, große AOSP-Änderungen zusammenzuführen, und das Android R QPR1-Update enthielt definitiv viele davon. In den vergangenen Jahren haben wir diese Code-Drops als „Maintenance Release“ bezeichnet, aber Google macht das nach dem Pushback von OEMs nicht mehr wirklich (so habe ich gehört). Aus diesem Grund nennt LineageOS, das beliebte benutzerdefinierte Android-ROM, seine neueste Version „LineageOS 18.1“ und nicht „LineageOS 18“, um anzuzeigen, 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 erst nach dem Pixel Feature Drop im Dezember auf Google Pixel-Telefonen 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, die Nova Launcher v7 ausführen, nicht die gleiche Erfahrung wie andere Pixel haben. (Pixel 2-Besitzer können eine neuere Version des Pixel Launcher mit der API von einem neueren Pixel-Gerät laden, aber Benutzerberichte weisen darauf hin, dass die Animation immer noch fehlerhaft ist, selbst wenn sie ab und zu funktioniert. Zur Erinnerung: Pixel Launcher wird erstellt auf Launcher3, genau wie die meisten Stock-Launcher, aber es enthält auch einige Pixel-exklusive Funktionen.)

Was braucht es also, damit diese API zu anderen Android-Geräten hinzugefügt wird? Darauf gibt es leider keine einfache Antwort, da wir nicht genau wissen, wie jeder OEM seine Launcher-App entwickelt. Angesichts dessen, wie streng Google die Vollbild-Gestennavigation kontrolliert, vermuten wir, dass die meisten OEMs den Code im Zusammenhang mit Gesten und/oder QuickStep nicht stark modifizieren. Sofern sich ein OEM nicht Mühe gibt, das Commit rückgängig zu machen, den Code zu brechen oder sich weigert, Launcher3 zu aktualisieren, sollten wir sehen, dass diese API zu OEM-Launchern hinzugefügt wird, wenn sie auf der kommenden Android 12-Version rebasieren. Tatsächlich sagte uns ein OEM, mit dem wir gesprochen haben, ASUS, dass sie planen, diese API in ihr Android 12-Update aufzunehmen. Wir wissen nicht, ob Google diese Änderung den OEMs mitgeteilt hat, aber wir hoffen, dass mehr OEMs diese Änderung zur Kenntnis nehmen und sich entscheiden, die API in ihre Gabeln von Launcher3 zu integrieren, um die Erfahrung bei der Verwendung von Launchern von Drittanbietern zu verbessern.

Die Arbeit wird damit jedoch nicht enden. Auch nach Einbindung dieser API ist noch weitere Arbeit erforderlich, um eine Parität zwischen Startprogrammen von Drittanbietern und OEM-Startprogrammen zu erreichen. Beispielsweise flackern einige OEM-Geräte, wenn der Benutzer auf den Bildschirm tippt, bevor eine Animation zum Startbildschirm angezeigt wird. Manchmal wird die Systemstarter-App anstelle der ausgewählten Drittanbieter-Starter-App angezeigt (dies ist mir einige Male passiert). Eine verbesserte Übergangsanimation ist nett, aber niemand möchte sich mit Fehlern in der Launcher-App oder im Bildschirm der letzten Apps befassen, daher muss der Gestencode noch etwas bereinigt und/oder standardisiert werden.

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

Leave a Comment