Commit graph

227 commits

Author SHA1 Message Date
bunnie
cd8c762c55 patch up QR code PR, change method signature as discussed
now any modal notification can also render as a QR code
2022-04-08 15:19:56 +08:00
nworbnhoj
2a957e55cd add as_qrcode to Notification modal 2022-04-08 14:16:15 +10:00
bunnie
b936414d11 emit a warning if apps don't recognize focus changes, instead of a panic 2022-04-03 17:49:12 +08:00
bunnie
d026102d41 Limit scope of Foreground/Background messages to just app changes
Don't send FocusState::Foreground / FocusState::Background messages
to Layouts that are non-App type. This allows this to be used more
reliably as a signal of if the background is the running app or not,
rather than if it is merely the drawable canvas.
2022-04-01 22:54:33 +08:00
bunnie
fa10cfc040 minor typo fix 2022-03-31 02:38:08 +08:00
bunnie
b32cde6870 mute a debug message 2022-03-29 04:54:57 +08:00
bunnie
1130bda4a8 add a UX delay to help ensure redraw order when switching apps 2022-03-28 15:25:08 +08:00
bunnie
83da511dc5 fix double redraw issue on menu close 2022-03-28 14:38:26 +08:00
bunnie
b246a369d4 lay in another layer of tts functionality
now shellchat can talk, and password entries are a thing.

next up: debug oom issues in STT when we start doing really big
strings.
2022-03-11 02:37:48 +08:00
bunnie
e8b13fcb44 integrate TTS into more dialog boxes and modals
also tighten up the `blocking` method for TTS for prompts that
absolutely should not be truncated or overriden.
2022-03-10 23:40:35 +08:00
bunnie
ac059eae48 retrofit more tts in various corner cases 2022-03-10 18:05:33 +08:00
bunnie
21ad8d9283 change en-audio to en-tts 2022-03-10 15:38:55 +08:00
bunnie
71d9cc38af fix (or at least improve) simultaneous tts initiation crash 2022-03-10 04:00:09 +08:00
bunnie
446317bdd4 add speech rate library call and default setting
350 wpm was the requested default!
2022-03-09 03:48:12 +08:00
bunnie
3dae62a20d always redraw the full extent of secure modals 2022-02-05 23:20:41 +08:00
bunnie
57783e076c refactor canvas draw states to use interior mutability
Makes the code a lot easier to debug, so I could fix some
subtle issues.
2022-02-05 23:01:16 +08:00
bunnie
5ef0d9f159 narrow up the time for pddb to request password box
now that excess redraws on boot have been ferretted out
2022-02-05 19:00:34 +08:00
bunnie
fd5c6568d1 trim out some excess redraw calls that are slowing down boot 2022-02-05 18:55:46 +08:00
bunnie
3b6a696fc4 minor fixes, push for CI check 2022-02-05 02:40:41 +08:00
bunnie
b4a34bd9ec add busy-wait queuing for alerts in case multiple alerts pop up
this case happens when e.g. you're asking for a password but
then the connection manager throws an error.
2022-02-05 02:03:56 +08:00
bunnie
08421999ad part-way through a refactor of trust levels to prevent alerts from popping over password boxes 2022-02-04 23:59:20 +08:00
bunnie
c07101f41c drop fat-fingered inputs after menu or dialog box close 2022-02-04 17:11:24 +08:00
bunnie
30910dbd4f add keyboard layout setting and retention
Keyboard setting is "the one and only" exception to user settings
that are saved without encryption. This is because you need your
keyboard layout to be set in order for you to type your password.
Thus, this needed a bit of a special-case to handle its storage record.

We decided to lop off 1 page from the loader and have it store
the keyboard layout code.

Let's hope we can have the discipline to really just store that
one word of information and not later be like "gee wally, you have
a whoooole 4092 unused bytes of space we can cram unencrypted
user settings in, sure would be a waste to not put those use those".
2022-02-03 02:46:37 +08:00
bunnie
05df4486ee incremental changes toward a manifest-format app system 2022-02-02 03:57:00 +08:00
bunnie
5c91645ede Merge branch 'i18n-jp' into bunnie-dev 2022-02-01 01:04:43 +08:00
bunnie
827888ccbb fix up the REFCOUNT on connections
Was doing disjoint loads and stores on an Atomic, really, should
be using the fetch_add, fetch_sub variants to be proper.

Didn't seem to impact anything but maybe there's a future version
of me that high fives me for doing this.
2022-01-31 23:13:10 +08:00
Jeanie
58e8120526 ja translations added 2022-01-30 19:23:49 +09:00
bunnie
dc2877457e add menu wrap-around
makes nav a bit faster on deep menus
2022-01-25 15:12:33 +08:00
bunnie
65bd1d416a improve the iconography of the status bar 2022-01-25 15:02:25 +08:00
bunnie
b5faa1eb55 minor tweaks to the repl demo 2022-01-25 02:31:54 +08:00
bunnie
617fc3b8f6 bug fixes in the REPL demo 2022-01-25 01:57:16 +08:00
bunnie
02b2e4a6e7 deprecate request_focus api and make initial focus setting within the GAM
request_focus is "dangerous" because any random server could
request a UX context to pop up. There is a checked version
that requires a GAM token that should be used, but, this leaves
the question of how does the initial app that's supposed to be
focused gets set.

A small mod to the UxRegistration call is made to check for
the name of the default focus app, and when it is seen, a thread
is fired off to request focus for that app. That allows us
to deprecate this otherwise dangerous call.
2022-01-25 00:55:14 +08:00
bunnie
583c2e172b add a demo REPL app to help users get started with something more interactive 2022-01-24 19:06:58 +08:00
bunnie
7193f7003e some tweaks to improve the UX rendering quality 2022-01-24 17:07:45 +08:00
bunnie
8e13d6bcdf add drawlists to the GAM and gfx abstractions
this helps to prevent race conditions and improves performance
2022-01-24 16:33:01 +08:00
bunnie
6089672960 add localization to the demo app 2022-01-24 04:42:35 +08:00
bunnie
35fd307dbf major refactoring around how initializations are done for canvases
trust levels now default to a mid-level, with the password
modals explicitly tested for by the Context logic (the idea
being to deny any untrusted canvases the ability to render
inverted text).

ball bounce app also basically works, and context
switching between the bounce app and the main menu
is working too.
2022-01-24 01:58:48 +08:00
bunnie
0fadaf3546 trust level is stored on a per-canvas basis, removing duplicate record 2022-01-23 18:34:17 +08:00
bunnie
7addcf5f72 update a comment 2022-01-23 18:26:34 +08:00
bunnie
0a885671ba refactor contexts into a separate file, improves manageability of GAM 2022-01-23 18:19:07 +08:00
bunnie
a0c4304d29 add focus/defocus messages to the GAM
this allows animation-heavy apps to be backgrounded and not
continue to run their animation while backgrounded.
2022-01-23 17:12:14 +08:00
bunnie
d2a054ec33 laying in some framework for user applications
The first "app" is just going to be a whole-framebuffer
demo that gets raw keys and does some stuff on the screen.
It's the starting point if you wanted to eg. write a simple
video game or something for the device, but you didn't care
about much of the other UX sugar.
2022-01-23 15:52:17 +08:00
bunnie
6653d42114 cleanup UX context registry
it's now a much smaller nightmare to maintain the registry, as all
the items are concentrated into a single location
2022-01-23 14:31:21 +08:00
bunnie
2b46f21ae8 remove dependency on blitstr v1 entirely 2022-01-23 04:08:32 +08:00
bunnie
0cafd10e28 refactor status bar to take advantage of the new fonts 2022-01-22 18:25:39 +08:00
bunnie
747891eaad clean up some minor details on UX formatting 2022-01-22 01:51:02 +08:00
bunnie
001b07ac74 clean up password modal box 2022-01-22 01:41:55 +08:00
bunnie
2642e6c075 various UX fixes that take advantage of the new font rendering engine 2022-01-22 00:10:31 +08:00
bunnie
7277b7bc1d start to refactor out the old blitstr v1 apis 2022-01-21 15:01:56 +08:00
bunnie
3c87091565 cleanup the policy token straggler 2022-01-17 04:36:40 +08:00