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', PMA.SyncClient in 'android-client\PMA.SyncClient.pas', PMA.Store in 'android-client\PMA.Store.pas', PMA.Biometric in 'android-client\PMA.Biometric.pas', PMA.Vault in 'android-client\PMA.Vault.pas', PMA.Totp in 'android-client\PMA.Totp.pas', PMA.ScreenGuard in 'android-client\PMA.ScreenGuard.pas', PMA.Clipboard in 'android-client\PMA.Clipboard.pas', PMA.Theme in 'android-client\PMA.Theme.pas'; {$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; 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.