summaryrefslogtreecommitdiff
path: root/source/ui/MainMenu.mc
diff options
context:
space:
mode:
Diffstat (limited to 'source/ui/MainMenu.mc')
-rw-r--r--source/ui/MainMenu.mc6
1 files changed, 4 insertions, 2 deletions
diff --git a/source/ui/MainMenu.mc b/source/ui/MainMenu.mc
index db59f4a..21f427c 100644
--- a/source/ui/MainMenu.mc
+++ b/source/ui/MainMenu.mc
@@ -118,8 +118,10 @@ class MainMenuDelegate extends WatchUi.Menu2InputDelegate {
} else if (vault.session.isUnlocked()) {
WatchUi.switchToView(new PinView(PinView.MODE_CHANGE, null), new PinDelegate(), WatchUi.SLIDE_LEFT);
} else {
- var then = new ChangePinAfterUnlock();
- WatchUi.switchToView(new PinView(PinView.MODE_UNLOCK, then.method(:run)), new PinDelegate(), WatchUi.SLIDE_LEFT);
+ // A legacy PIN is followed by the forced new-PIN screen, which
+ // is already the change: no second one after it.
+ var then = vault.isLegacyPin() ? null : new ChangePinAfterUnlock().method(:run);
+ WatchUi.switchToView(new PinView(PinView.MODE_UNLOCK, then), new PinDelegate(), WatchUi.SLIDE_LEFT);
}
} else if (id == :reset) {
// Two short lines (the item said "Reset PIN"): the native dialog shows