From df3eaa2ca72226844b41e7d82b09b2d5b944b7d7 Mon Sep 17 00:00:00 2001 From: Jeff Boek Date: Tue, 12 Feb 2019 15:48:53 -0800 Subject: [PATCH] For #456 - Moves out KeyTrigger into its own file --- .../org/mozilla/fenix/home/HomeFragment.kt | 46 +----------------- .../java/org/mozilla/fenix/home/KeyTrigger.kt | 47 +++++++++++++++++++ 2 files changed, 48 insertions(+), 45 deletions(-) create mode 100644 app/src/main/java/org/mozilla/fenix/home/KeyTrigger.kt diff --git a/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt b/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt index 97fdbbbf6..f32635e51 100644 --- a/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt @@ -1,6 +1,4 @@ -/* 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/. */ + package org.mozilla.fenix.home @@ -145,48 +143,6 @@ class HomeFragment : Fragment() { } } - @SuppressWarnings("MagicNumber") - private 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 - } - } - override fun onResume() { super.onResume() sessionObserver = subscribeToSessions() diff --git a/app/src/main/java/org/mozilla/fenix/home/KeyTrigger.kt b/app/src/main/java/org/mozilla/fenix/home/KeyTrigger.kt new file mode 100644 index 000000000..25cdceddd --- /dev/null +++ b/app/src/main/java/org/mozilla/fenix/home/KeyTrigger.kt @@ -0,0 +1,47 @@ +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 + } +}