|
|
@ -106,23 +106,26 @@ class _RingIndicatorState extends State<RingIndicator> {
|
|
|
|
ticker = Ticker((_) {
|
|
|
|
ticker = Ticker((_) {
|
|
|
|
var diff = DateTime.now().difference(startTime).inMilliseconds;
|
|
|
|
var diff = DateTime.now().difference(startTime).inMilliseconds;
|
|
|
|
if (diff > 300) {
|
|
|
|
if (diff > 300) {
|
|
|
|
|
|
|
|
_applyChangeToSelfAndParent(newValue);
|
|
|
|
return ticker?.stop();
|
|
|
|
return ticker?.stop();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (mounted) {
|
|
|
|
_applyChangeToSelfAndParent(oldValue + (newValue - oldValue) * (diff / 300));
|
|
|
|
setState(() {
|
|
|
|
|
|
|
|
_value = oldValue + (newValue - oldValue) * (diff / 300);
|
|
|
|
|
|
|
|
values[0] = LevelValue(_value);
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
if (parent != null) {
|
|
|
|
|
|
|
|
for (var value in values.values) {
|
|
|
|
|
|
|
|
parent!.updateValue(value.incrementLevel());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
})
|
|
|
|
})
|
|
|
|
..start();
|
|
|
|
..start();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_applyChangeToSelfAndParent(double value) {
|
|
|
|
|
|
|
|
setState(() {
|
|
|
|
|
|
|
|
_value = value;
|
|
|
|
|
|
|
|
values[0] = LevelValue(_value);
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
if (parent != null) {
|
|
|
|
|
|
|
|
for (var value in values.values) {
|
|
|
|
|
|
|
|
parent!.updateValue(value.incrementLevel());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
@override
|
|
|
|
void initState() {
|
|
|
|
void initState() {
|
|
|
|
super.initState();
|
|
|
|
super.initState();
|
|
|
|