@@ -2,6 +2,7 @@ package com.example.util.simpletimetracker.feature_main.provider
22
33import androidx.annotation.DrawableRes
44import com.example.util.simpletimetracker.core.model.NavigationTab
5+ import com.example.util.simpletimetracker.core.repo.ResourceRepo
56import com.example.util.simpletimetracker.core.utils.SHORTCUT_NAVIGATION_RECORDS
67import com.example.util.simpletimetracker.core.utils.SHORTCUT_NAVIGATION_SETTINGS
78import com.example.util.simpletimetracker.core.utils.SHORTCUT_NAVIGATION_STATISTICS
@@ -12,6 +13,7 @@ import kotlinx.coroutines.runBlocking
1213import javax.inject.Inject
1314
1415class MainTabsProvider @Inject constructor(
16+ private val resourceRepo : ResourceRepo ,
1517 private val prefsInteractor : PrefsInteractor ,
1618) {
1719
@@ -33,23 +35,39 @@ class MainTabsProvider @Inject constructor(
3335 .let (::mapToIcon)
3436 }
3537
38+ fun mapPositionToDescription (position : Int ): String? {
39+ return position
40+ .let (::mapPositionToTab)
41+ .let (::mapToDescription)
42+ }
43+
3644 fun mapNavigationToPosition (value : String ): Int? {
3745 return mapNavigationToTab(value)?.let (::mapTabToPosition)
3846 }
3947
4048 @DrawableRes
41- fun mapToIcon (tab : NavigationTab ? ): Int {
42- if (tab == null ) return R .drawable.unknown
43-
49+ private fun mapToIcon (tab : NavigationTab ? ): Int {
4450 return when (tab) {
4551 NavigationTab .RunningRecords -> R .drawable.tab_running_records
4652 NavigationTab .Records -> R .drawable.tab_records
4753 NavigationTab .Statistics -> R .drawable.tab_statistics
4854 NavigationTab .Settings -> R .drawable.tab_settings
4955 NavigationTab .Goals -> R .drawable.tab_goals
56+ null -> R .drawable.unknown
5057 }
5158 }
5259
60+ private fun mapToDescription (tab : NavigationTab ? ): String? {
61+ return when (tab) {
62+ NavigationTab .RunningRecords -> R .string.shortcut_navigation_timers
63+ NavigationTab .Records -> R .string.shortcut_navigation_records
64+ NavigationTab .Statistics -> R .string.shortcut_navigation_statistics
65+ NavigationTab .Settings -> R .string.shortcut_navigation_settings
66+ NavigationTab .Goals -> R .string.change_record_type_goal_time_hint
67+ null -> return null
68+ }.let (resourceRepo::getString)
69+ }
70+
5371 private fun mapNavigationToTab (value : String ): NavigationTab ? {
5472 return when (value) {
5573 SHORTCUT_NAVIGATION_RECORDS -> NavigationTab .Records
0 commit comments