diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 81f06f71..cd4cce27 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -1,28 +1,39 @@
+ package="com.rdsapp">
-
-
+
+
-
-
-
-
-
-
+ android:icon="@mipmap/ic_launcher"
+ android:roundIcon="@mipmap/ic_launcher_round"
+ android:allowBackup="false"
+ android:theme="@style/AppTheme">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/screens/AuthScreen/AuthScreen.tsx b/src/screens/AuthScreen/AuthScreen.tsx
index a36640b2..1ec79261 100644
--- a/src/screens/AuthScreen/AuthScreen.tsx
+++ b/src/screens/AuthScreen/AuthScreen.tsx
@@ -14,7 +14,7 @@ import { AuthViewStyle } from './styles';
import { AuthScreenButton } from './Button';
import { Toast } from 'react-native-toast-message/lib/src/Toast';
import { AuthContext } from '../../context/AuthContext';
-import { getUserData } from './Util';
+import { getUserData, requestCameraPermission } from './Util';
import { storeData } from '../../utils/dataStore';
import { SafeAreaView } from 'react-native-safe-area-context';
import { ActivityIndicator } from 'react-native';
@@ -33,13 +33,15 @@ const AuthScreen = () => {
const [cameraActive, setCameraActive] = useState(false);
const [scannedUserId, setScannedUserID] = useState('');
const [modalVisible, setModalVisible] = useState(false);
+ const [addressbarURL, setAdressbarURL] = useState('');
+ const [key, setKey] = useState(1);
const activateCamera = async () => {
try {
- // await Camera.requestCameraPermission(); // Request camera permission
- setCameraActive(true); // Set cameraActive state to true
- } catch (error) {
- console.error('Error requesting camera permission:', error);
+ await requestCameraPermission();
+ setCameraActive((prev) => !prev); // Set cameraActive state to true
+ } catch (error: any) {
+ Alert.alert('Error requesting camera permission:', error);
}
};
@@ -197,17 +199,39 @@ const AuthScreen = () => {
{
- if (url === urls.REDIRECT_URL) {
- setAdressbarURL(url);
- updateUserData(url);
- } else if (url.indexOf('?') > 0) {
- let uri = url.substring(0, url.indexOf('?'));
- setAdressbarURL(uri);
- updateUserData(uri);
- } else {
- setAdressbarURL(url);
- updateUserData(url);
- }
+ (async function () {
+ if (url === urls.REDIRECT_URL) {
+ setAdressbarURL(url);
+ try {
+ const res = await getUserData(url);
+ await storeData('userData', JSON.stringify(res));
+
+ setLoggedInUserData({
+ id: res?.id,
+ name: res?.name,
+ profileUrl: res?.profileUrl,
+ status: res?.status,
+ });
+ } catch (err) {
+ setLoggedInUserData(null);
+ }
+ } else if (url.indexOf('?') > 0) {
+ let uri = url.substring(0, url.indexOf('?'));
+ console.log(1, uri);
+ setAdressbarURL(uri);
+ setAdressbarURL(uri);
+ updateUserData(uri);
+ setAdressbarURL(uri);
+ updateUserData(uri);
+ } else {
+ console.log(2, url);
+ setAdressbarURL(url);
+ setAdressbarURL(url);
+ updateUserData(url);
+ setAdressbarURL(url);
+ updateUserData(url);
+ }
+ })();
}}
style={AuthViewStyle.webViewStyles}
source={{
diff --git a/src/screens/AuthScreen/Util.ts b/src/screens/AuthScreen/Util.ts
index 792f712a..780e4414 100644
--- a/src/screens/AuthScreen/Util.ts
+++ b/src/screens/AuthScreen/Util.ts
@@ -1,5 +1,6 @@
import axios from 'axios';
import { urls } from '../../constants/appConstant/url';
+import { PermissionsAndroid } from 'react-native';
export const getUserData = async (url: string) => {
if (url === urls.REDIRECT_URL) {
@@ -61,3 +62,26 @@ export const updateMarkYourSelfAs_ = async (markStatus: string) => {
export const isValidTextInput = (code: string) =>
Boolean(/^[\d]{1,4}$|^$/.test(code));
+
+export const requestCameraPermission = async () => {
+ try {
+ const granted = await PermissionsAndroid.request(
+ PermissionsAndroid.PERMISSIONS.CAMERA,
+ {
+ title: 'Accessing your camera to scan the QR code',
+ message:
+ 'RDS App needs access to your camera ' + 'so you can scan QR code',
+ buttonNeutral: 'Ask Me Later',
+ buttonNegative: 'Cancel',
+ buttonPositive: 'OK',
+ },
+ );
+ if (granted === PermissionsAndroid.RESULTS.GRANTED) {
+ console.log('You can use the camera');
+ } else {
+ console.log('Camera permission denied');
+ }
+ } catch (err) {
+ console.warn(err);
+ }
+};