@@ -24,7 +24,8 @@ require("messages").pushMessage({"t":"add","id":"call","src":"Phone","title":"Bo
24
24
var Layout = require ( "Layout" ) ;
25
25
var layout ; // global var containing the layout for the currently displayed message
26
26
var settings = require ( 'Storage' ) . readJSON ( "messages.settings.json" , true ) || { } ;
27
- var reply = require ( "reply" ) ;
27
+ var reply ;
28
+ try { reply = require ( "reply" ) ; } catch ( e ) { }
28
29
var fontSmall = "6x8" ;
29
30
var fontMedium = g . getFonts ( ) . includes ( "6x15" ) ?"6x15" :"6x8:2" ;
30
31
var fontBig = g . getFonts ( ) . includes ( "12x20" ) ?"12x20" :"6x8:2" ;
@@ -269,7 +270,10 @@ function showMessageSettings(msg) {
269
270
/*LANG*/ "View Message" : ( ) => {
270
271
showMessageScroller ( msg ) ;
271
272
} ,
272
- /*LANG*/ "Reply" : ( ) => {
273
+ } ;
274
+
275
+ if ( msg . reply && reply ) {
276
+ menu [ /*LANG*/ "Reply" ] = ( ) => {
273
277
replying = true ;
274
278
reply . reply ( { msg : msg } )
275
279
. then ( result => {
@@ -281,14 +285,15 @@ function showMessageSettings(msg) {
281
285
replying = false ;
282
286
showMessage ( msg . id ) ;
283
287
} ) ;
284
- } ,
288
+ } ;
289
+ }
290
+
291
+ menu = Object . assign ( menu , {
285
292
/*LANG*/ "Delete" : ( ) => {
286
293
MESSAGES = MESSAGES . filter ( m => m . id != msg . id ) ;
287
294
checkMessages ( { clockIfNoMsg :0 , clockIfAllRead :0 , showMsgIfUnread :0 , openMusic :0 } ) ;
288
295
} ,
289
- } ;
290
-
291
- if ( ! msg . reply || ! reply ) delete menu [ /*LANG*/ "Reply" ] ;
296
+ } ) ;
292
297
293
298
if ( Bangle . messageIgnore && msg . src )
294
299
menu [ /*LANG*/ "Ignore" ] = ( ) => {
@@ -393,15 +398,32 @@ function showMessage(msgid, persist) {
393
398
} ; footer . push ( { type :"img" , src :atob ( "PhAB4A8AAAAAAAPAfAMAAAAAD4PwHAAAAAA/H4DwAAAAAH78B8AAAAAA/+A/AAAAAAH/Af//////w/gP//////8P4D///////H/Af//////z/4D8AAAAAB+/AfAAAAAA/H4DwAAAAAPg/AcAAAAADwHwDAAAAAA4A8AAAAAAAA==" ) , col :"#f00" , cb :negHandler } ) ;
394
399
}
395
400
footer . push ( { fillx :1 } ) ; // push images to left/right
396
- if ( msg . positive ) {
401
+ if ( msg . reply && reply ) {
402
+ posHandler = ( ) => {
403
+ replying = true ;
404
+ msg . new = false ;
405
+ cancelReloadTimeout ( ) ; // don't auto-reload to clock now
406
+ reply . reply ( { msg : msg } )
407
+ . then ( result => {
408
+ Bluetooth . println ( JSON . stringify ( result ) ) ;
409
+ replying = false ;
410
+ layout . render ( ) ;
411
+ checkMessages ( { clockIfNoMsg :1 , clockIfAllRead :1 , showMsgIfUnread :1 , openMusic :openMusic } ) ;
412
+ } )
413
+ . catch ( ( ) => {
414
+ replying = false ;
415
+ layout . render ( ) ;
416
+ showMessage ( msg . id ) ;
417
+ } ) ;
418
+ } ; footer . push ( { type :"img" , src :atob ( "QRABAAAAAAAH//+AAAAABgP//8AAAAADgf//4AAAAAHg4ABwAAAAAPh8APgAAAAAfj+B////////geHv///////hf+f///////GPw///////8cGBwAAAAAPx/gDgAAAAAfD/gHAAAAAA8DngOAAAAABwDHP8AAAAADACGf4AAAAAAAAM/w==" ) , col :"#0f0" , cb :posHandler } ) ;
419
+ }
420
+ else if ( msg . positive ) {
397
421
posHandler = ( ) => {
398
422
msg . new = false ;
399
423
cancelReloadTimeout ( ) ; // don't auto-reload to clock now
400
424
Bangle . messageResponse ( msg , true ) ;
401
425
checkMessages ( { clockIfNoMsg :1 , clockIfAllRead :1 , showMsgIfUnread :1 , openMusic :openMusic } ) ;
402
- } ;
403
- footer . push ( { type :"img" , src :atob ( "QRABAAAAAAAAAAOAAAAABgAAA8AAAAADgAAD4AAAAAHgAAPgAAAAAPgAA+AAAAAAfgAD4///////gAPh///////gA+D///////AD4H//////8cPgAAAAAAPw8+AAAAAAAfB/4AAAAAAA8B/gAAAAAABwB+AAAAAAADAB4AAAAAAAAABgAA==" ) , col :"#0f0" , cb :posHandler } ) ;
404
-
426
+ } ; footer . push ( { type :"img" , src :atob ( "QRABAAAAAAAAAAOAAAAABgAAA8AAAAADgAAD4AAAAAHgAAPgAAAAAPgAA+AAAAAAfgAD4///////gAPh///////gA+D///////AD4H//////8cPgAAAAAAPw8+AAAAAAAfB/4AAAAAAA8B/gAAAAAABwB+AAAAAAADAB4AAAAAAAAABgAA==" ) , col :"#0f0" , cb :posHandler } ) ;
405
427
}
406
428
407
429
layout = new Layout ( { type :"v" , c : [
0 commit comments