1
0
Fork 0
fenix/app/src/main/java/org/mozilla/fenix/perf/VisualCompletenessQueue.kt

34 lines
1.1 KiB
Kotlin

/* 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.perf
import android.view.View
import androidx.core.view.doOnPreDraw
import mozilla.components.support.utils.RunWhenReadyQueue
import java.lang.ref.WeakReference
/**
* class for all functionality related to Visual completeness queue
*/
class VisualCompletenessQueue(val queue: RunWhenReadyQueue) {
@Suppress("MagicNumber")
val delay = 5000L
/**
*
* @param containerWeakReference a weak reference to the root view of a view hierarchy. Weak
* reference is to avoid memory leak.
*/
fun attachViewToRunVisualCompletenessQueueLater(containerWeakReference: WeakReference<View>) {
containerWeakReference.get()?.doOnPreDraw {
// This delay is temporary. We are delaying 5 seconds until the performance
// team can locate the real point of visual completeness.
it.postDelayed({
queue.ready()
}, delay)
}
}
}