diff options
author | Brian Kim <brian@tagg.id> | 2021-06-11 02:02:10 +0900 |
---|---|---|
committer | Brian Kim <brian@tagg.id> | 2021-06-11 02:02:10 +0900 |
commit | 8134da5d68c07182e2a5b2b87c6fdded454bcf3e (patch) | |
tree | d12ecab2d30d70211a3f08b44351c36371da2afe /src | |
parent | ea088da1304a9ba345b75aab9184f7e8d928a4ac (diff) |
Add check for contacts permission
Diffstat (limited to 'src')
-rw-r--r-- | src/screens/suggestedPeople/SuggestedPeopleScreen.tsx | 13 |
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 |