リビジョン f8c3ace7
| learn/android/TempRecorderJetpackKt/app/src/main/java/com/torutk/android/temprecorder/jetpackkt/MainActivity.kt | ||
|---|---|---|
|
import androidx.activity.viewModels
|
||
|
import androidx.appcompat.app.AppCompatActivity
|
||
|
import androidx.lifecycle.Observer
|
||
|
import androidx.lifecycle.ViewModelProvider
|
||
|
import com.torutk.android.temprecorder.jetpackkt.databinding.ActivityMainBinding
|
||
|
import kotlinx.android.synthetic.main.activity_main.*
|
||
|
import java.time.LocalDateTime
|
||
|
import java.time.format.DateTimeFormatter
|
||
|
|
||
| learn/android/TempRecorderJetpackKt/app/src/main/java/com/torutk/android/temprecorder/jetpackkt/MainViewModel.kt | ||
|---|---|---|
|
package com.torutk.android.temprecorder.jetpackkt
|
||
|
|
||
|
import androidx.lifecycle.LiveData
|
||
|
import androidx.lifecycle.MutableLiveData
|
||
|
import androidx.lifecycle.ViewModel
|
||
|
import java.time.LocalDateTime
|
||
|
|
||
|
class MainViewModel : ViewModel() {
|
||
|
val measuredAt: MutableLiveData<LocalDateTime> = MutableLiveData(LocalDateTime.now())
|
||
|
private val _measuredAt: MutableLiveData<LocalDateTime> = MutableLiveData(LocalDateTime.now())
|
||
|
val measuredAt: LiveData<LocalDateTime>
|
||
|
get() = _measuredAt
|
||
|
|
||
|
fun incrementMeasuredAt(minutes: Long) {
|
||
|
measuredAt.value = measuredAt.value?.plusMinutes(minutes)
|
||
|
_measuredAt.value = _measuredAt.value?.plusMinutes(minutes)
|
||
|
}
|
||
|
|
||
|
fun decrementMeasuredAt(minutes: Long) {
|
||
|
measuredAt.value = measuredAt.value?.minusMinutes(minutes)
|
||
|
_measuredAt.value = _measuredAt.value?.minusMinutes(minutes)
|
||
|
}
|
||
|
|
||
|
fun currentMeasuredAt() {
|
||
|
measuredAt.value = LocalDateTime.now()
|
||
|
_measuredAt.value = LocalDateTime.now()
|
||
|
}
|
||
|
}
|
||
refs #167 Modify to provide an immutable property of MeasuredAt to an activity