add sleep event (select start and stop date/time, display duration)
add height event
add statistics
-adds mpandroidchart dependency
-bar chart to show amount of bottle milk and event count
-bar chart for sleep amount and event count
-add fancy sleep frequency bar charts
-all charts are available for per day, week, month
allow change of event time and quantity/notes after the event has been created
add pre/next icons for medicine/note event to use other events as template
use previous used quantity for bottle/weight/temperature for new events
rename scale to weight - makes more sense when looking at other measurement events (temperature)
add setting "dynamic header", this populates the header and popup menu with the most popular events of the last 100 events. The count of header menu rows is also adjusted automatically.
increase maximum bottle volume to 340ml (maximum seen in the wild)
Bugfix:
do not change selected logbook on reload
Miscellaneous:
remove puke event value +/- 1 workaround with proper fix
in event details, change button text "OK" to "Close"
show an extra save button when a value has been changed
remove "no breastfeeding" settings, it is superseeded by "dynamic header" setting
rename "Breastfeeding" to "Nursing". The word is shorter and now does not stand out in the rows of menu.
use uniform implementation directive for sardine-android
All changes are backwards compatible.
Features:
- add sleep event (select start and stop date/time, display duration)
- add height event
- ~~add statistics~~
-~~adds mpandroidchart dependency~~
-~~bar chart to show amount of bottle milk and event count~~
-~~bar chart for sleep amount and event count~~
-~~add fancy sleep frequency bar charts~~
-~~all charts are available for per day, week, month~~
- allow change of event time and quantity/notes after the event has been created
- add pre/next icons for medicine/note event to use other events as template
- allows quicker creation of repeating events
- add quantity for poo / pee events (`<empty>`, "little", "normal", "plenty")
- use previous used quantity for bottle/weight/temperature for new events
- rename scale to weight - makes more sense when looking at other measurement events (temperature)
- add setting "dynamic header", this populates the header and popup menu with the most popular events of the last 100 events. The count of header menu rows is also adjusted automatically.
- increase maximum bottle volume to 340ml (maximum seen in the wild)
Bugfix:
- do not change selected logbook on reload
Miscellaneous:
- remove puke event value +/- 1 workaround with proper fix
- in event details, change button text "OK" to "Close"
- show an extra save button when a value has been changed
- remove "no breastfeeding" settings, it is superseeded by "dynamic header" setting
- rename "Breastfeeding" to "Nursing". The word is shorter and now does not stand out in the rows of menu.
Gradle:
- increase SDK version to 36
- remove funny binary signing blobs (https://android.izzysoft.de/articles/named/iod-scan-apkchecks?lang=en#blobs)
- use uniform implementation directive for sardine-android
All changes are backwards compatible.
mwarning
marked the pull request as work in progress 2025-11-06 22:45:51 +01:00
Hello Moritz,
I started reviewing your pull request without noticing it was WIP.
I have some bug reports, but please ignore the ones you are currently working on (I may have tested incomplete features).
Statistics: Crash selecting Statistics -> Bottle per day:
FATAL EXCEPTION: main
Process: it.danieleverducci.lunatracker, PID: 13848
java.lang.AssertionError: Assertion failed
at it.danieleverducci.lunatracker.StatisticsActivity.showBottleBarGraph(StatisticsActivity.kt:670)
at it.danieleverducci.lunatracker.StatisticsActivity.showGraph$lambda$18(StatisticsActivity.kt:808)
at it.danieleverducci.lunatracker.StatisticsActivity.$r8$lambda$eWcmoYqzneOEx0hFEqGeXiyLpgI(Unknown Source:0)
at it.danieleverducci.lunatracker.StatisticsActivity$$ExternalSyntheticLambda2.invoke(D8$$SyntheticClass:0)
at it.danieleverducci.lunatracker.StatisticsActivity.prepareGraph(StatisticsActivity.kt:800)
at it.danieleverducci.lunatracker.StatisticsActivity.showGraph(StatisticsActivity.kt:808)
at it.danieleverducci.lunatracker.StatisticsActivity$onCreate$1.call(StatisticsActivity.kt:101)
at it.danieleverducci.lunatracker.StatisticsActivity$setupSpinner$1.onItemSelected(StatisticsActivity.kt:847)
at android.widget.AdapterView.fireOnSelected(AdapterView.java:957)
at android.widget.AdapterView.dispatchOnItemSelected(AdapterView.java:946)
at android.widget.AdapterView.-$$Nest$mdispatchOnItemSelected(Unknown Source:0)
at android.widget.AdapterView$SelectionNotifier.run(AdapterView.java:910)
at android.os.Handler.handleCallback(Handler.java:991)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loopOnce(Looper.java:232)
at android.os.Looper.loop(Looper.java:317)
at android.app.ActivityThread.main(ActivityThread.java:8934)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:591)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:911)
Statistics: empty screen for medicine statistics
On a logbook with a lot of medicine events (I can provide this one to you, if you need it to troubleshoot), I obtain a blank statistic screen: see screenshots:
Events: I'm not sure how the sleep event works: I see I can set a duration with the +5 button, but when I save, it says invalid date. I also tought it may measure between sleep events (i.e. create one sleep event to mark te start of the sleep and another one to mark the end), but in that case it doesn't seem to calculate the duration between the two events in the statistics.
Maybe the interface can be made more clear on how to use it.
As a side note, I'm a little worried the MPAndroidChart library is not currently mantained: the last release is from 2019, I hope it will not break due to one of the destructive changes Google likes to do to Android from release to release...
One last thing: may I suggest to split the features between more self-contained pull requests in the future? I.e. in the current case, the statistics feature could have been on another pull request, so I could have merged the other changes while the statistics feature is being worked on.
No need to change this one, it's just a suggestion for the future ones, if any.
As always, thanks very much for your contribution, Moritz!
Have a nice day.
Hello Moritz,
I started reviewing your pull request without noticing it was WIP.
I have some bug reports, but please ignore the ones you are currently working on (I may have tested incomplete features).
**Statistics: Crash selecting Statistics -> Bottle per day:**
```
FATAL EXCEPTION: main
Process: it.danieleverducci.lunatracker, PID: 13848
java.lang.AssertionError: Assertion failed
at it.danieleverducci.lunatracker.StatisticsActivity.showBottleBarGraph(StatisticsActivity.kt:670)
at it.danieleverducci.lunatracker.StatisticsActivity.showGraph$lambda$18(StatisticsActivity.kt:808)
at it.danieleverducci.lunatracker.StatisticsActivity.$r8$lambda$eWcmoYqzneOEx0hFEqGeXiyLpgI(Unknown Source:0)
at it.danieleverducci.lunatracker.StatisticsActivity$$ExternalSyntheticLambda2.invoke(D8$$SyntheticClass:0)
at it.danieleverducci.lunatracker.StatisticsActivity.prepareGraph(StatisticsActivity.kt:800)
at it.danieleverducci.lunatracker.StatisticsActivity.showGraph(StatisticsActivity.kt:808)
at it.danieleverducci.lunatracker.StatisticsActivity$onCreate$1.call(StatisticsActivity.kt:101)
at it.danieleverducci.lunatracker.StatisticsActivity$setupSpinner$1.onItemSelected(StatisticsActivity.kt:847)
at android.widget.AdapterView.fireOnSelected(AdapterView.java:957)
at android.widget.AdapterView.dispatchOnItemSelected(AdapterView.java:946)
at android.widget.AdapterView.-$$Nest$mdispatchOnItemSelected(Unknown Source:0)
at android.widget.AdapterView$SelectionNotifier.run(AdapterView.java:910)
at android.os.Handler.handleCallback(Handler.java:991)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loopOnce(Looper.java:232)
at android.os.Looper.loop(Looper.java:317)
at android.app.ActivityThread.main(ActivityThread.java:8934)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:591)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:911)
```
**Statistics: empty screen for medicine statistics**
On a logbook with a lot of medicine events (I can provide this one to you, if you need it to troubleshoot), I obtain a blank statistic screen: see screenshots:
- https://ichibi.eu/index.php/s/Zos4G9AWmwiZnSo
- https://ichibi.eu/index.php/s/oN3kppky4WpWnDp
Events: I'm not sure how the sleep event works: I see I can set a duration with the +5 button, but when I save, it says invalid date. I also tought it may measure between sleep events (i.e. create one sleep event to mark te start of the sleep and another one to mark the end), but in that case it doesn't seem to calculate the duration between the two events in the statistics.
Maybe the interface can be made more clear on how to use it.
As a side note, I'm a little worried the MPAndroidChart library is not currently mantained: the last release is from 2019, I hope it will not break due to one of the destructive changes Google likes to do to Android from release to release...
One last thing: may I suggest to split the features between more self-contained pull requests in the future? I.e. in the current case, the statistics feature could have been on another pull request, so I could have merged the other changes while the statistics feature is being worked on.
No need to change this one, it's just a suggestion for the future ones, if any.
As always, thanks very much for your contribution, Moritz!
Have a nice day.
Hi @penguin86 , thank you for your constructive feedback. This MR is indeed work in progress and I am working on fixing the crashes (correct calender operations are difficult to get right and are the source of the crash you have seen).
Sleep Event: Yeah, it is a bit confusing. If you create a sleep event, then the "-5 / NOW / +5" buttons should not be visible. Those buttons are for setting and adjusting the wake up time after the event has been created and the baby woke up. I will improve it.
MPAndroidChart: it was what I have found every time I was looking for a Android chart library. The maintainance status is of a concern to me as well. The only thing I can do at this point is to make it easy to remove the statistics feature once the library becomes a liability.
Separated commits: I will try to improve it a bit while working on this MR. But it is a pain to do. :P
Medicine Events: That part I haven't had time to polish at all yet. Work in progress.
Hi @penguin86 , thank you for your constructive feedback. This MR is indeed work in progress and I am working on fixing the crashes (correct calender operations are difficult to get right and are the source of the crash you have seen).
**Sleep Event:** Yeah, it is a bit confusing. If you create a sleep event, then the "-5 / NOW / +5" buttons should not be visible. Those buttons are for setting and adjusting the wake up time after the event has been created and the baby woke up. I will improve it.
**MPAndroidChart**: it was what I have found every time I was looking for a Android chart library. The maintainance status is of a concern to me as well. The only thing I can do at this point is to make it easy to remove the statistics feature once the library becomes a liability.
**Separated commits**: I will try to improve it a bit while working on this MR. But it is a pain to do. :P
**Medicine Events**: That part I haven't had time to polish at all yet. Work in progress.
Here is a commit to remove the statistics completely in case MPAndroidChart becomes a liability due to missing maintainance: a8305b8fc9
hi @penguin86, I think this MR is ready.
- reworked sleep event
- remove medicine statistics
Here is a commit to remove the statistics completely in case MPAndroidChart becomes a liability due to missing maintainance: https://git.ichibi.eu/mwarning/luna-tracker/commit/a8305b8fc994b7f65e67525fa1530640e59a77a8
@penguin86 feel free to test and merge even without statistics (cherry-pick a8305b8fc9 to remove it).
I also just reaad in the readme that you want to bump sdk version yourself. No problem, just remove the commit after merging locally.
@penguin86 feel free to test and merge even without statistics (cherry-pick https://git.ichibi.eu/mwarning/luna-tracker/commit/a8305b8fc994b7f65e67525fa1530640e59a77a8 to remove it).
I also just reaad in the readme that you want to bump sdk version yourself. No problem, just remove the commit after merging locally.
It would be nice to have both short term statistics (like in #23) and long term statistics in the app. Maybe the long term statistics can be accessed via a button in the short term statistics.
It would be nice to have both short term statistics (like in #23) and long term statistics in the app. Maybe the long term statistics can be accessed via a button in the short term statistics.
@penguin86 anything I can do to get this merged? Maybe there are too many changes in this MR. In this case we can have a call and go through the code and you can tell me what I need to throw out.
@penguin86 anything I can do to get this merged? Maybe there are too many changes in this MR. In this case we can have a call and go through the code and you can tell me what I need to throw out.
1. Allow to change the date/time and
other relevant values of an event
on creation and after it was created.
2. Harmonize layout file names and
variable names.
An unspecified amount has also been added
to have the same semantics as before.
During these actions, the strings for title
and description of dialogs have been cleaned up.
This helps to have compile errors when some
case it not handled while adding a new type.
The enum class can also be interated over
to create a complete drop down list.
The setting allows to build the menu and
popup list to be populated by the frequency
of events that has been created.
This also makes the 'no breastfeeding'
setting irrelevant.
The three dot menu icosn looks odd when stretched
due to the dynamic menu feature. Thus replace it
with the hamburger menu character that looks better
when scaled.
Hello Moritz,
sorry for the very late reply. This PR is huge, so I find difficult to find time to review it toroughly in a single session. I'll try to review some commit a time until I get on par, and I'll skip testing every case that comes to my mind while reviewing every commit. I'll write below the concerns, so maybe you can check and I'll do a single final global check.
I suggest, for the next time, doing one PR for feature, so it is easier to review and I can merge it in less time.
Here's the first observation: in commit 358452a179MainActivity: do not switch logbook on reload I fear if a new logbook is added (maybe from another device running the same app) and one is already selected, the new one will not be discovered. That was the whole point of having a refresh button (because the selected logbook is already refreshed automatically). Can you check if that's the case?
Thank you! I'll continue to review and write from time to time.
Hello Moritz,
sorry for the very late reply. This PR is huge, so I find difficult to find time to review it toroughly in a single session. I'll try to review some commit a time until I get on par, and I'll skip testing every case that comes to my mind while reviewing every commit. I'll write below the concerns, so maybe you can check and I'll do a single final global check.
I suggest, for the next time, doing one PR for feature, so it is easier to review and I can merge it in less time.
Here's the first observation: in commit [358452a179](https://git.ichibi.eu/penguin86/luna-tracker/pulls/19/commits/358452a179ca7f7dc3b102d356046333a9389042) [MainActivity: do not switch logbook on reload](https://git.ichibi.eu/penguin86/luna-tracker/commit/358452a179ca7f7dc3b102d356046333a9389042) I fear if a new logbook is added (maybe from another device running the same app) and one is already selected, the new one will not be discovered. That was the whole point of having a refresh button (because the selected logbook is already refreshed automatically). Can you check if that's the case?
Thank you! I'll continue to review and write from time to time.
The sleep event with duration in d9feb05988LunaEvent: rework sleep event is very cool, but also not intuitive. The user doesn't expect to have to click on the same icon of the event to set the end time. I'd change the clickable Zzz icon into something more evocative (maybe a clock icon or something) and add a caption below it "Set end time" or "Set duration".
The sleep event with duration in [d9feb05988](https://git.ichibi.eu/penguin86/luna-tracker/pulls/19/commits/d9feb05988b3a1b491cc64c36ae1ad81faec4719) [LunaEvent: rework sleep event](https://git.ichibi.eu/penguin86/luna-tracker/commit/d9feb05988b3a1b491cc64c36ae1ad81faec4719) is very cool, but also not intuitive. The user doesn't expect to have to click on the same icon of the event to set the end time. I'd change the clickable Zzz icon into something more evocative (maybe a clock icon or something) and add a caption below it "Set end time" or "Set duration".
e04e05f752MainActivity: generate dynamic menu from last two weeks is definitely cool and makes the app faster to use, but I'd make clear the user need to have two weeks of data to use it, otherwise it's a little confusing. When I activated it on my test app with synthetic data, only the overflow menu icon was displayed.
Adding something like "You need at least two weeks of data for this to work" to the already present explanation text under the switch in settings should be enough!
[e04e05f752](https://git.ichibi.eu/penguin86/luna-tracker/pulls/19/commits/e04e05f752e017aff06f12b96a42a86d6a740341) [MainActivity: generate dynamic menu from last two weeks](https://git.ichibi.eu/penguin86/luna-tracker/commit/e04e05f752e017aff06f12b96a42a86d6a740341) is definitely cool and makes the app faster to use, but I'd make clear the user need to have two weeks of data to use it, otherwise it's a little confusing. When I activated it on my test app with synthetic data, only the overflow menu icon was displayed.
Adding something like "You need at least two weeks of data for this to work" to the already present explanation text under the switch in settings should be enough!
Hey Moritz,
I reached the last commit, it seems ok to me, so if you wish to make the changes above, I think this can be merged.
Thanks a lot for the new features, they are very cool!
I took note of some changes to make (i.e. atm it's not very clear what can be clicked in the event detail, I'd set the button background on the next/prev texts and maybe a pen icon on the changeable fields), but I'll make them on my own after this PR is merged.
Thank you a lot for you contribution and your patience!
Have a nice day!
Hey Moritz,
I reached the last commit, it seems ok to me, so if you wish to make the changes above, I think this can be merged.
Thanks a lot for the new features, they are very cool!
I took note of some changes to make (i.e. atm it's not very clear what can be clicked in the event detail, I'd set the button background on the next/prev texts and maybe a pen icon on the changeable fields), but I'll make them on my own after this PR is merged.
Thank you a lot for you contribution and your patience!
Have a nice day!
@penguin86 thank you for your time. I will take a look next week.
Sorry for not splitting it up more. As it happens, commits build up on each other and that makes them dependent..
@penguin86 thank you for your time. I will take a look next week.
Sorry for not splitting it up more. As it happens, commits build up on each other and that makes them dependent..
This targets the dynamic menu setting when only very
few events are available. Before the header stayed empty
when the first events very added, now the header is updated
immediately.
e04e05f752MainActivity: generate dynamic menu from last two weeks is definitely cool and makes the app faster to use, but I'd make clear the user need to have two weeks of data to use it, otherwise it's a little confusing. When I activated it on my test app with synthetic data, only the overflow menu icon was displayed.
Adding something like "You need at least two weeks of data for this to work" to the already present explanation text under the switch in settings should be enough!
Yeah, the empty menu at the beginning is not a great experience if there are no events. But you do not need two weeks worth of events. One event is enough. I improved it a bit to make the header update immediate. Is this OK or should be improve the help text in the settings (the help text says this currently: "Populate the header menu with the most used events.") ?
I finally had a little time.
> [e04e05f752](https://git.ichibi.eu/penguin86/luna-tracker/pulls/19/commits/e04e05f752e017aff06f12b96a42a86d6a740341) [MainActivity: generate dynamic menu from last two weeks](https://git.ichibi.eu/penguin86/luna-tracker/commit/e04e05f752e017aff06f12b96a42a86d6a740341) is definitely cool and makes the app faster to use, but I'd make clear the user need to have two weeks of data to use it, otherwise it's a little confusing. When I activated it on my test app with synthetic data, only the overflow menu icon was displayed.
> Adding something like "You need at least two weeks of data for this to work" to the already present explanation text under the switch in settings should be enough!
Yeah, the empty menu at the beginning is not a great experience if there are no events. But you do not need two weeks worth of events. One event is enough. I improved it a bit to make the header update immediate. Is this OK or should be improve the help text in the settings (the help text says this currently: "Populate the header menu with the most used events.") ?
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Features:
add statistics-
adds mpandroidchart dependency-
bar chart to show amount of bottle milk and event count-
bar chart for sleep amount and event count-
add fancy sleep frequency bar charts-
all charts are available for per day, week, month<empty>, "little", "normal", "plenty")Bugfix:
Miscellaneous:
Gradle:
All changes are backwards compatible.
5be2917839tocbba6b7a90cbba6b7a90to53bab2d22c53bab2d22cto4e9eeff6aa[WIP] add time to ask bottle content dialogto [WIP] Use edit button for all events4e9eeff6aatoaaccef54a5aaccef54a5tob719903a73b719903a73to5ffeff445f[WIP] Use edit button for all eventsto [WIP] Allow editing of all events5ffeff445ftoc52a74c7e3Allow editing of all eventsto events: allow editing of all valuesc52a74c7e3tof8bd760f7af8bd760f7atod8978a9b8cd8978a9b8cto83294401dc83294401dctoa941fc4fcea941fc4fceto4c5ac593554c5ac59355to17e1d2c6ea@penguin86 ready for review :)
17e1d2c6eatof7969541aef7969541aeto4492b36b234492b36b23to563e431c1devents: allow editing of all valuesto Feature collection6b1a82d7d0to99c7e5f94d99c7e5f94dto3ae71c36a7The only thing missing now is a statistics activity. But that is for another time.
3ae71c36a7to88e9cb7deb88e9cb7debtod34aa8e950Looks good now.
d34aa8e950toe756a2a3fce756a2a3fctoed10dca216ed10dca216tofc3b67638dd4df3cfc18to9cce54c05e9cce54c05eto11a4f12fbe11a4f12fbeto19774016e119774016e1tof8f5d68bb6Ok, I think it is done.
@penguin86 feel free to pick all changes you like :)
20d7612b46to479335f1c9479335f1c9toe9b41b4e06e9b41b4e06to3e64da2e2eWIP: the statistics feature does not compile yet. It is being overhault.
3e64da2e2eto341d2c5229341d2c5229to58088aeec758088aeec7to8e4a5b89c08e4a5b89c0to4f0416e1c14f0416e1c1to6f69b581e46f69b581e4toe820c11e68Hello Moritz,
I started reviewing your pull request without noticing it was WIP.
I have some bug reports, but please ignore the ones you are currently working on (I may have tested incomplete features).
Statistics: Crash selecting Statistics -> Bottle per day:
Statistics: empty screen for medicine statistics
On a logbook with a lot of medicine events (I can provide this one to you, if you need it to troubleshoot), I obtain a blank statistic screen: see screenshots:
Events: I'm not sure how the sleep event works: I see I can set a duration with the +5 button, but when I save, it says invalid date. I also tought it may measure between sleep events (i.e. create one sleep event to mark te start of the sleep and another one to mark the end), but in that case it doesn't seem to calculate the duration between the two events in the statistics.
Maybe the interface can be made more clear on how to use it.
As a side note, I'm a little worried the MPAndroidChart library is not currently mantained: the last release is from 2019, I hope it will not break due to one of the destructive changes Google likes to do to Android from release to release...
One last thing: may I suggest to split the features between more self-contained pull requests in the future? I.e. in the current case, the statistics feature could have been on another pull request, so I could have merged the other changes while the statistics feature is being worked on.
No need to change this one, it's just a suggestion for the future ones, if any.
As always, thanks very much for your contribution, Moritz!
Have a nice day.
Hi @penguin86 , thank you for your constructive feedback. This MR is indeed work in progress and I am working on fixing the crashes (correct calender operations are difficult to get right and are the source of the crash you have seen).
Sleep Event: Yeah, it is a bit confusing. If you create a sleep event, then the "-5 / NOW / +5" buttons should not be visible. Those buttons are for setting and adjusting the wake up time after the event has been created and the baby woke up. I will improve it.
MPAndroidChart: it was what I have found every time I was looking for a Android chart library. The maintainance status is of a concern to me as well. The only thing I can do at this point is to make it easy to remove the statistics feature once the library becomes a liability.
Separated commits: I will try to improve it a bit while working on this MR. But it is a pain to do. :P
Medicine Events: That part I haven't had time to polish at all yet. Work in progress.
e820c11e68to0cc9dc53fe0cc9dc53fetoc636e48c7ec636e48c7eto38930fe26938930fe269toa4b5ae7cd0a4b5ae7cd0toa8b9691861a8b9691861tobe5463bf18be5463bf18to43f0519487hi @penguin86, I think this MR is ready.
Here is a commit to remove the statistics completely in case MPAndroidChart becomes a liability due to missing maintainance:
a8305b8fc9@penguin86 should this MR target the develop branch?
43f0519487toff48d1af59ff48d1af59to87442057db87442057dbtoe1dbc2c628e1dbc2c628to905aeadabefc48984c67to71c0bf664471c0bf6644to64fde74e2e64fde74e2etoa1f3c7fdeaa1f3c7fdeato1763a9cfd01763a9cfd0to016dbf330b016dbf330bto143713cd9b143713cd9btoc582fb64b7c582fb64b7to7895325297@penguin86 feel free to test and merge even without statistics (cherry-pick
a8305b8fc9to remove it).I also just reaad in the readme that you want to bump sdk version yourself. No problem, just remove the commit after merging locally.
7895325297to422ecfb970422ecfb970toc58c68b78a10efec4733to80fa8d829480fa8d8294to557a9ab69aIt would be nice to have both short term statistics (like in #23) and long term statistics in the app. Maybe the long term statistics can be accessed via a button in the short term statistics.
9ed9964f69to16e5b39d6f@penguin86 I added a few minor fixes and a height event (on request from another user).
@penguin86 anything I can do to get this merged? Maybe there are too many changes in this MR. In this case we can have a call and go through the code and you can tell me what I need to throw out.
4f8209b793to5663a838e7I have removed statistics. This should make the MR easier to review.
Hello Moritz,
sorry for the very late reply. This PR is huge, so I find difficult to find time to review it toroughly in a single session. I'll try to review some commit a time until I get on par, and I'll skip testing every case that comes to my mind while reviewing every commit. I'll write below the concerns, so maybe you can check and I'll do a single final global check.
I suggest, for the next time, doing one PR for feature, so it is easier to review and I can merge it in less time.
Here's the first observation: in commit 358452a179 MainActivity: do not switch logbook on reload I fear if a new logbook is added (maybe from another device running the same app) and one is already selected, the new one will not be discovered. That was the whole point of having a refresh button (because the selected logbook is already refreshed automatically). Can you check if that's the case?
Thank you! I'll continue to review and write from time to time.
The sleep event with duration in d9feb05988 LunaEvent: rework sleep event is very cool, but also not intuitive. The user doesn't expect to have to click on the same icon of the event to set the end time. I'd change the clickable Zzz icon into something more evocative (maybe a clock icon or something) and add a caption below it "Set end time" or "Set duration".
e04e05f752 MainActivity: generate dynamic menu from last two weeks is definitely cool and makes the app faster to use, but I'd make clear the user need to have two weeks of data to use it, otherwise it's a little confusing. When I activated it on my test app with synthetic data, only the overflow menu icon was displayed.
Adding something like "You need at least two weeks of data for this to work" to the already present explanation text under the switch in settings should be enough!
Hey Moritz,
I reached the last commit, it seems ok to me, so if you wish to make the changes above, I think this can be merged.
Thanks a lot for the new features, they are very cool!
I took note of some changes to make (i.e. atm it's not very clear what can be clicked in the event detail, I'd set the button background on the next/prev texts and maybe a pen icon on the changeable fields), but I'll make them on my own after this PR is merged.
Thank you a lot for you contribution and your patience!
Have a nice day!
@penguin86 thank you for your time. I will take a look next week.
Sorry for not splitting it up more. As it happens, commits build up on each other and that makes them dependent..
I finally had a little time.
Yeah, the empty menu at the beginning is not a great experience if there are no events. But you do not need two weeks worth of events. One event is enough. I improved it a bit to make the header update immediate. Is this OK or should be improve the help text in the settings (the help text says this currently: "Populate the header menu with the most used events.") ?
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.