A fork of Simple Time Tracker with WearOS support. (Now integrated upstream)
0

Configure Feed

Select the types of activity you want to include in your feed.

add time started calculation from previous record if adding record on today

razeeman (Nov 26, 2023, 5:48 PM +0300) 7fb6d258 9c4848dc

+21 -12
+20 -6
features/feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/viewModel/ChangeRecordViewModel.kt
··· 106 106 timeStarted = newTimeStarted, 107 107 timeEnded = newTimeEnded, 108 108 comment = newComment, 109 - tagIds = newCategoryIds 109 + tagIds = newCategoryIds, 110 110 ).let { 111 111 addRecordMediator.add(it) 112 112 if (newTypeId != originalTypeId) { ··· 143 143 timeStarted = newTimeStarted, 144 144 timeEnded = newTimeEnded, 145 145 comment = newComment, 146 - tagIds = newCategoryIds 146 + tagIds = newCategoryIds, 147 147 ).let { 148 148 addRecordMediator.add(it) 149 149 } ··· 166 166 super.onTimeStartedChanged() 167 167 } 168 168 169 - private fun getInitialDate(daysFromToday: Int): Long { 169 + private fun getInitialTimeEnded(daysFromToday: Int): Long { 170 170 return timeMapper.toTimestampShifted(daysFromToday, RangeLength.Day) 171 171 } 172 172 173 + private suspend fun getInitialTimeStarted(daysFromToday: Int): Long { 174 + val default = newTimeEnded - ONE_HOUR 175 + 176 + return if (daysFromToday == 0) { 177 + recordInteractor.getPrev(newTimeEnded, limit = 1) 178 + .firstOrNull() 179 + ?.timeEnded 180 + ?: default 181 + } else { 182 + default 183 + } 184 + } 185 + 173 186 override suspend fun updatePreview() { 174 187 (record as MutableLiveData).value = loadPreviewViewData() 175 188 } ··· 190 203 newTimeEnded = (extra as ChangeRecordParams.Untracked).timeEnded 191 204 } 192 205 is ChangeRecordParams.New -> { 193 - newTimeEnded = getInitialDate((extra as ChangeRecordParams.New).daysFromToday) 194 - newTimeStarted = newTimeEnded - ONE_HOUR 206 + val daysFromToday = (extra as ChangeRecordParams.New).daysFromToday 207 + newTimeEnded = getInitialTimeEnded(daysFromToday) 208 + newTimeStarted = getInitialTimeStarted(daysFromToday) 195 209 } 196 210 } 197 211 newTimeSplit = newTimeStarted ··· 207 221 timeStarted = newTimeStarted, 208 222 timeEnded = newTimeEnded, 209 223 comment = newComment, 210 - tagIds = newCategoryIds 224 + tagIds = newCategoryIds, 211 225 ) 212 226 213 227 return changeRecordViewDataInteractor.getPreviewViewData(record)
-5
features/feature_change_record_type/src/main/java/com/example/util/simpletimetracker/feature_change_record_type/view/ChangeRecordTypeFragment.kt
··· 2 2 3 3 import android.os.Bundle 4 4 import android.view.LayoutInflater 5 - import android.view.View 6 5 import android.view.ViewGroup 7 - import androidx.cardview.widget.CardView 8 6 import androidx.core.view.isVisible 9 7 import androidx.core.view.updatePadding 10 8 import androidx.core.widget.doAfterTextChanged ··· 21 19 import com.example.util.simpletimetracker.core.extension.toViewData 22 20 import com.example.util.simpletimetracker.core.repo.DeviceRepo 23 21 import com.example.util.simpletimetracker.core.utils.fragmentArgumentDelegate 24 - import com.example.util.simpletimetracker.core.utils.setChooserColor 25 22 import com.example.util.simpletimetracker.core.view.buttonsRowView.ButtonsRowViewData 26 23 import com.example.util.simpletimetracker.domain.model.IconEmojiType 27 24 import com.example.util.simpletimetracker.domain.model.IconType ··· 57 54 import com.example.util.simpletimetracker.feature_views.extension.addOnScrollListenerAdapter 58 55 import com.example.util.simpletimetracker.feature_views.extension.dpToPx 59 56 import com.example.util.simpletimetracker.feature_views.extension.pxToDp 60 - import com.example.util.simpletimetracker.feature_views.extension.rotateDown 61 - import com.example.util.simpletimetracker.feature_views.extension.rotateUp 62 57 import com.example.util.simpletimetracker.feature_views.extension.setOnClick 63 58 import com.example.util.simpletimetracker.feature_views.extension.setSpanSizeLookup 64 59 import com.example.util.simpletimetracker.feature_views.extension.visible
+1 -1
features/feature_change_record_type/src/main/java/com/example/util/simpletimetracker/feature_change_record_type/viewData/ChangeRecordTypeChooserState.kt
··· 11 11 object Icon : State 12 12 object Category : State 13 13 object GoalTime : State 14 - object Type: State 14 + object Type : State 15 15 } 16 16 }