feat(android): settings live on the device, dark theme, and the app is called Coffre
URL and token are no longer constants. They sit in settings.bin, sealed with the no-auth Keystore AES key - deliberately weaker than the vault: they must be readable to rebuild a vault that no longer exists, and a bearer token only opens ENCRYPTED data, worthless without the sync password that stays in the guarded vault. Retyping 64 hex characters after every cache purge was the real risk: the risk of writing them down elsewhere. They are saved only after a fetch that worked - proven settings, not typed ones. The token and sync password moved to the gitignored local include, as first-run defaults only. Tracked source now carries no secret, and leaving them empty is a viable configuration: the app asks. Theme: Delphi's Dark.style, copied into the repo and linked as a resource rather than deployed as a file - this project's deployment puts nothing beside the app, which is the same hole that forces the manifest and dex staging. A failure to load is never fatal; the default look is ugly but works. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+5
-1
@@ -12,12 +12,16 @@ uses
|
||||
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.Clipboard in 'android-client\PMA.Clipboard.pas',
|
||||
PMA.Theme in 'android-client\PMA.Theme.pas';
|
||||
|
||||
{$R *.res}
|
||||
|
||||
begin
|
||||
Application.Initialize;
|
||||
// Avant la creation de la forme : appliquer un style apres coup laisse les
|
||||
// controles deja construits avec l'ancien.
|
||||
ApplyDarkTheme;
|
||||
Application.CreateForm(TForm8, Form8);
|
||||
Application.Run;
|
||||
end.
|
||||
|
||||
Reference in New Issue
Block a user