aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Kim <brian@tagg.id>2021-06-11 02:02:10 +0900
committerBrian Kim <brian@tagg.id>2021-06-11 02:02:10 +0900
commit8134da5d68c07182e2a5b2b87c6fdded454bcf3e (patch)
treed12ecab2d30d70211a3f08b44351c36371da2afe
parentea088da1304a9ba345b75aab9184f7e8d928a4ac (diff)
Add check for contacts permission
-rw-r--r--src/screens/suggestedPeople/SuggestedPeopleScreen.tsx13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx b/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx
index c65d2012..39d98bcc 100644
--- a/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx
+++ b/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx
@@ -3,6 +3,7 @@ import {useFocusEffect, useNavigation} from '@react-navigation/native';
import React, {useCallback, useEffect, useRef, useState} from 'react';
import {FlatList, RefreshControl, StatusBar, ViewToken} from 'react-native';
import {useDispatch, useSelector, useStore} from 'react-redux';
+import {checkPermission} from 'react-native-contacts';
import {Background, TabsGradient, TaggLoadingIndicator} from '../../components';
import {SP_PAGE_SIZE} from '../../constants';
import {getSuggestedPeople} from '../../services/SuggestedPeopleService';
@@ -59,11 +60,17 @@ const SuggestedPeopleScreen: React.FC = () => {
const stausBarRef = useRef(hideStatusBar);
useEffect(() => {
- AsyncStorage.getItem('respondedToAccessContacts').then((value) => {
- if (value === null) {
+ const handlePageChange = async () => {
+ const checkAsync = await AsyncStorage.getItem(
+ 'respondedToAccessContacts',
+ );
+ const permission = await checkPermission();
+ if (checkAsync === null && permission !== 'authorized') {
navigation.navigate('RequestContactsAccess');
}
- });
+ };
+
+ handlePageChange();
}, []);
// loads data and append it to users based on current page