|
@@ -28,12 +28,13 @@ class TimePickerView : ConstraintLayout {
|
|
|
|
|
|
private var firstTimePos = 0
|
|
|
private var secondTimePos = 0
|
|
|
+ private var currentTotalSecond = 0
|
|
|
|
|
|
private var maxTime = 8 * 60 * 60
|
|
|
private var minTime = 0
|
|
|
|
|
|
- private var firstUnit:String? = null
|
|
|
- private var secondUnit:String? = null
|
|
|
+ private var firstUnit: String? = null
|
|
|
+ private var secondUnit: String? = null
|
|
|
|
|
|
var onTimePickerCallback: OnTimePickerCallback? = null
|
|
|
private var firstManager: ScrollLinearManager
|
|
@@ -165,7 +166,7 @@ class TimePickerView : ConstraintLayout {
|
|
|
}
|
|
|
|
|
|
this.firstUnit = firstUnit;
|
|
|
- this.secondUnit = secondUnit;
|
|
|
+ this.secondUnit = secondUnit;
|
|
|
}
|
|
|
|
|
|
private fun updateDisplayTime() {
|
|
@@ -210,7 +211,11 @@ class TimePickerView : ConstraintLayout {
|
|
|
}
|
|
|
binding.let {
|
|
|
if (changeSetting) {
|
|
|
- firstTimePos = firstTime
|
|
|
+ firstTimePos = if (hours > 0) {
|
|
|
+ 59 + firstTime
|
|
|
+ } else {
|
|
|
+ firstTime
|
|
|
+ }
|
|
|
secondTimePos = secondTime
|
|
|
it.tvSetTimeFirst.scrollToPosition(firstTimePos)
|
|
|
it.tvSetTimeSecond.scrollToPosition(secondTimePos)
|
|
@@ -253,10 +258,15 @@ class TimePickerView : ConstraintLayout {
|
|
|
val maxMinutes = (maxTime / 60 % 60)
|
|
|
val maxHours = (maxTime / 3600)
|
|
|
val maxSeconds = maxTime % 60
|
|
|
- val currentSeconds: Int = if(firstUnit === "hour"){
|
|
|
- val hours = firstTimePos
|
|
|
+ val currentSeconds: Int = if (firstUnit === "hour") {
|
|
|
+ val indexRe = firstData[firstTimePos]
|
|
|
+ val hours = if (indexRe.startsWith("0")) {
|
|
|
+ indexRe.substring(1, 2).toInt()
|
|
|
+ } else {
|
|
|
+ indexRe.toInt()
|
|
|
+ }
|
|
|
hours * 60 * 60 + secondTimePos * 60
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
firstTimePos * 60 + secondTimePos
|
|
|
}
|
|
|
if (currentSeconds < minTime) {
|