diff --git a/android/app/build.gradle b/android/app/build.gradle
index dee913e78e97f..7468a78780921 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -150,8 +150,8 @@ android {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
multiDexEnabled rootProject.ext.multiDexEnabled
- versionCode 1001008101
- versionName "1.0.81-1"
+ versionCode 1001008103
+ versionName "1.0.81-3"
}
splits {
abi {
diff --git a/ios/ExpensifyCash/Info.plist b/ios/ExpensifyCash/Info.plist
index 790b90b03b32d..ed8938afed34a 100644
--- a/ios/ExpensifyCash/Info.plist
+++ b/ios/ExpensifyCash/Info.plist
@@ -30,7 +30,7 @@
CFBundleVersion
- 1.0.81.1
+ 1.0.81.3
ITSAppUsesNonExemptEncryption
LSApplicationQueriesSchemes
diff --git a/ios/ExpensifyCashTests/Info.plist b/ios/ExpensifyCashTests/Info.plist
index 135fb4f426e22..ac439ff2064ba 100644
--- a/ios/ExpensifyCashTests/Info.plist
+++ b/ios/ExpensifyCashTests/Info.plist
@@ -19,6 +19,6 @@
CFBundleSignature
????
CFBundleVersion
- 1.0.81.1
+ 1.0.81.3
diff --git a/package-lock.json b/package-lock.json
index 2bff44ebdf79b..c148d68249397 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "expensify.cash",
- "version": "1.0.81-1",
+ "version": "1.0.81-3",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
diff --git a/package.json b/package.json
index d742ee0f86576..3bb5c5544a1a3 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "expensify.cash",
- "version": "1.0.81-1",
+ "version": "1.0.81-3",
"author": "Expensify, Inc.",
"homepage": "https://new.expensify.com",
"description": "Expensify.cash is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.",
diff --git a/src/components/OptionsList.js b/src/components/OptionsList.js
index cfb25b7e5e19a..715edea1c35c5 100644
--- a/src/components/OptionsList.js
+++ b/src/components/OptionsList.js
@@ -113,6 +113,7 @@ class OptionsList extends Component {
this.renderSectionHeader = this.renderSectionHeader.bind(this);
this.extractKey = this.extractKey.bind(this);
this.onScrollToIndexFailed = this.onScrollToIndexFailed.bind(this);
+ this.onViewableItemsChanged = this.onViewableItemsChanged.bind(this);
this.viewabilityConfig = {viewAreaCoveragePercentThreshold: 95};
this.didLayout = false;
}
@@ -137,6 +138,15 @@ class OptionsList extends Component {
return false;
}
+ onViewableItemsChanged() {
+ if (this.didLayout || !this.props.onLayout) {
+ return;
+ }
+
+ this.didLayout = true;
+ this.props.onLayout();
+ }
+
/**
* We must implement this method in order to use the ref.scrollToLocation() method.
* See: https://reactnative.dev/docs/sectionlist#scrolltolocation
@@ -238,14 +248,7 @@ class OptionsList extends Component {
maxToRenderPerBatch={5}
windowSize={5}
viewabilityConfig={this.viewabilityConfig}
- onViewableItemsChanged={() => {
- if (this.didLayout) {
- return;
- }
-
- this.didLayout = true;
- this.props.onLayout();
- }}
+ onViewableItemsChanged={this.onViewableItemsChanged}
/>
);