aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Chen <ivan@tagg.id>2021-06-10 16:07:43 -0400
committerGitHub <noreply@github.com>2021-06-10 16:07:43 -0400
commita2acb2e97d4ba30713c77e1e44d7c7a069f95034 (patch)
tree876bb451d9b6b685b35976bce01c2008a636f5cb
parente58c398eff2de37d8c599ccc82e4f592d755601b (diff)
parent8134da5d68c07182e2a5b2b87c6fdded454bcf3e (diff)
Merge pull request #462 from brian-tagg/tma916-check-contacts
[TMA-916] 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