Beast Timer 1.80 Update

This release of Beast Timer brings lots of bug fixes and the addition of new features. Notably, Beast Timer now connects to Garmin devices, and allows you to pair the app with the watch. From the watch, you can then see information about the current exercise/set. You are also able to control Beast Timer from the watch, for example by pushing a button on the watch to advance to the next set. Check out the watch app here, on the Garmin Connect IQ app store.

You are almost certainly using this app at the gym. As is such, you can now choose an image as your gym membership card and display it easily from within the app. For those gyms that require you to use their application to display the gym card, you can also launch their app directly from within Beast Timer.

Below you will see the feature additions and bug fixes, taken mostly from the source control commit logs. Note the majority of the bug fixes are not listed here because they contain technical jargon.

[Features/Additions/Changes]
* Added setting to disable long press to complete all sets in Beast Mode
* Added Garmin ConnectIQ SDK
* Added setting to enable/disable Garmin Connect IQ
* Upgraded realm.io from 0.87.4 to 4.1.1
* Added menu item to redo Connect IQ initialization in Beast Mode
* Added Show Gym Membership Card fragment/code
* Added code to choose a gym membership card image
* Updated FilePicker Library
* Added toolbar icon to display gym card, which is hidden after gym card's displayed
* Added saving/loading preferences
* Made it a preference to turn on screen on next set
* Gave notifications a background color
* Allow loading of more exercise history items while in Beast Mode
* Added option to launch another application when Show Gym Membership Card button is pushed
* Ensure that the Show Gym Card button is hidden once clicked
* Ensure the app compiles using API 28
* Show Snackbar when opening Beast Mode which allows redoing Connect IQ initialization
* Added helper app that allows one to use Samsung Galaxy's physical button to advance to the next set

[Bug Fixes]
* Fixed an issue where if all sets of an exercise were deleted, the next set added to the exercise would result in a set defaulting to active status
* Fixed an issue where if the user's screen times out while editing a set, then the set data would be incorrect upon resuming
* Make sure we advance to the next correct set if we uncompleted a set or group above the current active group
* Spotify was trapping the onKeyUp action in BeastModeActivity, so we check for onKeyUp too now
* Fixed a bug where if we turn off the screen and trigger onPause while in Beast Mode on a page of a different exercise of the active set, then upon turning on the screen again the set information of the different exercise would be put in place of the active set
* Fixed a bug where the textViewCenter below the center number picker wouldn't update correctly when a cardio exercise was selected
* Fixed bug on Galaxy Note9 where AlarmManager didn't set alarm (for playing sound when timer gets to 0) if the screen was turned off
* Improved processing of list of installed applications in Preferences when selecting an app for the gym card
* Ensure that the Show Gym Card button is hidden once clicked
* In viewing exercise history graph, save previously selected graph type and graph duration.
* Have notification icon change color based on status of the current setMore

Beast Timer 1.50 Update

One of the best things about eating your own dog food is that you get to personally find out the various ways that your app would behave in unintended ways, sometimes through sheer luck and accidental discoveries. Being a daily user of Beast Timer, this has proven to be true time and time again. I'd run across bugs that would manifest themselves only if I do a certain sequence of events in a particular order (Konami Code anyone?). Bugs that are hard to reproduce are hard to track down and fix, but I'm glad that I get this opportunity to do so simply by being an user of the product.

Along similar lines, using the app on a daily basis that you have full control over gives lots of useful ideas and insights, so I ended up adding quite a bit of little features here and there. Sometimes for convenience, sometimes for fun, but almost always results in an improvement to Beast Timer.

So with that, I have submitted an update to the Google Play Store for Beast Timer 1.50, with 10 new features/additions/changes and 11 bug fixes, with a few changes left out because the commit message in my logs were written with code method names and variables instead of something useful to the reader. See the change log below.

[Features/Additions/Changes]
* Added an option to ignore double taps when screen is dimmed in Beast Mode
* Added toast notification for notes that will display as that set is starting
* Split Preferences up into manageable categories
* Added the following sections to Preferences
- General
- Login/Registration
- Headset/Screen
- Sound
- Vibration/Animation
- Warnings
- Miscellaneous
- Advanced
- About
* Added preferences for sound delays during music ducking, both before and after
* Added setting to allow for custom number of months of data to include when adding new exercises
* Updated SDK versions to 24
* Move focus away from the first number picker when starting to edit child, so first tap on number picker's edit text would select all and bring up keyboard
* Completely revamped the way that sound effects are played to ensure more consistent performance

[Bug Fixes]
* Fixed back button being included as "Any Button" for Beast Mode headset commands
* Fixed bug where pause/resume was losing data in number pickers
* Fixed a rare bug where if the date is the 31st then relative time is displayed incorrectly
* Fixed a crash that would occur if you pause Beast Timer while end of workout animation is happening
* Fixed a similar crash that would occur if you resume Beast Timer and exit Beast Mode while animation is happening
* Fixed crash that happens if you double click the button right after starting Beast Mode
* Fixed a bug in Android 6 where the first time a sound effect is played no sound is heard
* Fixed a bug where the EditTexts of NumberPickers would resize to really wide lengths if a huge number is entered and then enter is pressed on the soft keyboard
* Fixed way that up next group name is calculated to account for skipping groups
* Fixed bug with displaying up next group
* Fixed a rarely-occurring bug where screen dimming would cause a crash if it happens right when user is exiting Beast ModeMore

1.20 Update for Beast Timer

Following the initial release for Beast Timer and a post to Reddit's r/Android, it seems like Progression is a favorite among Redditors.

In the name of market research, I downloaded it and found that it does have some very good features. The biggest three that are useful but were not present in Beast Timer are: workout summary with lots of stats, exercise images and instructions, and popular workouts.

That is no longer the case. Version 1.20 of Beast Timer now has those three features and many more improvements. One of them is the ability to advance to the next set without reaching for your phone. You can configure Beast Timer to advance to the next set through a headset command, such as "Previous Track", or "Pause". This way you can simply hit a button on your wired/bluetooth headset to start the timer, receive an optional audio and/or vibration cue when it's time for your next set, and go about your workout with one less thing to worry about.More

Beast Timer

It has been far too long since the last blog post, but I am happy to bring to you - Beast Timer.

Beast Timer is an Android app that aims to be the perfect companion to your workouts. From tracking workout logs, to providing customizable timers for your inter-set and inter-exercises rests. It tries to be as easy to use, concise, and flexible as possible, giving you a rich array of options but allowing you to use as small of a subset of them as you'd like.

Being the first release of an app on the Android platform, as well as my first real experience with Java, I have to say that it turned out quite well. Of course, this being the first release, there are bound to be bugs and all feedback are welcome.

Cheers, and happy beasting!More
    ©2009-2024 FroYoSoft