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.

fix activities not being translated with per language selection

razeeman (Aug 20, 2023, 10:05 AM +0300) 714e9c3e 312825f6

+36 -8
-8
app/src/main/java/com/example/util/simpletimetracker/ui/MainActivity.kt
··· 1 1 package com.example.util.simpletimetracker.ui 2 2 3 - import android.content.Context 4 3 import android.os.Bundle 5 4 import androidx.activity.viewModels 6 5 import com.example.util.simpletimetracker.core.base.BaseActivity 7 6 import com.example.util.simpletimetracker.core.di.BaseViewModelFactory 8 - import com.example.util.simpletimetracker.core.extension.allowDiskWrite 9 7 import com.example.util.simpletimetracker.core.manager.ThemeManager 10 8 import com.example.util.simpletimetracker.core.provider.ContextProvider 11 9 import com.example.util.simpletimetracker.core.sharedViewModel.BackupViewModel ··· 34 32 factoryProducer = { backupViewModelFactory } 35 33 ) 36 34 private lateinit var binding: MainActivityBinding 37 - 38 - override fun attachBaseContext(newBase: Context?) { 39 - // Suppress strictMode for per app language prefs read for stored locale (see autoStoreLocales). 40 - // Only for api lower than 33. 41 - allowDiskWrite { super.attachBaseContext(newBase) } 42 - } 43 35 44 36 override fun onCreate(savedInstanceState: Bundle?) { 45 37 super.onCreate(savedInstanceState)
+8
core/src/main/java/com/example/util/simpletimetracker/core/base/BaseActivity.kt
··· 1 1 package com.example.util.simpletimetracker.core.base 2 2 3 + import android.content.Context 3 4 import androidx.appcompat.app.AppCompatActivity 4 5 import androidx.lifecycle.LiveData 6 + import com.example.util.simpletimetracker.core.extension.allowDiskWrite 5 7 6 8 abstract class BaseActivity : AppCompatActivity() { 9 + 10 + override fun attachBaseContext(newBase: Context?) { 11 + // Suppress strictMode for per app language prefs read for stored locale (see autoStoreLocales). 12 + // Only for api lower than 33. 13 + allowDiskWrite { super.attachBaseContext(newBase) } 14 + } 7 15 8 16 inline fun <T> LiveData<T>.observe( 9 17 crossinline onChanged: (T) -> Unit
+5
features/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/single/WidgetSingleTagSelectionActivity.kt
··· 7 7 import com.example.util.simpletimetracker.core.base.BaseActivity 8 8 import com.example.util.simpletimetracker.core.dialog.OnTagSelectedListener 9 9 import com.example.util.simpletimetracker.core.manager.ThemeManager 10 + import com.example.util.simpletimetracker.core.provider.ContextProvider 10 11 import com.example.util.simpletimetracker.core.utils.activityArgumentDelegate 11 12 import com.example.util.simpletimetracker.feature_widget.R 12 13 import com.example.util.simpletimetracker.navigation.ScreenFactory ··· 23 24 lateinit var themeManager: ThemeManager 24 25 25 26 @Inject 27 + lateinit var contextProvider: ContextProvider 28 + 29 + @Inject 26 30 lateinit var screenFactory: ScreenFactory 27 31 28 32 private val params: RecordTagSelectionParams by activityArgumentDelegate( ··· 31 35 32 36 override fun onCreate(savedInstanceState: Bundle?) { 33 37 super.onCreate(savedInstanceState) 38 + contextProvider.attach(this) 34 39 35 40 themeManager.setTheme(this) 36 41 setContentView(R.layout.widget_tag_selection_activity)
+6
features/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/quickSettings/settings/WidgetQuickSettingsConfigureActivity.kt
··· 7 7 import androidx.activity.viewModels 8 8 import com.example.util.simpletimetracker.core.base.BaseActivity 9 9 import com.example.util.simpletimetracker.core.manager.ThemeManager 10 + import com.example.util.simpletimetracker.core.provider.ContextProvider 10 11 import com.example.util.simpletimetracker.feature_views.extension.setOnClick 11 12 import com.example.util.simpletimetracker.feature_widget.databinding.WidgetQuickSettingsConfigureActivityBinding 12 13 import dagger.hilt.android.AndroidEntryPoint ··· 18 19 @Inject 19 20 lateinit var themeManager: ThemeManager 20 21 22 + @Inject 23 + lateinit var contextProvider: ContextProvider 24 + 21 25 private val viewModel: WidgetQuickSettingsConfigureViewModel by viewModels() 22 26 23 27 override fun onCreate(savedInstanceState: Bundle?) { 24 28 super.onCreate(savedInstanceState) 29 + contextProvider.attach(this) 30 + 25 31 // Set the result to CANCELED. This will cause the widget host to cancel 26 32 // out of the widget placement if they press the back button. 27 33 setResult(RESULT_CANCELED)
+6
features/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/single/settings/WidgetSingleSettingsActivity.kt
··· 7 7 import androidx.activity.viewModels 8 8 import com.example.util.simpletimetracker.core.base.BaseActivity 9 9 import com.example.util.simpletimetracker.core.manager.ThemeManager 10 + import com.example.util.simpletimetracker.core.provider.ContextProvider 10 11 import com.example.util.simpletimetracker.feature_base_adapter.BaseRecyclerAdapter 11 12 import com.example.util.simpletimetracker.feature_base_adapter.empty.createEmptyAdapterDelegate 12 13 import com.example.util.simpletimetracker.feature_base_adapter.loader.createLoaderAdapterDelegate ··· 26 27 @Inject 27 28 lateinit var themeManager: ThemeManager 28 29 30 + @Inject 31 + lateinit var contextProvider: ContextProvider 32 + 29 33 private val viewModel: WidgetSingleSettingsViewModel by viewModels() 30 34 31 35 private val typesAdapter: BaseRecyclerAdapter by lazy { ··· 39 43 40 44 override fun onCreate(savedInstanceState: Bundle?) { 41 45 super.onCreate(savedInstanceState) 46 + contextProvider.attach(this) 47 + 42 48 // Set the result to CANCELED. This will cause the widget host to cancel 43 49 // out of the widget placement if they press the back button. 44 50 setResult(RESULT_CANCELED)
+6
features/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/statistics/settings/WidgetStatisticsSettingsActivity.kt
··· 7 7 import androidx.activity.viewModels 8 8 import com.example.util.simpletimetracker.core.base.BaseActivity 9 9 import com.example.util.simpletimetracker.core.manager.ThemeManager 10 + import com.example.util.simpletimetracker.core.provider.ContextProvider 10 11 import com.example.util.simpletimetracker.feature_base_adapter.BaseRecyclerAdapter 11 12 import com.example.util.simpletimetracker.feature_base_adapter.category.createCategoryAdapterDelegate 12 13 import com.example.util.simpletimetracker.feature_base_adapter.empty.createEmptyAdapterDelegate ··· 27 28 @Inject 28 29 lateinit var themeManager: ThemeManager 29 30 31 + @Inject 32 + lateinit var contextProvider: ContextProvider 33 + 30 34 private val viewModel: WidgetStatisticsSettingsViewModel by viewModels() 31 35 32 36 private val recordTypesAdapter: BaseRecyclerAdapter by lazy { ··· 40 44 41 45 override fun onCreate(savedInstanceState: Bundle?) { 42 46 super.onCreate(savedInstanceState) 47 + contextProvider.attach(this) 48 + 43 49 // Set the result to CANCELED. This will cause the widget host to cancel 44 50 // out of the widget placement if they press the back button. 45 51 setResult(RESULT_CANCELED)
+5
features/feature_widget/src/main/java/com/example/util/simpletimetracker/feature_widget/universal/activity/view/WidgetUniversalActivity.kt
··· 3 3 import android.os.Bundle 4 4 import com.example.util.simpletimetracker.core.base.BaseActivity 5 5 import com.example.util.simpletimetracker.core.manager.ThemeManager 6 + import com.example.util.simpletimetracker.core.provider.ContextProvider 6 7 import com.example.util.simpletimetracker.feature_widget.R 7 8 import com.example.util.simpletimetracker.navigation.Router 8 9 import dagger.hilt.android.AndroidEntryPoint ··· 17 18 @Inject 18 19 lateinit var themeManager: ThemeManager 19 20 21 + @Inject 22 + lateinit var contextProvider: ContextProvider 23 + 20 24 override fun onCreate(savedInstanceState: Bundle?) { 21 25 super.onCreate(savedInstanceState) 26 + contextProvider.attach(this) 22 27 23 28 themeManager.setTheme(this) 24 29 setContentView(R.layout.widget_universal_activity)