feat(android): a settings screen, and the unlock code can finally be removed
Three things of different natures lived in collapsible panels on the home screen - repository credentials, the unlock code, the log - on the one screen where one mostly wants to open one's vault. They move to a settings sheet, reachable from the list too. A sheet, not a fourth view of the rail: each view costs its transform rules and a place in back-key navigation, and settings is not somewhere one moves about - it is a parenthesis one opens and closes. The unlock code can now be REMOVED. It could not before: clearing the field meant "nothing typed", not "drop the protection", so one could set a code and never get out. It requires an open vault, and that is the proof being asked for - the cache only let itself be read under the right code. Without that, anyone holding the unlocked phone could lift the protection without knowing it. The refusal that guards every other path stays: it is what stopped a sync from silently undoing a code. Removing is the one deliberate way out, and it says so at the call site. The old fields stay in the document as the source Delphi knows; the sheet is only a view of them. Emptying them would lose the configuration at the first sync.
This commit is contained in:
+23
-3
@@ -120,12 +120,32 @@ prouve rien.
|
||||
côte à côte**. Ils demandent deux gestes différents ; les confondre dirait
|
||||
« quelque chose ne va pas » sans dire quoi.
|
||||
|
||||
### F. Pièces jointes
|
||||
### F. Réglages
|
||||
|
||||
1. Roue dentée dans la liste, ou *Settings* sur l'accueil → l'écran s'ouvre.
|
||||
2. Les trois champs du dépôt doivent porter **les valeurs en place**, pas du
|
||||
vide : ils ne sont qu'une vue des champs que Delphi connaît déjà.
|
||||
3. Modifier l'URL, revenir par la flèche, *Sync* → la nouvelle valeur sert.
|
||||
C'est la contre-épreuve du report à la fermeture : un réglage modifié puis
|
||||
refermé **sans quitter le champ** doit compter.
|
||||
4. Touche **retour** dans les réglages → elle referme **sans** verrouiller ni
|
||||
revenir à la liste.
|
||||
5. **Poser un code** depuis les réglages : taper, *Set this code*, puis ouvrir
|
||||
le coffre → *« Unlock code changed »*. Le sceau se pose toujours à
|
||||
l'ouverture, et nulle part ailleurs.
|
||||
6. **Retirer le code** : *Remove the unlock code*, deux appuis → *« Unlock code
|
||||
removed »*. Fermer l'application, rouvrir → **le code n'est plus demandé**.
|
||||
7. Contre-épreuve du retrait : verrouiller, puis essayer de retirer le code
|
||||
sans avoir ouvert le coffre → refus *« Open the vault first »*. C'est ce qui
|
||||
empêche quelqu'un tenant le téléphone déverrouillé de lever la protection
|
||||
sans la connaître.
|
||||
|
||||
### G. Pièces jointes
|
||||
|
||||
1. Ligne *Attachment* → flèche de téléchargement → le fichier apparaît dans
|
||||
*Téléchargements* sous son nom, accents et arabe compris.
|
||||
|
||||
### G. Code de déverrouillage
|
||||
### H. Code de déverrouillage
|
||||
|
||||
1. Poser un code, ouvrir le coffre, fermer, rouvrir → il est demandé.
|
||||
2. Code faux → *« Wrong unlock code »*, et **Open vault reste offert** (le
|
||||
@@ -135,7 +155,7 @@ prouve rien.
|
||||
4. Contre-épreuve : taper n'importe quoi dans le champ du code puis *Sync* →
|
||||
le code **ne doit pas changer**.
|
||||
|
||||
### H. Empaquetage
|
||||
### I. Empaquetage
|
||||
|
||||
1. `build-apk.ps1 -Release -Keystore ... -Alias ...` → la sortie doit afficher
|
||||
`Signer #1 certificate DN: CN=R Zakarya`. Si elle affiche `CN=Android
|
||||
|
||||
Reference in New Issue
Block a user