@@ -45,7 +45,7 @@ if (Graphics.prototype.setFontIntl) {
4545 fontVLarge = noScale ?"Intl" :"Intl:3" ;
4646}
4747
48- var active ; // active screen (undefined/"list"/"music"/"map"/"message "/"scroller"/"settings")
48+ var active ; // active screen (undefined/"list"/"music"/"map"/"overview "/"scroller"/"settings")
4949var openMusic = false ; // go back to music screen after we handle something else?
5050var replying = false ; // If we're replying to a message, don't interrupt
5151// hack for 2v10 firmware's lack of ':size' font handling
@@ -91,7 +91,7 @@ var onMessagesModified = function(type,msg) {
9191 if ( msg && msg . id == "nav" && msg . t == "modify" && active != "map" )
9292 return ; // don't show an updated nav message if we're just in the menu
9393 let persist = "messagegui.new.js" === global . __FILE__ ?false :true ;
94- showMessageRouter ( msg , persist , "modified " ) ;
94+ showMessageRouter ( msg , persist , "dependsOnActive " ) ;
9595} ;
9696Bangle . on ( "message" , onMessagesModified ) ;
9797
@@ -100,8 +100,10 @@ function saveMessages() {
100100}
101101E . on ( "kill" , saveMessages ) ;
102102
103- function showMessageRouter ( msg , persist , calledFrom ) {
104- ////var active; // active screen (undefined/"list"/"music"/"map"/"message"/"scroller"/"settings")
103+ function showMessageRouter ( msg , persist , explicitDestnation ) {
104+ //explicitDestnation (undefined/"scroller"/"overview"/"dependsOnActive")
105+
106+ ////var active; // active screen (undefined/"list"/"music"/"map"/"overview"/"scroller"/"settings")
105107 //if (active==undefined) { } else if (active=="list") ... //and so on.
106108
107109 if ( persist ) { cancelReloadTimeout ( ) }
@@ -114,14 +116,19 @@ function showMessageRouter(msg, persist, calledFrom) {
114116 cancelReloadTimeout ( ) ; // don't auto-reload to clock now
115117 return showMapMessage ( msg ) ;
116118 }
117- if ( calledFrom == "modified" && active == "scroller" ) { // reinit scroller with updated messages list.
119+ if ( msg . id == "call" ) {
120+ return showMessageOverview ( msg . id , persist ) ;
121+ }
122+ if ( "scroller" === explicitDestnation ) {
118123 return showMessagesScroller ( msg , persist ) ;
119124 }
120- if ( calledFrom == "scrollerSelect" ) {
125+ if ( "overview" === explicitDestnation ) {
121126 return showMessageOverview ( msg . id , persist ) ;
122127 }
123- if ( msg . id == "call" ) {
124- return showMessageOverview ( msg . id , persist ) ;
128+ if ( "dependsOnActive" === explicitDestnation ) {
129+ if ( "scroller" === active ) { return showMessagesScroller ( msg , persist ) ; } // reinit scroller with updated messages list.
130+ if ( "list" === active ) { return returnToMain ( ) ; }
131+ if ( "settings" === active || "overview" === active ) { return ; }
125132 }
126133 //if (false) {showMessageSettings(msg);}
127134}
@@ -423,8 +430,8 @@ function showMessagesScroller(msg, persist, alreadyProcessed) {
423430 WU . show ( ) ;
424431 const MSG_SELECT = identifyDisplayedMsg ( scrollIdx ) ;
425432 clearBtnHandler ( ) ;
426- if ( ! touch ) { showMessageRouter ( MSG_SELECT , true , "scrollerSelect " ) ; return ; }
427- if ( touch . type == 0 ) { showMessageRouter ( MSG_SELECT , true , "scrollerSelect " ) ; }
433+ if ( ! touch ) { showMessageRouter ( MSG_SELECT , true , "overview " ) ; return ; }
434+ if ( touch . type == 0 ) { showMessageRouter ( MSG_SELECT , true , "overview " ) ; }
428435 if ( touch . type == 2 ) { showMessageSettings ( MSG_SELECT ) ; }
429436 }
430437 } ) ;
@@ -524,7 +531,7 @@ function showMessageOverview(msgid, persist) {
524531 updateLabelsInterval = undefined ;
525532 }
526533 if ( ! msg ) return returnToClockIfEmpty ( ) ; // go home if no message found
527- active = "message " ;
534+ active = "overview " ;
528535 // Normal text message display
529536 var title = msg . title , titleFont = fontLarge , lines ;
530537 var body = msg . body , bodyFont = fontLarge ;
@@ -730,7 +737,7 @@ function checkMessages(options) {
730737 } ,
731738 select : idx => {
732739 if ( idx < MESSAGES . length )
733- showMessageRouter ( MESSAGES [ idx ] , true ) ;
740+ showMessageRouter ( MESSAGES [ idx ] , true , "overview" ) ;
734741 } ,
735742 back : ( ) => load ( )
736743 } ) ;
0 commit comments