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 dialog titles

razeeman (Dec 3, 2022, 1:48 PM +0300) 2976b485 144e5831

+73 -25
+1
core/src/main/res/values-de/strings.xml
··· 133 133 <string name="card_order_hint">Ziehen und Ablegen zum Neuordnen</string> 134 134 135 135 <string name="chart_filter_hint">Filter</string> 136 + <string name="types_compare_hint">Vergleich</string> 136 137 <string name="types_filter_show_all">Alles anzeigen</string> 137 138 <string name="types_filter_hide_all">Alles ausblenden</string> 138 139 <string name="chart_filter_type_hint">Statistik Typ</string>
+1
core/src/main/res/values-es/strings.xml
··· 133 133 <string name="card_order_hint">Arrastre y suelte para reorganizar</string> 134 134 135 135 <string name="chart_filter_hint">Filtro</string> 136 + <string name="types_compare_hint">Comparación</string> 136 137 <string name="types_filter_show_all">Mostrar todo</string> 137 138 <string name="types_filter_hide_all">Ocultar todo</string> 138 139 <string name="chart_filter_type_hint">Tipo de estadística</string>
+1
core/src/main/res/values-fr/strings.xml
··· 133 133 <string name="card_order_hint">Glisser-déposer pour réorganiser</string> 134 134 135 135 <string name="chart_filter_hint">Filtrer</string> 136 + <string name="types_compare_hint">Comparaison</string> 136 137 <string name="types_filter_show_all">Afficher tout</string> 137 138 <string name="types_filter_hide_all">Cacher tout</string> 138 139 <string name="chart_filter_type_hint">Type de statistiques</string>
+1
core/src/main/res/values-in/strings.xml
··· 133 133 <string name="card_order_hint">Seret dan lepas untuk menyusun ulang</string> 134 134 135 135 <string name="chart_filter_hint">Saring</string> 136 + <string name="types_compare_hint">Perbandingan</string> 136 137 <string name="types_filter_show_all">Tampilkan semua</string> 137 138 <string name="types_filter_hide_all">Sembunyikan semua</string> 138 139 <string name="chart_filter_type_hint">Jenis statistik</string>
+1
core/src/main/res/values-it/strings.xml
··· 133 133 <string name="card_order_hint">Drag and drop per riordinare</string> 134 134 135 135 <string name="chart_filter_hint">Filtra</string> 136 + <string name="types_compare_hint">Confronto</string> 136 137 <string name="types_filter_show_all">Mostra tutto</string> 137 138 <string name="types_filter_hide_all">Nascondi tutto</string> 138 139 <string name="chart_filter_type_hint">Tipi di statistiche</string>
+1
core/src/main/res/values-ja/strings.xml
··· 133 133 <string name="card_order_hint">ドラッグ&ドロップで並び替え</string> 134 134 135 135 <string name="chart_filter_hint">フィルタ</string> 136 + <string name="types_compare_hint">比較</string> 136 137 <string name="types_filter_show_all">すべて表示</string> 137 138 <string name="types_filter_hide_all">すべて隠す</string> 138 139 <string name="chart_filter_type_hint">統計の種類</string>
+1
core/src/main/res/values-nl/strings.xml
··· 133 133 <string name="card_order_hint">Slepen en neerzetten om opnieuw te ordenen</string> 134 134 135 135 <string name="chart_filter_hint">Filter</string> 136 + <string name="types_compare_hint">Vergelijking</string> 136 137 <string name="types_filter_show_all">Alles tonen</string> 137 138 <string name="types_filter_hide_all">Alles verbergen</string> 138 139 <string name="chart_filter_type_hint">Statistiektype</string>
+1
core/src/main/res/values-pt/strings.xml
··· 133 133 <string name="card_order_hint">Arraste e solte para reorganizar</string> 134 134 135 135 <string name="chart_filter_hint">Filtrar</string> 136 + <string name="types_compare_hint">Comparação</string> 136 137 <string name="types_filter_show_all">Mostrar todos</string> 137 138 <string name="types_filter_hide_all">Ocultar todos</string> 138 139 <string name="chart_filter_type_hint">Tipo de estatísticas</string>
+2 -1
core/src/main/res/values-ru/strings.xml
··· 100 100 <string name="change_running_record_removed">Текущая активность удалена</string> 101 101 <string name="change_record_split">Разделить</string> 102 102 <string name="change_record_split_hint">Разрежет текущую запись на две в указанный момент времени</string> 103 - <string name="change_record_continue">Продолжать</string> 103 + <string name="change_record_continue">Продолжить</string> 104 104 <string name="change_record_continue_hint">Удалит текущую запись и продолжит отслеживать эту активность</string> 105 105 106 106 <!-- Change record type --> ··· 133 133 <string name="card_order_hint">Перетащите, чтобы изменить порядок</string> 134 134 135 135 <string name="chart_filter_hint">Фильтр</string> 136 + <string name="types_compare_hint">Сравнение</string> 136 137 <string name="types_filter_show_all">Показать все</string> 137 138 <string name="types_filter_hide_all">Скрыть все</string> 138 139 <string name="chart_filter_type_hint">Тип статистики</string>
+1
core/src/main/res/values-sv/strings.xml
··· 133 133 <string name="card_order_hint">Dra och släpp för att byta ordning</string> 134 134 135 135 <string name="chart_filter_hint">Filter</string> 136 + <string name="types_compare_hint">Jämförelse</string> 136 137 <string name="types_filter_show_all">Visa alla</string> 137 138 <string name="types_filter_hide_all">Göm alla</string> 138 139 <string name="chart_filter_type_hint">Statistiktyp</string>
+1
core/src/main/res/values-tr/strings.xml
··· 133 133 <string name="card_order_hint">Yeniden sıralamak için sürükleyip bırakın</string> 134 134 135 135 <string name="chart_filter_hint">Filtre</string> 136 + <string name="types_compare_hint">Karşılaştırmak</string> 136 137 <string name="types_filter_show_all">Tümünü göster</string> 137 138 <string name="types_filter_hide_all">Tümünü gizle</string> 138 139 <string name="chart_filter_type_hint">İstatistik tipi</string>
+1
core/src/main/res/values-uk/strings.xml
··· 133 133 <string name="card_order_hint">Перетягніть, щоб впорядкувати</string> 134 134 135 135 <string name="chart_filter_hint">Фільтр</string> 136 + <string name="types_compare_hint">Порівняння</string> 136 137 <string name="types_filter_show_all">Показати все</string> 137 138 <string name="types_filter_hide_all">Приховати все</string> 138 139 <string name="chart_filter_type_hint">Тип статистики</string>
+1
core/src/main/res/values-zh/strings.xml
··· 133 133 <string name="card_order_hint">拖放以重新排序</string> 134 134 135 135 <string name="chart_filter_hint">过滤</string> 136 + <string name="types_compare_hint">比较</string> 136 137 <string name="types_filter_show_all">全部显示</string> 137 138 <string name="types_filter_hide_all">全部隐藏</string> 138 139 <string name="chart_filter_type_hint">统计类型</string>
+1
core/src/main/res/values/strings.xml
··· 133 133 <string name="card_order_hint">Drag and drop to reorder</string> 134 134 135 135 <string name="chart_filter_hint">Filter</string> 136 + <string name="types_compare_hint">Comparison</string> 136 137 <string name="types_filter_show_all">Show all</string> 137 138 <string name="types_filter_hide_all">Hide all</string> 138 139 <string name="chart_filter_type_hint">Statistics type</string>
+11 -10
features/feature_dialogs/src/main/java/com/example/util/simpletimetracker/feature_dialogs/typesFilter/view/TypesFilterDialogFragment.kt
··· 1 1 package com.example.util.simpletimetracker.feature_dialogs.typesFilter.view 2 2 3 + import com.example.util.simpletimetracker.feature_dialogs.databinding.TypesFilterDialogFragmentBinding as Binding 3 4 import android.content.Context 4 5 import android.content.DialogInterface 5 6 import android.os.Bundle ··· 7 8 import android.view.ViewGroup 8 9 import androidx.appcompat.app.AppCompatActivity 9 10 import androidx.fragment.app.viewModels 10 - import com.example.util.simpletimetracker.feature_base_adapter.BaseRecyclerAdapter 11 - import com.example.util.simpletimetracker.feature_base_adapter.category.createCategoryAdapterDelegate 12 - import com.example.util.simpletimetracker.feature_base_adapter.divider.createDividerAdapterDelegate 13 - import com.example.util.simpletimetracker.feature_base_adapter.hint.createHintAdapterDelegate 14 - import com.example.util.simpletimetracker.feature_base_adapter.loader.createLoaderAdapterDelegate 15 - import com.example.util.simpletimetracker.feature_base_adapter.recordType.createRecordTypeAdapterDelegate 16 11 import com.example.util.simpletimetracker.core.base.BaseBottomSheetFragment 17 12 import com.example.util.simpletimetracker.core.di.BaseViewModelFactory 18 13 import com.example.util.simpletimetracker.core.dialog.TypesFilterDialogListener 19 14 import com.example.util.simpletimetracker.core.extension.blockContentScroll 20 15 import com.example.util.simpletimetracker.core.extension.getAllFragments 21 16 import com.example.util.simpletimetracker.core.extension.setFullScreen 22 - import com.example.util.simpletimetracker.feature_views.extension.setOnClick 23 17 import com.example.util.simpletimetracker.core.extension.setSkipCollapsed 24 18 import com.example.util.simpletimetracker.core.utils.fragmentArgumentDelegate 19 + import com.example.util.simpletimetracker.feature_base_adapter.BaseRecyclerAdapter 20 + import com.example.util.simpletimetracker.feature_base_adapter.category.createCategoryAdapterDelegate 21 + import com.example.util.simpletimetracker.feature_base_adapter.divider.createDividerAdapterDelegate 22 + import com.example.util.simpletimetracker.feature_base_adapter.hint.createHintAdapterDelegate 23 + import com.example.util.simpletimetracker.feature_base_adapter.loader.createLoaderAdapterDelegate 24 + import com.example.util.simpletimetracker.feature_base_adapter.recordType.createRecordTypeAdapterDelegate 25 25 import com.example.util.simpletimetracker.feature_dialogs.typesFilter.viewModel.TypesFilterViewModel 26 + import com.example.util.simpletimetracker.feature_views.extension.setOnClick 26 27 import com.example.util.simpletimetracker.navigation.params.screen.TypesFilterDialogParams 27 28 import com.google.android.flexbox.FlexDirection 28 29 import com.google.android.flexbox.FlexWrap ··· 30 31 import com.google.android.flexbox.JustifyContent 31 32 import dagger.hilt.android.AndroidEntryPoint 32 33 import javax.inject.Inject 33 - import com.example.util.simpletimetracker.feature_dialogs.databinding.TypesFilterDialogFragmentBinding as Binding 34 34 35 35 @AndroidEntryPoint 36 36 class TypesFilterDialogFragment : BaseBottomSheetFragment<Binding>() { ··· 86 86 blockContentScroll(binding.rvTypesFilterContainer) 87 87 } 88 88 89 - override fun initUi() { 90 - binding.rvTypesFilterContainer.apply { 89 + override fun initUi(): Unit = with(binding) { 90 + tvTypesFilterTitle.text = params.title 91 + rvTypesFilterContainer.apply { 91 92 layoutManager = FlexboxLayoutManager(requireContext()).apply { 92 93 flexDirection = FlexDirection.ROW 93 94 justifyContent = JustifyContent.CENTER
+6 -4
features/feature_dialogs/src/main/res/layout/chart_filter_dialog_fragment.xml
··· 17 17 android:tint="?appContrastColor" /> 18 18 19 19 <androidx.appcompat.widget.AppCompatTextView 20 + style="@style/DialogTitle" 20 21 android:layout_width="match_parent" 21 22 android:layout_height="wrap_content" 22 - android:layout_marginTop="12dp" 23 - android:gravity="center" 24 - android:text="@string/chart_filter_hint" 25 - android:textColor="?appTextHintColor" /> 23 + android:text="@string/chart_filter_hint" /> 24 + 25 + <com.example.util.simpletimetracker.feature_views.DividerView 26 + android:layout_width="match_parent" 27 + android:layout_height="wrap_content" /> 26 28 27 29 <androidx.recyclerview.widget.RecyclerView 28 30 android:id="@+id/rvChartFilterContainer"
+1 -6
features/feature_dialogs/src/main/res/layout/help_dialog_fragment.xml
··· 17 17 18 18 <androidx.appcompat.widget.AppCompatTextView 19 19 android:id="@+id/tvHelpDialogTitle" 20 + style="@style/DialogTitle" 20 21 android:layout_width="match_parent" 21 22 android:layout_height="wrap_content" 22 - android:layout_marginTop="12dp" 23 - android:gravity="center" 24 - android:paddingHorizontal="16dp" 25 - android:textColor="?appTextPrimaryColor" 26 - android:textSize="22sp" 27 - android:textStyle="bold" 28 23 tools:text="Help title" /> 29 24 30 25 <com.example.util.simpletimetracker.feature_views.DividerView
+12 -2
features/feature_dialogs/src/main/res/layout/types_filter_dialog_fragment.xml
··· 16 16 android:src="@drawable/dialog_arrow" 17 17 android:tint="?appContrastColor" /> 18 18 19 + <androidx.appcompat.widget.AppCompatTextView 20 + android:id="@+id/tvTypesFilterTitle" 21 + style="@style/DialogTitle" 22 + android:layout_width="match_parent" 23 + android:layout_height="wrap_content" 24 + tools:text="Dialog title" /> 25 + 26 + <com.example.util.simpletimetracker.feature_views.DividerView 27 + android:layout_width="match_parent" 28 + android:layout_height="wrap_content" /> 29 + 19 30 <androidx.recyclerview.widget.RecyclerView 20 31 android:id="@+id/rvTypesFilterContainer" 21 32 android:layout_width="match_parent" 22 33 android:layout_height="0dp" 23 - android:layout_marginTop="32dp" 24 - android:layout_marginBottom="32dp" 34 + android:layout_marginBottom="24dp" 25 35 android:layout_weight="1" 26 36 tools:listitem="@layout/item_record_type_layout" /> 27 37
+17 -2
features/feature_statistics_detail/src/main/java/com/example/util/simpletimetracker/feature_statistics_detail/viewModel/StatisticsDetailViewModel.kt
··· 10 10 import com.example.util.simpletimetracker.core.interactor.TypesFilterInteractor 11 11 import com.example.util.simpletimetracker.core.mapper.RangeMapper 12 12 import com.example.util.simpletimetracker.core.mapper.TimeMapper 13 + import com.example.util.simpletimetracker.core.repo.ResourceRepo 13 14 import com.example.util.simpletimetracker.core.view.buttonsRowView.ButtonsRowViewData 14 15 import com.example.util.simpletimetracker.core.viewData.RangeViewData 15 16 import com.example.util.simpletimetracker.core.viewData.RangesViewData ··· 21 22 import com.example.util.simpletimetracker.domain.model.RangeLength 22 23 import com.example.util.simpletimetracker.domain.model.Record 23 24 import com.example.util.simpletimetracker.feature_base_adapter.ViewHolderType 25 + import com.example.util.simpletimetracker.feature_statistics_detail.R 24 26 import com.example.util.simpletimetracker.feature_statistics_detail.interactor.StatisticsDetailChartInteractor 25 27 import com.example.util.simpletimetracker.feature_statistics_detail.interactor.StatisticsDetailPreviewInteractor 26 28 import com.example.util.simpletimetracker.feature_statistics_detail.interactor.StatisticsDetailSplitChartInteractor ··· 53 55 54 56 class StatisticsDetailViewModel @Inject constructor( 55 57 private val router: Router, 58 + private val resourceRepo: ResourceRepo, 56 59 private val prefsInteractor: PrefsInteractor, 57 60 private val recordInteractor: RecordInteractor, 58 61 private val typesFilterInteractor: TypesFilterInteractor, ··· 136 139 } 137 140 138 141 fun onFilterClick() { 139 - router.navigate(TypesFilterDialogParams(FILTER_TAG, typesFilter)) 142 + router.navigate( 143 + TypesFilterDialogParams( 144 + tag = FILTER_TAG, 145 + title = resourceRepo.getString(R.string.chart_filter_hint), 146 + filter = typesFilter 147 + ) 148 + ) 140 149 } 141 150 142 151 fun onCompareClick() { 143 - router.navigate(TypesFilterDialogParams(COMPARE_TAG, comparisonTypesFilter)) 152 + router.navigate( 153 + TypesFilterDialogParams( 154 + tag = COMPARE_TAG, 155 + title = resourceRepo.getString(R.string.types_compare_hint), 156 + filter = comparisonTypesFilter 157 + ) 158 + ) 144 159 } 145 160 146 161 fun onTypesFilterSelected(tag: String, newFilter: TypesFilterParams) {
+10
features/feature_views/src/main/res/values/styles.xml
··· 295 295 <item name="layout_constraintHorizontal_weight">1</item> 296 296 </style> 297 297 298 + <style name="DialogTitle"> 299 + <item name="android:layout_marginTop">12dp</item> 300 + <item name="android:gravity">center</item> 301 + <item name="android:paddingStart">16dp</item> 302 + <item name="android:paddingEnd">16dp</item> 303 + <item name="android:textColor">?appTextPrimaryColor</item> 304 + <item name="android:textSize">22sp</item> 305 + <item name="android:textStyle">bold</item> 306 + </style> 307 + 298 308 </resources>
+1
navigation/src/main/java/com/example/util/simpletimetracker/navigation/params/screen/TypesFilterDialogParams.kt
··· 6 6 @Parcelize 7 7 data class TypesFilterDialogParams( 8 8 val tag: String = "", 9 + val title: String = "", 9 10 val filter: TypesFilterParams = TypesFilterParams() 10 11 ) : ScreenParams, Parcelable