-
• #2
indeed if the bangle system could provide a setting for the above
Bangle.setUI("clock");
then every clock + pattern launcher will do the trick.
currently, the above need to be done on a per-clock face basis. -
• #3
will need to try later,
https://www.espruino.com/Reference#l_Bangle_setUInot sure if need to add back Bangle.CLOCK=1 for it.
'clock' - called for clocks. Sets Bangle.CLOCK=1 and allows a button to start the launcher
Bangle.js 1 BTN2 starts the launcher
Bangle.js 2 BTN1 starts the launcher -
• #4
more info to read:
https://www.espruino.com/ReferenceBANGLEJS2#l_Bangle_isLockedBangle.setUI({
mode : "custom",
back : function() {}, // optional - add a 'back' icon in top-left widget area and call this function when it is pressed , also call it when the hardware button is clicked (does not override btn if defined)
remove : function() {}, // optional - add a handler for when the UI should be removed (eg stop any intervals/timers here)
redraw : function() {}, // optional - add a handler to redraw the UI. Not needed but it can allow widgets/etc to provide other functionality that requires the screen to be redrawn
touch : function(n,e) {}, // optional - (mode:custom only) handler for 'touch' events
swipe : function(dir) {}, // optional - (mode:custom only) handler for 'swipe' events
drag : function(e) {}, // optional - (mode:custom only) handler for 'drag' events (Bangle.js 2 only)
btn : function(n) {}, // optional - (mode:custom only) handler for 'button' events (n==1 on Bangle.js 2, n==1/2/3 depending on button for Bangle.js 1)
clock : 0 // optional - if set the behavior of 'clock' mode is added (does not override btn if defined)
}); -
• #5
ps: may simply swap any clock face's last part with this code:
Note: In Bangle.js firmwares before 2v08, apps used the following code to explicitly show the launcher when BTN2 is pressed: setWatch(Bangle.showLauncher, BTN2, { repeat: false, edge: "falling" });.
As BJv2 dont have BTN2, this will do the trick i think. -
• #6
If you want to replace
Bangle.setUI
it's pretty easy to do so by adding it to your boot code. Tutorial here: https://www.espruino.com/Bangle.js+Modification
hi,
remember in android before v4,
the ROMs are unencrypted, and the data is protected by the screen lock.
Any direct reading from the ICs will have data leak.
I will say that's ok for a new, immature system.
currenly,
bangle v2, mostly due to cpu power, ram, storage, is also not fully encrypted,
and thus the ICs could be read.
however having a screen lock will be the best choice at the moment.
i myself playing around with "pattern launcher":
on the clock we swipe a pattern, and if correct, we'll enter the launcher,
if incorrect or not detected, nothing happens.
however,
this is not the moment i can touch the recovery thing. (3)
and (2) is safe.
i wanna deal with (1)
from here:
https://www.espruino.com/Bangle.js+Clock
the "press BTN1 go to launcher" is written into the clock (i use Anton clock +).
so i simply have to fork / modify Anton Clock +, and remove this line, then i think this will set it?
Thanks
ps would be nice to see under-screen finger print reader for bj v3 just it may be too luxury.
would be nice to use finger print with NFC for more IDENTITY thing
ref: from https://www.espruino.com/Bangle.js+Clock
Extra Clock Features⇠
We now have something that tells the time, but we need to add a few extra bits before we can make this a clock face:
BTN2 to start the launcher⇠
Every clock needs to be able to start the launcher, and the default for this is the middle button. All you need to do is add this to the end of the clock code (not in a function):
// Show launcher when middle button pressed
Bangle.setUI("clock");
Note: In Bangle.js firmwares before 2v08, apps used the following code to explicitly show the launcher when BTN2 is pressed: setWatch(Bangle.showLauncher, BTN2, { repeat: false, edge: "falling" });. Using Bangle.setUI allows users to install different apps which start the launcher (or other apps) with different functionality, independent of the clock face.
tag
#bangle.js #v2