forked from jdrescher2006/Laufhelden
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ToDo.txt
293 lines (267 loc) · 14.9 KB
/
ToDo.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
---- ToDo for next release to openrepos: 1.0.1-1 -----
- solved a bug in polish translation -> OK
- Bugs in voice output trainer:
- on duration settings page there is a error message if multiple empty fields are selected -> OK
- empty fields where not left out. Instead they were played sometimes -> OK
- Implement shoe management for running
- STRAVA:
- "Meine Strava Aktivitäten" not working, not showing anything on the page
- in Strava settings there is nothing shown in username, Email, Country
Do not forget:
- set changelog and release date to .changes file
- compile with translations and complete translation to german language
- set new version number to yaml and spec files
- clean project and compile on release for arm and 486
----- ToDo for second next release to openrepos: 1.0.2 -----
- when loading autosave and while not resuming workout in recordpage, the duration gets smaller
- show battery state of phone with charging icon on record page
- sometimes the mediaplayer would not set playing to false. Need a watchdog for that.
- add max pace to detailspage/trackloader
- meerun imports have no max. speed
- look into old map tiles folder and delete files there. Ask user!
- map on record page: zoom into map automatically. Save and restore last zoom setting.
- pebble: if speed is choosen for third field, set unit to speed. Same with pace.
- add new feature: autopause if speed goes below certain threshold
- start page: select pace/speed
- add icons for indicating over/below average speed, average pace and average heart rate to record page
- add leading 0 to values on recordpage
----- Other planned features for the far future: -----
- add min/max elevation to detailspage/trackloader
- fix elevation up/down bad values. This is a big thing. Elevation data needs to be corrected with appropriate algorithms.
- check if speedoverground in QGeoPositionInfo is eventually better then own speed calculation -> seems to contain no information
- implement workout comparison. Compare current workout with virtual workout in the past
- AM/PM mode for recordpage
- support all workout types from meerun (is not possible because export function in meerun is broken for many workout types, even on android)
- introduce reward system:
- fastest run 5/10/20/40 km
- longest run (distance/time)
- most workouts in a week/month
- most distance in a week/month
- most time in a week/month
- 5km in under 30/25/20/15 mins
- 10km in under 1h/55/50/48/45/40/35/30 mins
- view burned calories on mainpage and recordpage and detailspage
- bluetooth data logging function (writing to files does not work???)
- introduce female voice
- alert system:
- vibration alert / sound alert
- send vibration also to pebble via dbus call provided by rockpool (does not exist. Have to do this myself?)
- make sound file configurable or changeable
- record page workover, add more data to view
- current, minimum, maximum height (gps)
- up/down travelled height
- energy kcal
- average speed/tempo
- speed/tempo of last 100m/1km
- top speed/tempo
- average, minimum, maximum heart rate
- pause time
- save pause time to gpx file. Look in Meerun gpx file where to save pause data.
- Style first page list view like in meerun (upper part of page should not scroll)
- enable night mode automatically.
- view diagrams on the statistics page. See app "Rush Hour" and "SystemDataScope" which are on openrepos.
- make volume of audio messages adjustable
- Messagebox needs to be extended. If a page is locked to portrait mode, messagebox needs also be locked to this mode.
- check if bluetooth is active. If not, switch it on. (see file ActionDisableBluetooth.qml in app slumber-master, or rockpool.qml)
- support workouts without gps e.g. indoor activities
- introduce lap function
- CRC check for Zephyr HxM data packets
- BLE heart rate devices support (currently waiting for kimmoli to bring this to OPX)
Bugs:
- on the map in recordpage there are stragne horizontal lines coming from tracklines
- strange bug in recordpage when opening the values select menu: [W] unknown:38 - file:///usr/lib/qt5/qml/Sailfish/Silica/private/Util.js:38: TypeError: Cannot read property 'parent' of null
- there are strange files in the ~/Laufhelden folder, e.g. "running-Di. Nov. 7 16:00:36 2017-7.5km.gpx.wZ8116" or "running-Mi. Nov. 8 15:46:48 2017-0.5km.gpx.M27425"
- sometimes there is a view problem on mainpage after a completed workout.
- if HRM is active and record page is left and then opened again, we get a BT error.
- after bt scan and finding new HRM device, not able to connect. First need to restart app.
- compiler issue, comparison between signed and unsigned
- write to log file is not working, strange no error or something...
- sometimes, maybe if app is left on cover view or even in background, screen on is not longer working
Completed:
- solve commit conflict with spanish language -> OK
- ToDo for regular voice announcements:
- record english voice files -> OK
- for english language there are differences in the unit: -> OK
- mile/miles
- kilometer/kilometers
- meter/meters
- in general options for voice coach, make music player pausing enable/disable -> OK
- make output of headline for cyclic voice announcements choosable -> OK
- sound files needed for average headers -> OK
- it should be possible to have multiple empty parameter fields -> OK
- changes of parameters are not used -> OK
- 0_de_male.wav is not correct -> OK
- for pace we only need "pro Kilometer" voice file -> OK
- improvement: "Kilometer pro Stunde" to "kmh" -> OK
- improvement: make numbers go faster: "0" -> OK
- improvement: make units and headlines go faster -> OK
- there is a problem with umlauts in the filenames while loading GPX files.
- HistoryModel::loadAccelerationFile:402 - File not existant: "running-Fr. M?rz 16 19:38:57 2018-11.7km.gpx"
- seems to only occure when app is started directly by Sailfish OS IDE. If app is started from desktop launcher all is OK.
- add workout icon on details page -> OK
- make the app start faster by scanning the GPX files directory and comparing that to a database -> OK
- App start:
- load acceleration file, parse to array and check consistecy with GPX files -> gpxFilesChanged: loadAccelerationFile()
- check if there are more GPX files and add those files to the m_trackList array: readDirectory()
- go through trackList array and load all GPX files which have ready==false: loadAllTracks();
- there may be changes in GPX files which is given by variable gpxFilesChanged, so: saveAccelerationFile() is always entered after loadAllTracks()
- Remove workout:
- remove GPX file from directory
- if GXP was removed successfully: remove track from m_trackList array
- if GXP was removed successfully: set variable gpxFilesChanged to true and: saveAccelerationFile()
- Edit workout:
- set ready flag to false in m_trackList array by index and gpxFilesChanged to true: editTrack(index)
- go through all tracks and load that one with ready==false: loadAllTracks()
- set variable gpxFilesChanged to true and: saveAccelerationFile()
- Add workout:
- in mainpage in block if (bLoadHistoryData), scan for new GPX files and add them to m_trackList: readDirectory()
- set variable gpxFilesChanged to true and: saveAccelerationFile()
- bug in consistency checking, wrong date format: "Sat Jan 20 20:39:23 2018" / "Sa. Jan. 20 20:39:23 2018" -> OK
- bug: manual delete GPX files then start APP. App will crash. -> OK
- increase wait time for night mode
- change color for continue/end button
- record page didn't change map style
- end of pause icon is not drawn on map if map was invisible
- when record page was closed signals where not disconnected
- switch off map completely. This is Jolla 1 mode.
- imperial units on threshold settings page.
- if map gets visible again, track is only updated when triggered by GPS
- start lockscreen in random position or middle
- when editing workout from main page, the workout type is always set to running
- when walking was selected before and prerecord page is entered, workout type is not given to recorder
- introduce lock page (LCD mode, AMOLED mode) with 3 configurable parameters. These parameters will also be shown on cover page.
- current point on record page needs workover
- no tracks on record page
- scale bar on map needs imperial units
- imperial units for record page
- imperial units for start page
- imperial units for cover page
- add settigs: event voice announcements
- fix map bug in horizontal mode
- event voice announcements
- positioning online/offline
- start, stop, pause, resume workout
- #define SERVER_INTERFACE "org.rockwork.Pebble" is double
- fixed a bug: mediaplayer pause/resume was not working
- add Pebble support:
- new setting: use Pebble yes/no
- new setting: choose value for fields on pebble
- add settings page:
- check if rockpool is there in the right version?
- toggle Pebble support ON/OFF
- choose value for fields
- view if pebble is connected and model and BT address
- test button to launch/close sport app
- add warning to prerecord page if pebble is not connected
- launch sport app on prerecord page, close it on main page
- on record page set values to pebble
- on pebble button press, pause/resume workout
- edit workout (name/description/workout type) and save to GPX
- add icons to map in trackloader (start/stop/pause)
- add icons to map in trackrecorder (start/stop/pause)
- add pause duration to detailpage
- add new parameter for record page: pause duration
- add skiing to workout types
- GPX from meerun is not imported correctly, that is a bug in meerun
- While recording and leaving and returning to recordpage, track and track icons are screwed
- GPS starts with app start. Make it start with prerecordpage. This is related to the pause problem.
- there is a bug with pause function. Time is runnning further. Must be debugged in live mode.
- if an autosave is loaded, it is on stop and can not be resumed further
- repair verticalscrolldecorator in change value dialog on recordage
- write values to screen after restoring autosave
- place map settings on new settings page
- when map is shown, make field 5&6 invisible
- Mainpage and PreRecordpage need horizontal layout lock function
- while workout is not started, and map is in big mode, it is annoying to scroll left
- while working out, the map circle is not centered on the map.
- unlocalized texts on BT device page
- automatic night mode
- fix battery status for HR device on record page
- on recordpage: enable onRadiusChanged and onCenterChanged in mapcircle.
- support elevation as new datapoint
- store workout type to autosave, but maybe this is not needed.
- if autosave is there on start of app, ask user if to resume workout
- add heart rate average to record page
- test rena stuff for map updating (mapcircle)
- when HR device fails during workout, the 0bpm is added to average HR
- no HR when workout isn't started
- adjustable value fields for recordpage
- view credits on about page
- missing non localized texts
- implement autosave, see github issue #9
- new values for recordpage: elevation and heartrate avg
- test: check if HR is saved to autosave file.
- bug: go back from recordscreen to prerecord. Then switch off HR. Then proceed to recordscreen. HR is still active! -> bRecordDialogRequestHRM
- rework menu on recordpage
- bring HRM values to autosave file
- what is ConfirmClearDialog for? Maybe delete this thing...
- detailspage:
- make heartrate invisible if there is no data
- some workouts have no max speed
- texts need general overhaul!
- workout icon is too small on prerecordpage
- make sorting of workouts from most recent to least recent on mainpage
- Workouts need to be sorted after date on MainPage
- implement add/remove threshold profiles
- put all icons and pictures in the img folder!
- make voice language selectable and save to settings
- BUG: MainPage values for workout total time does nor fit
- search for all "Rena" and replace
- Record page: replace menu items (stop, pause, continue, start) with buttons
- cover dialog needs complete workover
- remove app name, add app icon
- names of workouts still not good. Workouts are not sorted properly due to this.
- Alerts/thresholds:
- implement profiles
- save one data string per profile, including profile name
- Thresholds profiles should be renameable!
- music is paused and resumed even when no music is played. Detect first if music is playing!
- Start button on recordpage is green if accuracy says "No position"
- save last display mode to settings
- last used threshold profile is not recalled
- strange things if there are no gpx files or there is no gpx folder
- mainpage needs a progressbar.
- pause music if audio message is played
- fix mapcircle on recordpage
- [W] unknown:167 - file:///usr/share/harbour-laufhelden/qml/pages/RecordPage.qml:167: TypeError: Cannot call method 'addCoordinate' of undefined
- if a workout is cancelled before it could start properly (bad GPS), the HRM is also disconnected and you have to wait 3 seconds.
This is a bigger thing. Maybe disable button if GPS is not online? That would also solve the problem!
- if recordpage is left, HRM is disconnected. Disconnect only if workout ends!
- In PreRecordPage, disable HRM option if there is no HRM device address
- In RecordPage, disable HRM optiion if there is no HRM device address
- On recordpage: if the map is maximized, there is a forward jump enabled to prerecordpage. This is a bug!
- Set useragent for map and app settings file to beter values
- solved issue with backjumping to mainpage. Problem was, pagestack.currentpage gives null within Component.onCompleted. Don't use this anymore!!!
- mainpage list does not fit to height of page
- after a new workout is recorded it is not viewed on main page
- record page must keep screen on (configurable)
- speed indicator for record page
- filename:
use the local date&time as well as workout
- name:
use the textbox text from the savedialog.
make a text presiction, bring local date&time as well as workout to the text box on start dialog
- description:
use the textbox text from the savedialog.
Make no prediction and leave text box empty on start dialog.
- compatibility with new HRM belt
CALCULATION FOR DISPLAY SCALING ON RECORD PAGE
Header: height / 10 = 10
midle1: height / 5 = 20
midle2: height / 5 = 20
midle3: height / 5 = 20
midle4: height / 5 = 20
Footer: height / 10 = 10
--
100
Map mode:
60% but viewed as 100%
Header: height / 8 = 12.5
midle1: height / 4 = 25
midle2: height / 4 = 25
midle3: height / 4 = 25
Footer: height / 8 = 12.5
40%
Map : height / 2.5= 40
--
100