[fenix] Updates ConstraintLayout to alpha4
parent
d660200f5f
commit
287cc6a4f1
@ -1,47 +0,0 @@
|
|||||||
package org.mozilla.fenix.home
|
|
||||||
|
|
||||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
||||||
License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
||||||
file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
||||||
|
|
||||||
@SuppressWarnings("MagicNumber")
|
|
||||||
class KeyTrigger(
|
|
||||||
frame: Int,
|
|
||||||
private val onPositiveCross: () -> Unit,
|
|
||||||
private val onNegativeCross: () -> Unit
|
|
||||||
) {
|
|
||||||
private val fireThreshhold = (frame + 0.5F) / 100.0F
|
|
||||||
private var negativeReset = false
|
|
||||||
private var positiveReset = false
|
|
||||||
private var lastFirePosition = 0f
|
|
||||||
private val triggerSlack = 0.1f
|
|
||||||
|
|
||||||
fun conditionallyFire(progress: Float) {
|
|
||||||
var offset: Float
|
|
||||||
var lastOffset: Float
|
|
||||||
|
|
||||||
if (negativeReset) {
|
|
||||||
offset = progress - fireThreshhold
|
|
||||||
lastOffset = lastFirePosition - fireThreshhold
|
|
||||||
if (offset * lastOffset < 0.0f && offset < 0.0f) {
|
|
||||||
onNegativeCross.invoke()
|
|
||||||
negativeReset = false
|
|
||||||
}
|
|
||||||
} else if (Math.abs(progress - fireThreshhold) > triggerSlack) {
|
|
||||||
negativeReset = true
|
|
||||||
}
|
|
||||||
|
|
||||||
if (positiveReset) {
|
|
||||||
offset = progress - fireThreshhold
|
|
||||||
lastOffset = lastFirePosition - fireThreshhold
|
|
||||||
if (offset * lastOffset < 0.0f && offset > 0.0f) {
|
|
||||||
onPositiveCross.invoke()
|
|
||||||
positiveReset = false
|
|
||||||
}
|
|
||||||
} else if (Math.abs(progress - fireThreshhold) > triggerSlack) {
|
|
||||||
positiveReset = true
|
|
||||||
}
|
|
||||||
|
|
||||||
lastFirePosition = progress
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue