Skip to content

Conversation

@vkareh
Copy link
Contributor

@vkareh vkareh commented Jan 15, 2024

The timer app currently issues a short buzz once and then disappears. There is no trace left that the timer finished or how long ago. This change makes the motor start ringing and presents a timer counter. The motor will continue the ringing pattern for 10 seconds and the timer counter will finally reset after 60 seconds.

@github-actions
Copy link

github-actions bot commented Jan 15, 2024

Build size and comparison to main:

Section Size Difference
text 382796B 368B
data 944B 0B
bss 22632B 0B

Run in InfiniEmu

@FintasticMan FintasticMan added enhancement Enhancement to an existing app/feature UI/UX User interface/User experience labels Jan 17, 2024
@vkareh vkareh force-pushed the timer-ringing branch 2 times, most recently from 0033e6c to 9136594 Compare January 24, 2024 15:35
@vkareh vkareh force-pushed the timer-ringing branch 4 times, most recently from 6bd64b5 to ebc5b50 Compare February 19, 2024 01:11
@mark9064
Copy link
Member

Works great, huge usability improvement for the timer. Been running this for a while and it makes me a more consistent cook for sure!

I think it would be nice if the alarm and timer had different vibration patterns, but vibration needs to be overhauled anyway so this is good to go for now IMO

Copy link
Member

@mark9064 mark9064 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see why you changed this (count up after ringing), but we probably want to avoid relying on UB

@rnwgnr
Copy link

rnwgnr commented Aug 15, 2024

Tested this today while cooking and this is indeed a great usability improvement for the timer.

Until now i missed a lot of the alarms, the vibration is just too short. Great work.

@vkareh vkareh force-pushed the timer-ringing branch 2 times, most recently from 4ba3e90 to b3a6d74 Compare August 22, 2024 15:53
@vkareh vkareh force-pushed the timer-ringing branch 4 times, most recently from 9de08c1 to 6930303 Compare September 23, 2024 19:00
@vkareh vkareh force-pushed the timer-ringing branch 2 times, most recently from 4352f03 to d2e548a Compare June 4, 2025 17:18
@vkareh vkareh force-pushed the timer-ringing branch 2 times, most recently from 11fd07e to ec4838b Compare June 19, 2025 17:50
@mark9064
Copy link
Member

mark9064 commented Nov 4, 2025

It's a bit hidden so just in case I responded to the timer method semantics problem here: https://github.com/InfiniTimeOrg/InfiniTime/pull/1971/files#r2492311746

Would be super great to get this in for 1.16 which we're hoping to release in the next few days :)

@JF002
Copy link
Collaborator

JF002 commented Nov 9, 2025

I've just tested this PR and it looks very good, thanks @vkareh !
One thing I noticed : when the timer reaches 00:00, it looks like it stays on that value for 2 seconds before showing 00:01. It's not a big deal, but I think it makes the "elapsed for xx seconds" value off by one second.

See this video : https://github.com/user-attachments/assets/2d6ba5c3-43c0-42fa-92e8-1779267c42b2

@mark9064
Copy link
Member

mark9064 commented Nov 9, 2025

I think this is the correct behaviour since the time always rounds to zero.

actual | shown
 5.00 | 5
 4.99 | 4
 4.00 | 4
...
 1.00 | 1
 0.99 | 0
 0.00 | 0
-0.99 | 0
-1.00 | 1
-1.99 | 1
-2.00 | 2

so you should expect it to show 0 for 2 seconds (from time +1 to -1)

@JF002
Copy link
Collaborator

JF002 commented Nov 9, 2025

@mark9064 Good point, that makes sense! 👍

@mark9064
Copy link
Member

mark9064 commented Nov 9, 2025

@vkareh #2365 is in :) let me know if it all works ok when you get around to rebasing on to it

@DavisNT
Copy link
Contributor

DavisNT commented Nov 10, 2025

Could it be possible to add an option to ring indefinitely (in many cases people will not notice the 10 seconds ringing, especially if the timer is used during physical activity/sports)?

@mark9064
Copy link
Member

mark9064 commented Nov 10, 2025

I totally get where you're coming from but I think it'd be best to choose one sensible default here. At least how I've been using the timer 10s ringing has felt good to me, even if I'm moving about I definitely notice it before it stops. I'm not sure if you've had the chance to try this PR yet, but if not maybe give it a go and see how you find 10s? Maybe it's more noticeable than you'd think :)

@vkareh
Copy link
Contributor Author

vkareh commented Nov 12, 2025

@mark9064 - just rebased. Had to fix some conflicts, but it all led to basically dropping the last commit, as it became a no-op 🎉

vkareh and others added 2 commits November 14, 2025 08:41
The timer app issues a short buzz once and then disappears. There is no
trace left that the timer finished or how long ago. This change makes
the motor start ringing and presents a timer counter.

The timer stops buzzing after 10 seconds, and finally resets after
1 minute.
This prevents the motorController from buzzing infinitely while the
watch is sleeping.
Copy link
Member

@mark9064 mark9064 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd really like to see this use the expired field of the timer rather than tracking that state externally. I've pointed out a few consequences of doing that but there's definitely more changes that would follow

However I don't think this is a release blocker, it could be refactored later

@vkareh
Copy link
Contributor Author

vkareh commented Nov 18, 2025

@mark9064

I'd really like to see this use the expired field of the timer rather than tracking that state externally. I've pointed out a few consequences of doing that but there's definitely more changes that would follow

These are really good suggestions. I've implemented them and it made the code a lot cleaner. Thanks!

@vkareh vkareh requested a review from mark9064 November 18, 2025 15:54
Consolidate timer ringing logic and use Timer component as single source
of truth for expired state.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement Enhancement to an existing app/feature UI/UX User interface/User experience

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants