~aleteoryx/muditaos

ref: b006a01853e3ea0d6441552324d18db3a7e68b29 muditaos/module-apps/application-desktop/doc/appdesktop_pinflow_userabort.pu -rw-r--r-- 2.1 KiB
b006a018 — rrandomsky [MOS-1007] Fix for no popup when contact cannot be saved because of same nubers 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
@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 - User abort ==

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
            pinwin <- User : Back
        appdsktp <- pinwin : handle(abort)
        activate appdsktp
            deactivate pinwin
srvclr <- appdsktp : Abort() via sys::bus message
activate srvclr
        appdsktp -> appdsktp : switchWindow (previous)
        appdsktp -> pinwin !! : delete
        deactivate appdsktp
note over srvclr, pinwin #FFAAAA
    how do we handle such state?
    what prevents cellular from requesting PIN again?
end note


srvclr -> srvclr : abort ?
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 Unlocked
end note
/ note left of pinwin
    Desktop side data:
    None
end note

@enduml