refactor(android): the unlock screen moves to HTML, Skia and the style go
The caret in an Android TEdit does not land where you touch, which makes a long bearer token impossible to correct - the reason the last FMX screen had to go. A field in the engine inherits the system's text handling (caret, selection, handles, paste) for free. With no FMX control left, two things became dead weight and are gone: the vendored Dark.style, which had nothing left to style, and Skia - 25 MB carried solely so FMX labels would shape Arabic. The engine does its own shaping; checked on the device, an Arabic filename still reads correctly. The APK drops from 22.0 to 12.7 MB. Delphi stays the owner of the server settings; the page only edits them and hands them back when a field loses focus, one navigation per changed field rather than one per keystroke. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+6
-16
@@ -3,16 +3,6 @@ program pmserverApk;
|
||||
uses
|
||||
System.StartUpCopy,
|
||||
FMX.Forms,
|
||||
// Skia remplace le moteur de rendu de FMX. Ce n'est pas un choix esthetique :
|
||||
// celui d'origine ne met pas en forme les ecritures complexes - pas de
|
||||
// reordonnancement bidirectionnel, pas de liaison des lettres arabes - et un
|
||||
// nom de piece jointe en arabe s'affichait donc en desordre. Skia embarque
|
||||
// HarfBuzz et fait ce travail correctement.
|
||||
//
|
||||
// Le prix est libsk4d.so, 25 Mo, a poser dans lib/arm64-v8a de l'APK. Le
|
||||
// deploiement automatique s'en chargerait ; ici il ne deploie rien, donc la
|
||||
// bibliotheque est mise en place a la main comme le manifeste et les .dex.
|
||||
FMX.Skia,
|
||||
mainApk in 'mainApk.pas' {Form8},
|
||||
PMA.Crypto in 'android-client\PMA.Crypto.pas',
|
||||
PMA.TestVector in 'android-client\PMA.TestVector.pas',
|
||||
@@ -29,13 +19,13 @@ uses
|
||||
{$R *.res}
|
||||
|
||||
begin
|
||||
// AVANT Application.Initialize : le canevas est choisi a l'initialisation,
|
||||
// et le basculer ensuite ne rattrape pas ce qui est deja construit.
|
||||
GlobalUseSkia := True;
|
||||
// NI SKIA NI STYLE. Les deux servaient les controles FMX : Skia pour mettre
|
||||
// en forme l'arabe dans les libelles - le moteur d'origine ne lie pas les
|
||||
// lettres et ne reordonne pas le bidirectionnel - et le style pour que les
|
||||
// champs et les listes ne s'affichent pas en clair. L'interface est passee au
|
||||
// moteur du systeme, qui fait les deux lui-meme ; il ne reste plus un seul
|
||||
// controle FMX a habiller. Au passage, libsk4d.so ne pese plus dans l'APK.
|
||||
Application.Initialize;
|
||||
// Le style se pose apres l'initialisation mais avant la forme : l'appliquer
|
||||
// plus tard laisserait les controles deja construits avec l'ancien.
|
||||
ApplyDarkTheme;
|
||||
Application.CreateForm(TForm8, Form8);
|
||||
Application.Run;
|
||||
end.
|
||||
|
||||
Reference in New Issue
Block a user