aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/routes/main/MainStackScreen.tsx18
-rw-r--r--src/screens/profile/CaptionScreen.tsx2
-rw-r--r--src/screens/search/RequestContactsAccess.tsx42
3 files changed, 44 insertions, 18 deletions
diff --git a/src/routes/main/MainStackScreen.tsx b/src/routes/main/MainStackScreen.tsx
index aec860f2..5b3f1178 100644
--- a/src/routes/main/MainStackScreen.tsx
+++ b/src/routes/main/MainStackScreen.tsx
@@ -50,15 +50,23 @@ const MainStackScreen: React.FC<MainStackProps> = ({route}) => {
const isSearchTab = screenType === ScreenType.Search;
const isNotificationsTab = screenType === ScreenType.Notifications;
const isSuggestedPeopleTab = screenType === ScreenType.SuggestedPeople;
-
- AsyncStorage.getItem('respondedToAccessContacts').then((value) =>
- setRespondedToAccessContacts(value ? value : 'false'),
- );
-
const [respondedToAccessContacts, setRespondedToAccessContacts] = useState(
'false',
);
+ const loadResponseToAccessContacts = () => {
+ try {
+ AsyncStorage.getItem('respondedToAccessContacts').then((value) => {
+ setRespondedToAccessContacts(value ? value : 'false');
+ });
+ } catch (err) {
+ console.log(
+ 'Unable to check and request permission to get access to user contacts',
+ );
+ }
+ };
+ loadResponseToAccessContacts();
+
const initialRouteName = (() => {
switch (screenType) {
case ScreenType.Profile:
diff --git a/src/screens/profile/CaptionScreen.tsx b/src/screens/profile/CaptionScreen.tsx
index 91aaa617..01e859ba 100644
--- a/src/screens/profile/CaptionScreen.tsx
+++ b/src/screens/profile/CaptionScreen.tsx
@@ -13,7 +13,7 @@ import {
} from 'react-native';
import {Button} from 'react-native-elements';
import {useDispatch, useSelector} from 'react-redux';
-import {MainStackParams} from 'src/routes';
+import {MainStackParams} from '../../routes';
import {SearchBackground, TaggBigInput} from '../../components';
import {CaptionScreenHeader} from '../../components/';
import TaggLoadingIndicator from '../../components/common/TaggLoadingIndicator';
diff --git a/src/screens/search/RequestContactsAccess.tsx b/src/screens/search/RequestContactsAccess.tsx
index de023464..69de1ddf 100644
--- a/src/screens/search/RequestContactsAccess.tsx
+++ b/src/screens/search/RequestContactsAccess.tsx
@@ -21,21 +21,39 @@ const RequestContactsAccess: React.FC = () => {
const navigation = useNavigation();
const handleAllowAccess = async () => {
- checkPermission().then((permission) => {
- if (permission === 'undefined') {
- requestPermission().then((response) => {
- if (response === 'authorized' || response === 'denied') {
- navigation.navigate('Search');
- }
- });
- }
- });
- await AsyncStorage.setItem('respondedToAccessContacts', 'true');
+ try {
+ checkPermission().then((permission) => {
+ if (permission === 'undefined') {
+ requestPermission().then((response) => {
+ if (response === 'authorized' || response === 'denied') {
+ AsyncStorage.setItem(
+ 'respondedToAccessContacts',
+ 'true',
+ ).then(() => navigation.navigate('Search'));
+ }
+ });
+ } else {
+ AsyncStorage.setItem('respondedToAccessContacts', 'true').then(() =>
+ navigation.navigate('Search'),
+ );
+ }
+ });
+ } catch (err) {
+ console.log(
+ 'Unable to check and request permission to get access to user contacts',
+ );
+ }
};
const handleDontAllowAccess = async () => {
- await AsyncStorage.setItem('respondedToAccessContacts', 'true');
- navigation.navigate('Search');
+ try {
+ await AsyncStorage.setItem('respondedToAccessContacts', 'true');
+ navigation.navigate('Search');
+ } catch (err) {
+ console.log(
+ 'Unable to check and request permission to get access to user contacts',
+ );
+ }
};
return (