V 3.0
- Configurable period length (any number of days or months).
- New tweak: advanced secondary bars
- Improved settings screen
IMPORTANT! This new update has a newer period management, which needs
the starting day and the period length. After updating, the previous
configuration will be automatically migrated to the new version, but you
may want to check it just in case.
Edit: a new beta was released that fixes the 'invalid first update after period changes' bug.
At last! It wasn't easy, but not as hard as I expected at first. This new version allow you to choose any arbitrary period length! Now you can choose a daily period, a 21 days period, 28 days, or even 12 months period if you want (any positive days or months). In fact internally it can have any time, even hours or years, however for simplicity the user interface only allows days or month.
This new version uses a different approach: previously you only needed to specify the day of the change (for 1 month periods) and calculating the current percentage of the current period was almost instant, with just a saved parameter (the last month) to know when the period was changed.
Now that you can specify an arbitrary length the app uses a different approach: it has a configurable 'start of the period' date that uses to know the percentage of the current period. But it also allows to know when the period changes, and does the update.
I've tried myself this new version for a few days and it seem to work fine, however I need real users to test under real conditions, so I hope at least someone in the beta is able to try it.
As the notice in the changelog implies, this new method uses new configuration, and although there is special code to migrate it, it may fail in some cases so better check that it worked. This is also the reason why the version was increased to 3.0.
There are other minor modifications, like some internal cleanup, but also a new tweak (that may be the default in future versions) to show a better secondary progress bar indicator when you have accumulated data. Specifically (sp is the saved periods parameter):
[1,oo) = more than the current usage -> show full, unchanged
[0,1) = normal usage -> don't show, unchanged
[-sp+1,0) = saved data -> % in this range, previously was rounded to 100%
[-sp,-sp+1) = will be lost -> % in this range, unchanged
(-oo,-sp) = more than one period will be lost -> show nothing, previously was rounded to 100%