feat(android): un bouton pour jeter le coffre local, en debogage seulement
Il vit en bas des reglages, apres tout le reste, et demande deux appuis : un effacement sans retour ne se declenche pas sur un doigt qui glisse. Absent en release, et pas seulement cache : la commande du pont n'est pas compilee et Delphi ne devoile la section que dans une version de debogage. Le bouton ne peut donc pas reapparaitre par accident. Verifie - Release compte 8060 lignes contre 8072 en debug, soit exactement ce bloc. DropLocalVault efface le cache, le conteneur local et le drapeau d'attente, chacun sous son propre try : un fichier absent ou verrouille ne doit pas empecher les deux autres de partir. Les reglages du depot restent - c'est le coffre qu'on jette, pas la facon d'aller le rechercher. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -157,6 +157,14 @@ procedure ClearVault;
|
||||
function HasLocalContainer: Boolean;
|
||||
function LoadLocalContainer: string;
|
||||
procedure SaveLocalContainer(const AContainer: string);
|
||||
/// Efface TOUT ce que l'appareil detient du coffre : le cache, le conteneur
|
||||
/// local et le drapeau d'attente. Ne touche pas aux reglages du depot - c'est
|
||||
/// le coffre qu'on jette, pas la facon d'aller le rechercher.
|
||||
///
|
||||
/// SANS RETOUR, et sans garde ici : l'appelant est le seul a savoir si
|
||||
/// quelqu'un l'a demande. Reserve au debogage.
|
||||
procedure DropLocalVault;
|
||||
|
||||
/// Efface le conteneur local. A n'appeler QU'APRES avoir publie son contenu :
|
||||
/// c'est le geste qui fait passer l'autorite au depot, et il est sans retour.
|
||||
procedure DropLocalContainer;
|
||||
@@ -290,6 +298,16 @@ begin
|
||||
TFile.Delete(LocalContainerPath);
|
||||
end;
|
||||
|
||||
procedure DropLocalVault;
|
||||
begin
|
||||
// Chacun sous son propre try : un fichier absent ou verrouille ne doit pas
|
||||
// empecher les deux autres de partir - un effacement a moitie fait laisse
|
||||
// l'appareil dans un etat que personne n'a voulu.
|
||||
try if TFile.Exists(VaultPath) then TFile.Delete(VaultPath); except end;
|
||||
try DropLocalContainer; except end;
|
||||
try SetPendingFlag(False); except end;
|
||||
end;
|
||||
|
||||
function PendingPath: string;
|
||||
begin
|
||||
Result := TPath.Combine(TPath.GetHomePath, PENDING_FILE);
|
||||
|
||||
Reference in New Issue
Block a user