Skip to content

Commit

Permalink
Fix minimumViewTime
Browse files Browse the repository at this point in the history
Reviewed By: blairvanderhoof

Differential Revision: D4723575

fbshipit-source-id: a120eef4079a808bd3dead08df93989e1db3d96a
  • Loading branch information
sahrens authored and facebook-github-bot committed Mar 16, 2017
1 parent 63fa621 commit b1a63f0
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 8 deletions.
8 changes: 4 additions & 4 deletions Libraries/CustomComponents/Lists/ViewabilityHelper.js
Expand Up @@ -49,7 +49,7 @@ export type ViewabilityConfig = {|
* layout.
*
* An item is said to be in a "viewable" state when any of the following
* is true for longer than `minViewTime` milliseconds (after an interaction if `waitForInteraction`
* is true for longer than `minimumViewTime` milliseconds (after an interaction if `waitForInteraction`
* is true):
*
* - Occupying >= `viewAreaCoveragePercentThreshold` of the view area XOR fraction of the item
Expand Down Expand Up @@ -145,7 +145,7 @@ class ViewabilityHelper {
renderRange?: {first: number, last: number}, // Optional optimization to reduce the scan size
): void {
const updateTime = Date.now();
if (this._lastUpdateTime === 0 && getFrameMetrics(0)) {
if (this._lastUpdateTime === 0 && itemCount > 0 && getFrameMetrics(0)) {
// Only count updates after the first item is rendered and has a frame.
this._lastUpdateTime = updateTime;
}
Expand All @@ -171,13 +171,13 @@ class ViewabilityHelper {
}
this._viewableIndices = viewableIndices;
this._lastUpdateTime = updateTime;
if (this._config.minViewTime && updateElapsed < this._config.minViewTime) {
if (this._config.minimumViewTime && updateElapsed < this._config.minimumViewTime) {
const handle = setTimeout(
() => {
this._timers.delete(handle);
this._onUpdateSync(viewableIndices, onViewableItemsChanged, createViewToken);
},
this._config.minViewTime,
this._config.minimumViewTime,
);
this._timers.add(handle);
} else {
Expand Down
Expand Up @@ -249,9 +249,9 @@ describe('onUpdate', function() {
);

it(
'minViewTime delays callback',
'minimumViewTime delays callback',
function() {
const helper = new ViewabilityHelper({minViewTime: 350, viewAreaCoveragePercentThreshold: 0});
const helper = new ViewabilityHelper({minimumViewTime: 350, viewAreaCoveragePercentThreshold: 0});
rowFrames = {
a: {y: 0, height: 200},
b: {y: 200, height: 200},
Expand Down Expand Up @@ -279,9 +279,9 @@ describe('onUpdate', function() {
);

it(
'minViewTime skips briefly visible items',
'minimumViewTime skips briefly visible items',
function() {
const helper = new ViewabilityHelper({minViewTime: 350, viewAreaCoveragePercentThreshold: 0});
const helper = new ViewabilityHelper({minimumViewTime: 350, viewAreaCoveragePercentThreshold: 0});
rowFrames = {
a: {y: 0, height: 250},
b: {y: 250, height: 200},
Expand Down

0 comments on commit b1a63f0

Please sign in to comment.