7939d268f3
Since Android 13 the system shows a preview of whatever was just copied, at the bottom of the screen. For a password that is precisely what we are trying to avoid: it appears in clear, outside the app, for several seconds. The flag that suppresses it is a ClipDescription extra, which IFMXClipboardService does not expose - hence going straight to ClipboardManager. Note Jcontent_ClipboardManager, not JClipboardManager: the latter is the deprecated android.text one, which knows only bare text and has no ClipData to carry an extra. Backgrounding already locks; the idle timer covers the phone left face-up on a table with the app open. It samples timestamps every 15 s rather than counting seconds - a wake-up per second would cost battery for no precision that matters. Attachments dropped from the plan: this vault has none. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
24 lines
679 B
ObjectPascal
24 lines
679 B
ObjectPascal
program pmserverApk;
|
|
|
|
uses
|
|
System.StartUpCopy,
|
|
FMX.Forms,
|
|
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';
|
|
|
|
{$R *.res}
|
|
|
|
begin
|
|
Application.Initialize;
|
|
Application.CreateForm(TForm8, Form8);
|
|
Application.Run;
|
|
end.
|