Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bangle_showClock: Set Bangle.CLOCK=1 #2534

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

thyttan
Copy link
Contributor

@thyttan thyttan commented Jul 29, 2024

Background:
When moving from an app where e.g. widanclk (analog clock widget) is
in use to the clock with a Bangle.showClock call the widget will not
hide immediately.

The fix:
Makes it so widgets that should hide on clock are hidden immediately
when fast loading the clock, at the same time as the red back button
widget.

Background:
  When moving from an app where e.g. `widanclk` (analog clock widget) is
  in use to the clock with a Bangle.showClock call the widget will not
  hide immediately.

The fix:
  Makes it so widgets that should hide on clock are hidden immediately
  when fast loading the clock, at the same time as the red back button
  widget.
@gfwilliams
Copy link
Member

By 'not hide immediately' do you mean there's a glitch/flicker as the clock loads, or that it takes multiple seconds/minutes?

Because I'd have thought that when you load a clock, the clock itself should call Bangle.setUI( which will set CLOCK=1, and then it will call Bangle.load/drawWidgets after which should redraw. So if that's not happening it would be better to find out why as it might be some other issue.

Also, I'd have thought Bangle.load should delete Bangle.CLOCK anyway really - because if you're loading something that's not a clock then you don't want that to stay set

@thyttan
Copy link
Contributor Author

thyttan commented Jul 31, 2024

By 'not hide immediately' do you mean there's a glitch/flicker as the clock loads, or that it takes multiple seconds/minutes?

It stays on for some tenth of a second longer than the red back button.

Because I'd have thought that when you load a clock, the clock itself should call Bangle.setUI( which will set CLOCK=1, and then it will call Bangle.load/drawWidgets after which should redraw. So if that's not happening it would be better to find out why as it might be some other issue.

Yes, that's not the issue. It just seems there is some time before everything is ready to redraw - at least on edgeclk. EDIT: The issue as I see it now is that the red back button hides before edgeclk draws.

Also, I'd have thought Bangle.load should delete Bangle.CLOCK anyway really - because if you're loading something that's not a clock then you don't want that to stay set

I don't know how this work currently.

Videos to illustrate

Current behavior:

2024-07-31-10-39-31-489.3.mp4

With Bangle.CLOCK=1 added to showClock (disregard the drawing bug on large sections of edgeclk):

2024-07-31-10-35-10-188.3.mp4

@thyttan
Copy link
Contributor Author

thyttan commented Jul 31, 2024

Thinking some more, maybe instead the red back button should stay around until the dtlaunch screen is cleared and edgeclk is drawn. That would also mitigate the widgets hiding at different times I think. I get unsure of what the best approach is.

@thyttan thyttan marked this pull request as draft July 31, 2024 12:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants