~aleteoryx/muditaos

ref: 6665a43d2b901b89809c4f18338d8ea6c0b08df7 muditaos/module-apps/application-desktop/doc/appdesktop_pinflow.pu -rw-r--r-- 2.4 KiB
6665a43d — Lefucjusz [BH-1780] Fix uncaught std::filesystem::file_size exception 2 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
@startuml
skinparam BackgroundColor F0F0F0

participant "Service Cellular" as srvclr
participant "Application Manager" as appmgr
participant "ApplicaionDesktop" as appdsktp
participant "PinLockWindow" as pinwin
actor User

    == PIN required flow ==

note left of srvclr
    Cellular side data:
    State: PIN required
    SIM: SIM1
    phone: +48500500500
    attempts: 4
end note
/ note left of appdsktp
    Desktop side state:
    Screen Locked
end note
/ note left of pinwin
    Desktop side data:
    None
end note

[o->srvclr : need PIN1
activate srvclr
srvclr -> appmgr : ActionMessage{RequestPin1, {SIM1, attempts}} via sys::bus message
    activate appmgr
deactivate srvclr
    appmgr -> appmgr : translate request to action
    appmgr -> appdsktp : forward action
        activate appdsktp
    deactivate appmgr
        appdsktp -> appdsktp : handle(RequestPinAction) -> queued
        deactivate appdsktp
        ... ...
        appdsktp <- User : Unlock screen
        activate appdsktp
note left of pinwin
    Desktop side data:
    State: PIN required
    SIM: SIM1
    attempts: 4
end note
/ note left of appdsktp
    Desktop side state:
    Screen Unlocked
end note
        appdsktp -> pinwin ** : switchWindow(SIM1, requiredPIN, attempts)
            activate pinwin
        deactivate appdsktp
            pinwin -> pinwin : setVisiblePinRequired
            pinwin <- User : Enters PIN (good)
            pinwin <- User : Confirm
        appdsktp <- pinwin : handlePasscode(pinValue)
        activate appdsktp
            deactivate pinwin
srvclr <- appdsktp : PinData(pinValue) via sys::bus message
activate srvclr
        deactivate appdsktp
srvclr -> srvclr : verification passed
deactivate srvclr
note left of srvclr
    Cellular side data:
    State: PIN unlocked
    SIM: SIM1
    phone: +48500500500
    attempts: 4
end note
/ note over pinwin #FFAAAA
    waiting for confirmation
    which actions should be available for user?
    what to do if no confirmation returns?
end note

[o->srvclr : SIM unlocked
activate srvclr
srvclr -> appmgr : ActionMessage{SimUnlocked, {SIM1}} via sys::bus message
    activate appmgr
deactivate srvclr
    appmgr -> appmgr : translate request to action
    appmgr -> appdsktp : forward action
        activate appdsktp
    deactivate appmgr
        appdsktp -> appdsktp : handle(SimUnlockedAction)
        appdsktp -> pinwin !! : delete
        deactivate appdsktp
note left of pinwin
    Desktop side data:
    None
end note

@enduml