Replace Timber with Logger
This commit is contained in:
@@ -10,40 +10,45 @@ import by.kirich1409.viewbindingdelegate.viewBinding
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import gq.kirmanak.mealient.R
|
||||
import gq.kirmanak.mealient.databinding.FragmentDisclaimerBinding
|
||||
import gq.kirmanak.mealient.logging.Logger
|
||||
import gq.kirmanak.mealient.ui.activity.MainActivityViewModel
|
||||
import timber.log.Timber
|
||||
import javax.inject.Inject
|
||||
|
||||
@AndroidEntryPoint
|
||||
class DisclaimerFragment : Fragment(R.layout.fragment_disclaimer) {
|
||||
|
||||
private val binding by viewBinding(FragmentDisclaimerBinding::bind)
|
||||
private val viewModel by viewModels<DisclaimerViewModel>()
|
||||
private val activityViewModel by activityViewModels<MainActivityViewModel>()
|
||||
|
||||
@Inject
|
||||
lateinit var logger: Logger
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
Timber.v("onCreate() called with: savedInstanceState = $savedInstanceState")
|
||||
logger.v { "onCreate() called with: savedInstanceState = $savedInstanceState" }
|
||||
viewModel.isAccepted.observe(this, ::onAcceptStateChange)
|
||||
}
|
||||
|
||||
private fun onAcceptStateChange(isAccepted: Boolean) {
|
||||
Timber.v("onAcceptStateChange() called with: isAccepted = $isAccepted")
|
||||
logger.v { "onAcceptStateChange() called with: isAccepted = $isAccepted" }
|
||||
if (isAccepted) navigateNext()
|
||||
}
|
||||
|
||||
private fun navigateNext() {
|
||||
Timber.v("navigateNext() called")
|
||||
logger.v { "navigateNext() called" }
|
||||
findNavController().navigate(DisclaimerFragmentDirections.actionDisclaimerFragmentToBaseURLFragment())
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
Timber.v("onViewCreated() called with: view = $view, savedInstanceState = $savedInstanceState")
|
||||
logger.v { "onViewCreated() called with: view = $view, savedInstanceState = $savedInstanceState" }
|
||||
binding.okay.setOnClickListener {
|
||||
Timber.v("onViewCreated: okay clicked")
|
||||
logger.v { "onViewCreated: okay clicked" }
|
||||
viewModel.acceptDisclaimer()
|
||||
}
|
||||
viewModel.okayCountDown.observe(viewLifecycleOwner) {
|
||||
Timber.d("onViewCreated: new count $it")
|
||||
logger.d { "onViewCreated: new count $it" }
|
||||
binding.okay.text = if (it > 0) resources.getQuantityString(
|
||||
R.plurals.fragment_disclaimer_button_okay_timer, it, it
|
||||
) else getString(R.string.fragment_disclaimer_button_okay)
|
||||
|
||||
@@ -4,19 +4,20 @@ import androidx.annotation.VisibleForTesting
|
||||
import androidx.lifecycle.*
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import gq.kirmanak.mealient.data.disclaimer.DisclaimerStorage
|
||||
import gq.kirmanak.mealient.logging.Logger
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.flow.flow
|
||||
import kotlinx.coroutines.flow.launchIn
|
||||
import kotlinx.coroutines.flow.onEach
|
||||
import kotlinx.coroutines.flow.take
|
||||
import kotlinx.coroutines.launch
|
||||
import timber.log.Timber
|
||||
import java.util.concurrent.TimeUnit
|
||||
import javax.inject.Inject
|
||||
|
||||
@HiltViewModel
|
||||
class DisclaimerViewModel @Inject constructor(
|
||||
private val disclaimerStorage: DisclaimerStorage
|
||||
private val disclaimerStorage: DisclaimerStorage,
|
||||
private val logger: Logger,
|
||||
) : ViewModel() {
|
||||
|
||||
val isAccepted: LiveData<Boolean>
|
||||
@@ -26,12 +27,12 @@ class DisclaimerViewModel @Inject constructor(
|
||||
private var isCountDownStarted = false
|
||||
|
||||
fun acceptDisclaimer() {
|
||||
Timber.v("acceptDisclaimer() called")
|
||||
logger.v { "acceptDisclaimer() called" }
|
||||
viewModelScope.launch { disclaimerStorage.acceptDisclaimer() }
|
||||
}
|
||||
|
||||
fun startCountDown() {
|
||||
Timber.v("startCountDown() called")
|
||||
logger.v { "startCountDown() called" }
|
||||
if (isCountDownStarted) return
|
||||
isCountDownStarted = true
|
||||
tickerFlow(COUNT_DOWN_TICK_PERIOD_SEC.toLong(), TimeUnit.SECONDS)
|
||||
@@ -48,7 +49,7 @@ class DisclaimerViewModel @Inject constructor(
|
||||
*/
|
||||
@VisibleForTesting
|
||||
fun tickerFlow(period: Long, timeUnit: TimeUnit) = flow {
|
||||
Timber.v("tickerFlow() called with: period = $period, timeUnit = $timeUnit")
|
||||
logger.v { "tickerFlow() called with: period = $period, timeUnit = $timeUnit" }
|
||||
val periodMillis = timeUnit.toMillis(period)
|
||||
var counter = 0
|
||||
while (true) {
|
||||
|
||||
Reference in New Issue
Block a user