Skip to content

Commit

Permalink
move credits to app settings
Browse files Browse the repository at this point in the history
  • Loading branch information
Razeeman committed Mar 2, 2024
1 parent 6559db3 commit 86a754e
Show file tree
Hide file tree
Showing 15 changed files with 89 additions and 90 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -92,4 +92,8 @@ enum class SettingsBlock {
TranslatorsTop,
TranslatorsTitle,
TranslatorsBottom,

ContributorsTop,
ContributorsTitle,
ContributorsBottom,
}
17 changes: 17 additions & 0 deletions core/src/main/res/values/contributors.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>

<string-array name="contributors">
<item>Joseph Hale @thehale</item>
<item>\@gyrraf</item>
<item>\@kantahrek</item>
<item>\@Zolax9</item>
<item>\@rec0de</item>
<item>Ben Halbach @bahalbach</item>
<item>John Veness @JohnVeness</item>
<item>\@preethamrn</item>
<item>\@Poussinou</item>
<item>Ilya Bizyaev @IlyaBizyaev</item>
</string-array>

</resources>
1 change: 1 addition & 0 deletions core/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,7 @@
<string name="settings_version">Version</string>
<string name="settings_email_chooser_title">Send with…</string>
<string name="settings_translators">Translators</string>
<string name="settings_contributors">Contributors</string>
<string name="settings_automated_tracking">Automated tracking</string>
<string name="settings_automated_tracking_text"><![CDATA[
Automatic tracking is possible through integration with third-party applications that allow to automate actions based on certain events. These applications, when a certain event occurs, can send a message to the app to start or stop the activity timer.<br/>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.example.util.simpletimetracker.feature_settings.adapter

import androidx.core.view.isVisible
import com.example.util.simpletimetracker.feature_base_adapter.ViewHolderType
import com.example.util.simpletimetracker.feature_base_adapter.createRecyclerBindingAdapterDelegate
import com.example.util.simpletimetracker.feature_settings.adapter.SettingsTranslatorViewData as ViewData
Expand All @@ -13,13 +14,14 @@ fun createSettingsTranslatorAdapterDelegate() = createRecyclerBindingAdapterDele
item as ViewData

tvItemSettingsTranslators.text = item.translator
tvItemSettingsTranslatorsLanguage.isVisible = !item.language.isNullOrBlank()
tvItemSettingsTranslatorsLanguage.text = item.language
}
}

data class SettingsTranslatorViewData(
val translator: String,
val language: String,
val language: String? = null,
) : ViewHolderType {

override fun getUniqueId(): Long = translator.hashCode().toLong()
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package com.example.util.simpletimetracker.feature_settings.interactor

import com.example.util.simpletimetracker.core.repo.ResourceRepo
import com.example.util.simpletimetracker.core.viewData.SettingsBlock
import com.example.util.simpletimetracker.feature_base_adapter.ViewHolderType
import com.example.util.simpletimetracker.feature_settings.R
import com.example.util.simpletimetracker.feature_settings.adapter.SettingsBottomViewData
import com.example.util.simpletimetracker.feature_settings.adapter.SettingsTextViewData
import com.example.util.simpletimetracker.feature_settings.adapter.SettingsTopViewData
import com.example.util.simpletimetracker.feature_settings.adapter.SettingsTranslatorViewData
import javax.inject.Inject

class SettingsContributorsViewDataInteractor @Inject constructor(
private val resourceRepo: ResourceRepo,
) {

fun execute(): List<ViewHolderType> {
val result = mutableListOf<ViewHolderType>()

result += SettingsTopViewData(
block = SettingsBlock.ContributorsTop,
)

result += SettingsTextViewData(
block = SettingsBlock.ContributorsTitle,
title = resourceRepo.getString(R.string.settings_contributors),
subtitle = "",
layoutIsClickable = false,
)

result += loadContributorsViewData()

result += SettingsBottomViewData(
block = SettingsBlock.ContributorsBottom,
)

return result
}

private fun loadContributorsViewData(): List<SettingsTranslatorViewData> {
return resourceRepo
.getStringArray(R.array.contributors)
.map { SettingsTranslatorViewData(it) }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import com.example.util.simpletimetracker.core.viewData.SettingsBlock
import com.example.util.simpletimetracker.feature_settings.mapper.SettingsMapper
import com.example.util.simpletimetracker.feature_settings.viewModel.delegate.SettingsAdditionalViewModelDelegate
import com.example.util.simpletimetracker.feature_settings.viewModel.delegate.SettingsBackupViewModelDelegate
import com.example.util.simpletimetracker.feature_settings.viewModel.delegate.SettingsContributorsViewModelDelegate
import com.example.util.simpletimetracker.feature_settings.viewModel.delegate.SettingsDisplayViewModelDelegate
import com.example.util.simpletimetracker.feature_settings.viewModel.delegate.SettingsExportViewModelDelegate
import com.example.util.simpletimetracker.feature_settings.viewModel.delegate.SettingsMainViewModelDelegate
Expand All @@ -38,6 +39,7 @@ class SettingsViewModel @Inject constructor(
private val backupDelegate: SettingsBackupViewModelDelegate,
private val exportDelegate: SettingsExportViewModelDelegate,
private val translatorsDelegate: SettingsTranslatorsViewModelDelegate,
private val contributorsDelegate: SettingsContributorsViewModelDelegate,
) : BaseViewModel(), SettingsParent {

val content: LiveData<List<ViewHolderType>> by lazySuspend { loadContent() }
Expand Down Expand Up @@ -275,6 +277,7 @@ class SettingsViewModel @Inject constructor(
result += backupDelegate.getViewData()
result += exportDelegate.getViewData()
result += translatorsDelegate.getViewData()
result += contributorsDelegate.getViewData()
return result
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package com.example.util.simpletimetracker.feature_settings.viewModel.delegate

import com.example.util.simpletimetracker.core.base.ViewModelDelegate
import com.example.util.simpletimetracker.feature_base_adapter.ViewHolderType
import com.example.util.simpletimetracker.feature_settings.interactor.SettingsContributorsViewDataInteractor
import javax.inject.Inject

class SettingsContributorsViewModelDelegate @Inject constructor(
private val settingsContributorsViewDataInteractor: SettingsContributorsViewDataInteractor,
) : ViewModelDelegate() {

fun getViewData(): List<ViewHolderType> {
return settingsContributorsViewDataInteractor.execute()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
app:layout_constraintEnd_toStartOf="@id/tvItemSettingsTranslatorsLanguage"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_goneMarginEnd="4dp"
tools:text="Translator" />

<androidx.appcompat.widget.AppCompatTextView
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ fun ActivitiesList(
onEnableActivity: (activity: WearActivity) -> Unit,
onDisableActivity: (activity: WearActivity) -> Unit,
onRefresh: () -> Unit,
footer: @Composable () -> Unit = {}
) {
ScaffoldedScrollingColumn {
if (activities.isEmpty()) {
Expand All @@ -53,7 +52,6 @@ fun ActivitiesList(
}

item { RefreshButton(onClick = onRefresh) }
item { footer() }
}
}

Expand Down Expand Up @@ -87,8 +85,5 @@ private fun Preview() {
onEnableActivity = { /* `it` is the enabled activity */ },
onDisableActivity = { /* `it` is the disabled activity */ },
onRefresh = { /* What to do when requesting a refresh */ },
footer = {
Text("Sample Footer")
}
)
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,11 @@ import androidx.wear.compose.navigation.SwipeDismissableNavHost
import androidx.wear.compose.navigation.composable
import androidx.wear.compose.navigation.rememberSwipeDismissableNavController
import com.example.util.simpletimetracker.presentation.screens.ActivitiesScreen
import com.example.util.simpletimetracker.presentation.screens.CreditsScreen
import com.example.util.simpletimetracker.presentation.screens.TagsScreen

object Route {
const val Activities = "activities"
const val Tags = "activities/{id}/tags"
const val Credits = "credits"
}

@Composable
Expand All @@ -32,9 +30,6 @@ fun WearNavigator() {
val route = Route.Tags.replace("{id}", it.toString())
navigation.navigate(route)
},
onRequestCredits = {
navigation.navigate(Route.Credits)
},
)
}
composable(Route.Tags) {
Expand All @@ -50,8 +45,5 @@ fun WearNavigator() {
},
)
}
composable(Route.Credits) {
CreditsScreen()
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,15 @@
package com.example.util.simpletimetracker.presentation.screens

import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.collectAsState
import androidx.hilt.navigation.compose.hiltViewModel
import com.example.util.simpletimetracker.presentation.components.ActivitiesList
import com.example.util.simpletimetracker.presentation.components.CreditsButton
import com.example.util.simpletimetracker.presentation.screens.ActivitiesViewModel.Effect
import com.example.util.simpletimetracker.presentation.utils.collectEffects
import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.flow.onEach

@Composable
fun ActivitiesScreen(
onRequestTagSelection: (activityId: Long) -> Unit,
onRequestCredits: () -> Unit,
) {
val viewModel = hiltViewModel<ActivitiesViewModel>()
viewModel.init()
Expand All @@ -38,6 +33,5 @@ fun ActivitiesScreen(
onEnableActivity = viewModel::startActivityWithoutTags,
onDisableActivity = viewModel::stopActivity,
onRefresh = viewModel::refresh,
footer = { CreditsButton(onClick = onRequestCredits) },
)
}

This file was deleted.

2 changes: 0 additions & 2 deletions wear/src/main/res/values-es/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,4 @@
<string name="refresh_button_default_content_description">Actualizar</string>
<string name="no_tags">Sin etiquetas</string>
<string name="no_activities">Sin actividades</string>
<string name="credits_button">Reconocimientos</string>
<string name="credits_by">por</string>
</resources>
2 changes: 0 additions & 2 deletions wear/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,4 @@
<string name="refresh_button_default_content_description">Refresh</string>
<string name="no_tags">No tags</string>
<string name="no_activities">No activities</string>
<string name="credits_button">Credits</string>
<string name="credits_by">by</string>
</resources>

0 comments on commit 86a754e

Please sign in to comment.