Skip to content

Commit de34b90

Browse files
committed
add content description to navigation tabs
1 parent 5d974a6 commit de34b90

28 files changed

Lines changed: 51 additions & 4 deletions

File tree

features/feature_main/src/main/java/com/example/util/simpletimetracker/feature_main/provider/MainTabsProvider.kt

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.example.util.simpletimetracker.feature_main.provider
22

33
import androidx.annotation.DrawableRes
44
import com.example.util.simpletimetracker.core.model.NavigationTab
5+
import com.example.util.simpletimetracker.core.repo.ResourceRepo
56
import com.example.util.simpletimetracker.core.utils.SHORTCUT_NAVIGATION_RECORDS
67
import com.example.util.simpletimetracker.core.utils.SHORTCUT_NAVIGATION_SETTINGS
78
import com.example.util.simpletimetracker.core.utils.SHORTCUT_NAVIGATION_STATISTICS
@@ -12,6 +13,7 @@ import kotlinx.coroutines.runBlocking
1213
import javax.inject.Inject
1314

1415
class 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

features/feature_main/src/main/java/com/example/util/simpletimetracker/feature_main/view/MainFragment.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,10 @@ class MainFragment : BaseFragment<Binding>() {
9898
}
9999

100100
TabLayoutMediator(mainTabs, mainPager) { tab, position ->
101-
position.let(mainTabsProvider::mapPositionToIcon).let(tab::setIcon)
101+
position.let(mainTabsProvider::mapPositionToIcon)
102+
.let(tab::setIcon)
103+
position.let(mainTabsProvider::mapPositionToDescription)
104+
?.let { tab.contentDescription = it }
102105
tab.icon?.colorFilter = if (position == mainPagePosition) {
103106
selectedColorFilter
104107
} else {

resources/src/main/res/values-ar/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -656,6 +656,7 @@
656656
<string name="imageGroupToggle">وصلة</string>
657657

658658
<!-- Shortcuts -->
659+
<string name="shortcut_navigation_timers">المؤقتات</string>
659660
<string name="shortcut_navigation_records">المتتبعات</string>
660661
<string name="shortcut_navigation_statistics">اﻹحصائيات</string>
661662
<string name="shortcut_navigation_settings">اﻹعدادات</string>

resources/src/main/res/values-ca/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -656,6 +656,7 @@ Exemple:<br/>
656656
<string name="imageGroupToggle">Botons</string>
657657

658658
<!-- Shortcuts -->
659+
<string name="shortcut_navigation_timers">Temporitzadors</string>
659660
<string name="shortcut_navigation_records">Enregistraments</string>
660661
<string name="shortcut_navigation_statistics">Estadístiques</string>
661662
<string name="shortcut_navigation_settings">Configuració</string>

resources/src/main/res/values-de/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -656,6 +656,7 @@ Beispiel:<br/>
656656
<string name="imageGroupToggle">Umschalten</string>
657657

658658
<!-- Shortcuts -->
659+
<string name="shortcut_navigation_timers">Timer</string>
659660
<string name="shortcut_navigation_records">Einträge</string>
660661
<string name="shortcut_navigation_statistics">Statistiken</string>
661662
<string name="shortcut_navigation_settings">Einstellungen</string>

resources/src/main/res/values-es/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -656,6 +656,7 @@ Ejemplo:<br/>
656656
<string name="imageGroupToggle">Conexiónes</string>
657657

658658
<!-- Shortcuts -->
659+
<string name="shortcut_navigation_timers">Temporizadores</string>
659660
<string name="shortcut_navigation_records">Registros</string>
660661
<string name="shortcut_navigation_statistics">Estadísticas</string>
661662
<string name="shortcut_navigation_settings">Ajustes</string>

resources/src/main/res/values-fa/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -656,6 +656,7 @@
656656
<string name="imageGroupToggle">تغییر وضع</string>
657657

658658
<!-- Shortcuts -->
659+
<string name="shortcut_navigation_timers">تایمرها</string>
659660
<string name="shortcut_navigation_records">تاریخچه ها</string>
660661
<string name="shortcut_navigation_statistics">آمار ها</string>
661662
<string name="shortcut_navigation_settings">تنظیمات</string>

resources/src/main/res/values-fr/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -656,6 +656,7 @@ Exemple:<br/>
656656
<string name="imageGroupToggle">Basculer</string>
657657

658658
<!-- Shortcuts -->
659+
<string name="shortcut_navigation_timers">Minuteries</string>
659660
<string name="shortcut_navigation_records">Enregistrements</string>
660661
<string name="shortcut_navigation_statistics">Statistiques</string>
661662
<string name="shortcut_navigation_settings">Réglages</string>

resources/src/main/res/values-hi/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -656,6 +656,7 @@ csv फ़ाइल में कॉमा से अलग किए गए य
656656
<string name="imageGroupToggle">टॉगल</string>
657657

658658
<!-- Shortcuts -->
659+
<string name="shortcut_navigation_timers">टाइमर</string>
659660
<string name="shortcut_navigation_records">अभिलेख</string>
660661
<string name="shortcut_navigation_statistics">आंकड़े</string>
661662
<string name="shortcut_navigation_settings">सेटिंग</string>

resources/src/main/res/values-in/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -656,6 +656,7 @@ Contoh:<br/>
656656
<string name="imageGroupToggle">Beralih</string>
657657

658658
<!-- Shortcuts -->
659+
<string name="shortcut_navigation_timers">Timer</string>
659660
<string name="shortcut_navigation_records">Rekor</string>
660661
<string name="shortcut_navigation_statistics">Statistik</string>
661662
<string name="shortcut_navigation_settings">Pengaturan</string>

0 commit comments

Comments
 (0)