Wie die meisten von euch sicher schon gesehen haben, hat der CSV mit ein paar (für mich nicht nachvollziehbaren) Änderungen in P3.0.3 zu kämpfen, die so vorher auch nicht absehbar waren. Ich habe vor einigen Tagen ja schon das Update auf 0.26.1 veröffentlicht. Dieses hat lediglich eine neue Android-Richtlinie umgesetzt, damit die App überhaupt lauffähig ist. Der Rest kam aus dem Heiterem Himmel und hat mich sehr überrascht, als ich CSV nach dem Update gestartet habe.
Für alle, die die ausschweifenden Erklärungen nicht lesen und das Thema überspringen wollen, hier das TL:DR: Die Fixes sind einfacher als befürchtet umzusetzen und ihr dürft im laufe des Wochenendes mit einem Update rechnen, das die UI wieder hübsch macht
Bitte beachtet auch dieses Thema, in dem ich auf die weitere Entwicklung vom CSV eingehe, unabhängig von den Problemen, die mit P3.0.3 aufgetreten sind:
Die Zukunft des Car Stats Viewer
Folgende Dinge sind mit insbesondere aufgefallen:
- Schalter, eigentlich ein natives Android-Bedienelement, zentrieren die Schalterbeschriftung (bei Polestar das On/Off) nicht mehr mittig auf dem Schalter selbst, sondern mittig auf der ganzen Zeile. Technisch gesehen ist die ganze Zeile der Schalter, zu dem auch das Label dazu gehört.
- Sogenannte Image-Buttons haben eine veränderte Größe. Bisher waren die immer genau so groß, wie die dahinterliegenden Icon-Ressourcen. Mit dem Update ist da irgend eine Art Padding dazu gekommen, wodurch der (unsichtbare) Rahmen größer geworden ist und viele UI-Elemente verschoben hat.
- Schriftfelder haben einen Rahmen bekommen, inklusive sehr großem Padding. Wenn eine eigene Höhe definiert wird, ist der Text kleiner als ein einzelnes Pixel.
- Die „Polestar-orangene“ Farbe ist nicht mehr auf dem bisher üblichen Weg zugänglich. Ich habe für Elemente wie die Kopfleiste oder den Zurück-Button die
color_control_activated
verwendet. Nach dem Update liefert diese nur noch ein sehr dunkles Grau. Diese Farbe habe ich genutzt, um abhängig vom OS das Farbschema anzupassen. Volvo hat da z.B. bisher immer Blau geliefert.
- Und nicht so dramatisch, aber etwas schade: Im klassischen Stil sind die Hintergründe der App technisch gesehen transparent. Das Diagonale Schraffurmuster war also der Hintergrund, den das OS geliefert hat. Dieser Hintergrund ist jetzt weg. Diesen Kontrast fand ich eigentlich durchaus ganz nett und hat zum „Polestar-Like“-Feeling beigetragen. Der Hintergrund ist übrigens auch aus allen möglichen Medien-Apps (Außer das Radio) und den Fahrzugeinstellungen verschwunden. Grade da wirkt es jetzt irgendwie „steril“ und leert
Ihr ein paar Bilder von dem Chaos:
Eine in meinen Augen positive Sache hat das Update aber gebracht: Die Standardschriftart ist jetzt Polestar Unica77. Vorher war das eine generische Standardschriftart von Google. Zeitweise hatte ich mal eine Funktion in der App implementiert, die die Polestar-Schriftart dynamisch nachgeladen hat. Das war aber extrem ineffizient und hat den App-Start erheblich verlängert. Daher habe ich das zu Gunsten der Performance wieder raus geworfen.
Auf den ersten Blick habe ich schon eine immensen Berg Arbeit auf mich zukommen sehen. Solche Änderungen aus Heiterem Himmel, die einem die komplette UI zerschießen, die man mit viel Fummelarbeit und Liebe zum Detail zusammengebastelt hat, sind echt keine Freude. Im gegensatz zu Polestar ist mein Anspruch hier nämlich nicht „Funktioniert und gut ist“, sondern es soll auch halbwegs stimmig aussehen
Glücklicherweise hat sich dann letzte Nacht (sowas lässt mir dann grade am Wochenende einfach keine Ruhe ) aber gezeigt, dass der Aufwand, um diese Probleme zu beseitigen, doch gar nicht so dramatisch ist. Zumindest habe ich inzwischen Workarounds gefunden, damit die UI (fast) wieder so aussieht, wie gehabt:
- Die Schalter werden aufgeteilt in einen Text und den eigentlichen Schalter. Dadurch ist der Schalter nur noch so breit, wie der orange-graue Teil des Bedienelements und On/Off ist wieder zentriert. Das ganze habe ich dann in ein eigenes Bedienelement, dass ich als 1:1-Austausch mit minimalen Anpassungen nutzen kann, verpackt.
- Die Icon-Buttons erhalten als Dimension nicht mehr „
wrap_content
“, sondern werden Fix auf die definierte Größe des Icons gesetzt, das sie enthalten.
- Die Textfelder sind eigentlich nur im Debug-Menü betroffen. Da muss lediglich die fest definierte höhe weg, oder das Padding wird reduziert / entfernt.
- Das Orange habe ich vorerst fest definiert, statt es aus dem Standard-Theme zu laden. Das bedeutet leider, dass auch Volvofahrer jetzt eine orangene UI erhalten, aber anders geht’s im Moment nicht.
Diese Fixes habe ich bereits für den überwiegenden Teil der UI angewendet und ich bin zuversichtlich, dass ich noch dieses Wochenende ein Update bereitstellen kann (und ja @Schumannji , deine Höhenangabe ist dann auch gefixt :P)