11/20/1
This commit is contained in:
@@ -31,4 +31,17 @@ class BoxName {
|
|||||||
static const String passengerWalletFound = "passengerWalletFound";
|
static const String passengerWalletFound = "passengerWalletFound";
|
||||||
static const String periods = 'periods';
|
static const String periods = 'periods';
|
||||||
static const String onBoarding = 'onBoarding';
|
static const String onBoarding = 'onBoarding';
|
||||||
|
static const String stripePublishableKey = 'stripe_publishableKe';
|
||||||
|
static const String apiKeyRun = 'apiKeyRun';
|
||||||
|
static const String serverAPI = 'serverAPI';
|
||||||
|
static const String secretKey = 'secretKey';
|
||||||
|
static const String basicAuthCredentials = 'basicAuthCredentials';
|
||||||
|
static const String mapAPIKEY = 'mapAPIKEY';
|
||||||
|
static const String twilloRecoveryCode = 'twilloRecoveryCode';
|
||||||
|
static const String accountSIDTwillo = 'accountSIDTwillo';
|
||||||
|
static const String authTokenTwillo = 'authTokenTwillo';
|
||||||
|
static const String chatGPTkey = 'chatGPTkey';
|
||||||
|
static const String chatGPTkeySefer = 'chatGPTkeySefer';
|
||||||
|
static const String transactionCloude = 'transactionCloude';
|
||||||
|
static const String visionApi = 'visionApi';
|
||||||
}
|
}
|
||||||
|
|||||||
28
lib/constant/char_map.dart
Normal file
28
lib/constant/char_map.dart
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
Map<String, String> charMap = {
|
||||||
|
"a": "q",
|
||||||
|
"b": "x",
|
||||||
|
"c": "f",
|
||||||
|
"d": "y",
|
||||||
|
"e": "j",
|
||||||
|
"f": "u",
|
||||||
|
"g": "k",
|
||||||
|
"h": "w",
|
||||||
|
"i": "o",
|
||||||
|
"j": "e",
|
||||||
|
"k": "g",
|
||||||
|
"l": "r",
|
||||||
|
"m": "n",
|
||||||
|
"n": "b",
|
||||||
|
"o": "i",
|
||||||
|
"p": "v",
|
||||||
|
"q": "a",
|
||||||
|
"r": "l",
|
||||||
|
"s": "z",
|
||||||
|
"t": "c",
|
||||||
|
"u": "h",
|
||||||
|
"v": "p",
|
||||||
|
"w": "t",
|
||||||
|
"x": "d",
|
||||||
|
"y": "s",
|
||||||
|
"z": "m"
|
||||||
|
};
|
||||||
@@ -1,69 +1,134 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'package:crypto/crypto.dart';
|
import 'package:crypto/crypto.dart';
|
||||||
|
import 'package:ride/constant/links.dart';
|
||||||
|
import 'package:ride/controller/functions/crud.dart';
|
||||||
|
import 'package:ride/main.dart';
|
||||||
|
|
||||||
|
import 'box_name.dart';
|
||||||
|
import 'char_map.dart';
|
||||||
|
|
||||||
class AppCredintials {
|
class AppCredintials {
|
||||||
static const String basicAuthCredentials = 'hamzaayedphp:malDEV@2101';
|
getApiKey() async {
|
||||||
static const String serverAPI =
|
var res = await CRUD().get(link: AppLink.getApiKey, payload: {});
|
||||||
'AAAAinYllCo:APA91bF1shTpzSsSxqbfY6c60D8zs1ZsdIsl9ix6nl7GDdjCqWPRK0G0ub5SqFdb1jDpQDvQPxGg-697MWLo0sy3oYImBwBLObyhk0GjtNzyr0PbE3hI-pOvhf8Vp1xgUgBmofbZYXkH';
|
var decod = jsonDecode(res);
|
||||||
// AIzaSyCyfwRXTwSTLOFQSQgN5p7QZgGJVZnEKq0
|
print(decod);
|
||||||
static const String mapAPIKEY = 'AIzaSyCyfwRXTwSTLOFQSQgN5p7QZgGJVZnEKq0';
|
for (var i = 0; i < decod['message'].length; i++) {
|
||||||
static const String twilloRecoveryCode = 'TQF13XUVU2NJ3VFU8JWBWYBS';
|
print(i);
|
||||||
static const String accountSIDTwillo = 'ACb4ad857efe0903bfd6238a763a2ce4d1';
|
String retrievedString =
|
||||||
static const String authTokenTwillo = '14f39ef4628bb8a4f18469f462f8af75';
|
r(decod['message'][i]['hashed_key'].toString(), charMap);
|
||||||
static const String publishablekey = '14f39ef4628bb8a4f18469f462f8af75';
|
await storage.write(
|
||||||
static const String chatGPTkey =
|
key: decod['message'][i]['name'].toString(),
|
||||||
'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';
|
value: retrievedString.toString(),
|
||||||
static const String chatGPTkeySefer =
|
);
|
||||||
'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';
|
}
|
||||||
// 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
|
box.write(BoxName.apiKeyRun, 'run');
|
||||||
String getBasicAuthCredentials() {
|
|
||||||
return base64Encode(utf8.encode(basicAuthCredentials));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static const String transactionCloude =
|
String q(String b, String c) {
|
||||||
'Authorization:API_EMDJX6BHQ67DBGT6WV:DG2XPU7YEN02M0VJ2F';
|
final d = utf8.encode(c);
|
||||||
static const String visionApi = '0vQRyaYYDWpsv73A5CZOknseK7S2sgwE';
|
final e = utf8.encode(b);
|
||||||
}
|
|
||||||
|
|
||||||
class StripeKey {
|
final f = Hmac(sha256, d);
|
||||||
static const String publishableKey =
|
final g = f.convert(e);
|
||||||
'pk_test_51O4WTODMEVrOCA5SN5e6b8pAvF5CPDC3c3Pif18q74NEQApU5AfmZZEN9X2WIayfIrUTjju1pUavmgoeLgb3FR5k00pn4oMHGO';
|
|
||||||
static const String secretKey =
|
|
||||||
'sk_test_51O4WTODMEVrOCA5SBgaoSS69nNFRyfZx2Tl5ODswYyjqLpc0RxBHW3hhcP38Tp78TZ1PQoZo7eHFllRiQd3rMHPN00Lr9WD3n2';
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
final h = g.bytes;
|
||||||
class MyClass {
|
final i = base64Url.encode(h);
|
||||||
static const String mapAPIKEY = 'AIzaSyCyfwRXTwSTLOFQSQgN5p7QZgGJVZnEKq0';
|
return i;
|
||||||
static const String twilloRecoveryCode = 'TQF13XUVU2NJ3VFU8JWBWYBS';
|
|
||||||
static const String accountSIDTwillo = 'ACb4ad857efe0903bfd6238a763a2ce4d1';
|
|
||||||
static const String authTokenTwillo = '14f39ef4628bb8a4f18469f462f8af75';
|
|
||||||
static const String additionalText = 'additional text';
|
|
||||||
|
|
||||||
String getBasicAuthCredentials() {
|
|
||||||
return base64Encode(utf8.encode(mapAPIKEY));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
String removeAddedText(String apiKey, String addedText) {
|
String j(String k, String l) {
|
||||||
final hashedText = sha256.convert(utf8.encode(addedText)).toString();
|
final m = utf8.encode(l);
|
||||||
return apiKey.replaceAll(hashedText, '');
|
final n = base64Url.decode(k);
|
||||||
|
|
||||||
|
final o = Hmac(sha256, m);
|
||||||
|
final p = o.convert(n);
|
||||||
|
|
||||||
|
final q = utf8.decode(p.bytes);
|
||||||
|
return q;
|
||||||
}
|
}
|
||||||
|
|
||||||
String addTextToAPIKey(String apiKey, String textToAdd) {
|
String a(String b, String c) {
|
||||||
final hashedText = sha256.convert(utf8.encode(textToAdd)).toString();
|
int d = b.length;
|
||||||
final midIndex = apiKey.length ~/ 2;
|
int e = d ~/ 4;
|
||||||
final firstHalf = apiKey.substring(0, midIndex);
|
|
||||||
final secondHalf = apiKey.substring(midIndex);
|
List<String> f = [];
|
||||||
return '$firstHalf$hashedText$secondHalf';
|
for (int g = 0; g < d; g += e) {
|
||||||
|
int h = g + e;
|
||||||
|
if (h > d) {
|
||||||
|
h = d;
|
||||||
|
}
|
||||||
|
String i = b.substring(g, h);
|
||||||
|
f.add(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
void exampleUsage() {
|
print(f);
|
||||||
String modifiedAPIKey = addTextToAPIKey(mapAPIKEY, additionalText);
|
Map<String, String> j = {};
|
||||||
print('Modified API Key: $modifiedAPIKey');
|
j['birinci'] = f[4];
|
||||||
|
j['ikinci'] = f[2];
|
||||||
|
j['üçüncü'] = c + f[1];
|
||||||
|
j['dördüncü'] = f[0];
|
||||||
|
j['beş'] = f[3];
|
||||||
|
|
||||||
String finalAPIKey = removeAddedText(modifiedAPIKey, additionalText);
|
String k = '';
|
||||||
print('Final API Key: $finalAPIKey');
|
j.forEach((l, m) {
|
||||||
|
k += m;
|
||||||
|
});
|
||||||
|
|
||||||
|
return k;
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, String> n(String o, String c) {
|
||||||
|
String p = o.replaceAll(c, '');
|
||||||
|
|
||||||
|
Map<String, String> q = {};
|
||||||
|
q['birinci'] = p[p.length - 5] + p[p.length - 3];
|
||||||
|
q['ikinci'] = p[p.length - 1] + p[p.length - 15];
|
||||||
|
q['üçüncü'] = p[p.length - 9] + p[p.length - 12];
|
||||||
|
q['dördüncü'] = p[p.length - 11] + p[p.length - 6];
|
||||||
|
q['beş'] = p[p.length - 2] + p[p.length - 8];
|
||||||
|
|
||||||
|
return q;
|
||||||
|
}
|
||||||
|
|
||||||
|
String c(String a, Map<String, String> b) {
|
||||||
|
StringBuffer c = StringBuffer();
|
||||||
|
c.write(a);
|
||||||
|
|
||||||
|
String d = "Bl";
|
||||||
|
c.write(b[d] ?? d);
|
||||||
|
|
||||||
|
StringBuffer e = StringBuffer();
|
||||||
|
String f = c.toString();
|
||||||
|
|
||||||
|
for (int g = 0; g < f.length; g++) {
|
||||||
|
String h = f[g];
|
||||||
|
e.write(b[h] ?? h);
|
||||||
|
}
|
||||||
|
|
||||||
|
return e.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
String r(String a, Map<String, String> b) {
|
||||||
|
StringBuffer c = StringBuffer();
|
||||||
|
String d = "Bl";
|
||||||
|
int e = d.length;
|
||||||
|
|
||||||
|
for (int f = 0; f < a.length; f++) {
|
||||||
|
String g = a[f];
|
||||||
|
String h = b.keys.firstWhere(
|
||||||
|
(i) => b[i] == g,
|
||||||
|
orElse: () => g,
|
||||||
|
);
|
||||||
|
|
||||||
|
c.write(h);
|
||||||
|
}
|
||||||
|
|
||||||
|
String j = c.toString();
|
||||||
|
|
||||||
|
if (j.endsWith(d)) {
|
||||||
|
j = j.substring(0, j.length - e);
|
||||||
|
}
|
||||||
|
|
||||||
|
return j;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Modified API Key: AIzaSyCyfwRXTwSTLOFc57cb9e210a21def772cad3cd9ef83247e70bed77da89a64c9a5e91e7f3348dbQSQgN5p7QZgGJVZnEKq0
|
|
||||||
// I/flutter ( 5490): Final API Key: AIzaSyCyfwRXTwSTLOFc57cb9e210a21def772cad3cd9ef83247e70bed77da89a64c9a5e91e7f3348dbQSQgN5p7QZgGJVZnEKq0
|
|
||||||
|
|||||||
@@ -43,6 +43,11 @@ class AppLink {
|
|||||||
static const String addDriverpayment = "$ride/payment/add.php";
|
static const String addDriverpayment = "$ride/payment/add.php";
|
||||||
static const String getDriverpaymentToday = "$ride/payment/get.php";
|
static const String getDriverpaymentToday = "$ride/payment/get.php";
|
||||||
static const String getAllPayment = "$ride/payment/getAllPayment.php";
|
static const String getAllPayment = "$ride/payment/getAllPayment.php";
|
||||||
|
//-----------------Api Key------------------
|
||||||
|
static const String addApiKey = "$ride/apiKey/add.php";
|
||||||
|
static const String getApiKey = "$ride/apiKey/get.php";
|
||||||
|
static const String updateApiKey = "$ride/apiKey/update.php";
|
||||||
|
static const String deleteApiKey = "$ride/apiKey/delete.php";
|
||||||
|
|
||||||
//-----------------Feed Back------------------
|
//-----------------Feed Back------------------
|
||||||
static const String addFeedBack = "$ride/feedBack/add.php";
|
static const String addFeedBack = "$ride/feedBack/add.php";
|
||||||
|
|||||||
@@ -12,13 +12,15 @@ class TokenController extends GetxController {
|
|||||||
bool isloading = false;
|
bool isloading = false;
|
||||||
|
|
||||||
Future addToken() async {
|
Future addToken() async {
|
||||||
|
String? basicAuthCredentials =
|
||||||
|
await storage.read(key: BoxName.basicAuthCredentials);
|
||||||
isloading = true;
|
isloading = true;
|
||||||
update();
|
update();
|
||||||
var res = await http.post(
|
var res = await http.post(
|
||||||
Uri.parse(AppLink.addTokens),
|
Uri.parse(AppLink.addTokens),
|
||||||
headers: {
|
headers: {
|
||||||
'Authorization':
|
'Authorization':
|
||||||
'Basic ${base64Encode(utf8.encode(AppCredintials.basicAuthCredentials))}',
|
'Basic ${base64Encode(utf8.encode(basicAuthCredentials.toString()))}',
|
||||||
},
|
},
|
||||||
body: {
|
body: {
|
||||||
'token': box.read(BoxName.tokenFCM.toString()),
|
'token': box.read(BoxName.tokenFCM.toString()),
|
||||||
|
|||||||
@@ -64,11 +64,13 @@ class FirebaseMessagesController extends GetxController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Future getTokens() async {
|
Future getTokens() async {
|
||||||
|
String? basicAuthCredentials =
|
||||||
|
await storage.read(key: BoxName.basicAuthCredentials);
|
||||||
var res = await http.post(
|
var res = await http.post(
|
||||||
Uri.parse(AppLink.getTokens),
|
Uri.parse(AppLink.getTokens),
|
||||||
headers: {
|
headers: {
|
||||||
'Authorization':
|
'Authorization':
|
||||||
'Basic ${base64Encode(utf8.encode(AppCredintials.basicAuthCredentials))}',
|
'Basic ${base64Encode(utf8.encode(basicAuthCredentials.toString()))}',
|
||||||
},
|
},
|
||||||
body: {},
|
body: {},
|
||||||
);
|
);
|
||||||
@@ -94,7 +96,7 @@ class FirebaseMessagesController extends GetxController {
|
|||||||
} else {
|
} else {
|
||||||
box.write(BoxName.tokenFCM, token);
|
box.write(BoxName.tokenFCM, token);
|
||||||
}
|
}
|
||||||
print(token);
|
// print(token);
|
||||||
});
|
});
|
||||||
|
|
||||||
FirebaseMessaging.onMessage.listen((RemoteMessage message) {
|
FirebaseMessaging.onMessage.listen((RemoteMessage message) {
|
||||||
@@ -120,7 +122,7 @@ class FirebaseMessagesController extends GetxController {
|
|||||||
driverID = myList[2].toString();
|
driverID = myList[2].toString();
|
||||||
|
|
||||||
Get.snackbar(
|
Get.snackbar(
|
||||||
'Captin Applied the Ride for You'.tr,
|
'Captain Applied the Ride for You'.tr,
|
||||||
'message',
|
'message',
|
||||||
colorText: AppColor.greenColor,
|
colorText: AppColor.greenColor,
|
||||||
duration: const Duration(seconds: 11),
|
duration: const Duration(seconds: 11),
|
||||||
@@ -131,7 +133,7 @@ class FirebaseMessagesController extends GetxController {
|
|||||||
style: const TextStyle(color: AppColor.redColor),
|
style: const TextStyle(color: AppColor.redColor),
|
||||||
),
|
),
|
||||||
messageText: Text(
|
messageText: Text(
|
||||||
'Captin Applied the Ride for You'.tr,
|
'Captain Applied the Ride for You'.tr,
|
||||||
style: AppStyle.title,
|
style: AppStyle.title,
|
||||||
),
|
),
|
||||||
icon: const Icon(Icons.approval),
|
icon: const Icon(Icons.approval),
|
||||||
@@ -221,17 +223,17 @@ class FirebaseMessagesController extends GetxController {
|
|||||||
onPressed: () {
|
onPressed: () {
|
||||||
String mapUrl =
|
String mapUrl =
|
||||||
'https://www.google.com/maps/dir/${myList[0]}/${myList[1]}/';
|
'https://www.google.com/maps/dir/${myList[0]}/${myList[1]}/';
|
||||||
print(mapUrl);
|
// print(mapUrl);
|
||||||
launchUrl1(mapUrl);
|
launchUrl1(mapUrl);
|
||||||
},
|
},
|
||||||
icon: const Icon(Icons.map),
|
icon: const Icon(Icons.map),
|
||||||
label: Text('Rouats of Trip'.tr)),
|
label: Text('Routs of Trip'.tr)),
|
||||||
),
|
),
|
||||||
|
|
||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.all(8.0),
|
padding: const EdgeInsets.all(8.0),
|
||||||
child: Text(
|
child: Text(
|
||||||
'Tatal From Passenger is '.tr +
|
'Total From Passenger is '.tr +
|
||||||
double.parse(myList[2]).toStringAsFixed(2),
|
double.parse(myList[2]).toStringAsFixed(2),
|
||||||
style: AppStyle.title,
|
style: AppStyle.title,
|
||||||
),
|
),
|
||||||
@@ -239,7 +241,7 @@ class FirebaseMessagesController extends GetxController {
|
|||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.all(8.0),
|
padding: const EdgeInsets.all(8.0),
|
||||||
child: Text(
|
child: Text(
|
||||||
'Tatal For You is '.tr +
|
'Total For You is '.tr +
|
||||||
double.parse(myList[3]).toStringAsFixed(2),
|
double.parse(myList[3]).toStringAsFixed(2),
|
||||||
style: AppStyle.title,
|
style: AppStyle.title,
|
||||||
),
|
),
|
||||||
@@ -315,7 +317,7 @@ class FirebaseMessagesController extends GetxController {
|
|||||||
var myList = jsonDecode(passengerList) as List<dynamic>;
|
var myList = jsonDecode(passengerList) as List<dynamic>;
|
||||||
driverID = myList[2].toString();
|
driverID = myList[2].toString();
|
||||||
Get.snackbar(
|
Get.snackbar(
|
||||||
'Captin Applied the Ride for You'.tr,
|
'Captain Applied the Ride for You'.tr,
|
||||||
'message',
|
'message',
|
||||||
colorText: AppColor.greenColor,
|
colorText: AppColor.greenColor,
|
||||||
duration: const Duration(seconds: 11),
|
duration: const Duration(seconds: 11),
|
||||||
@@ -326,7 +328,7 @@ class FirebaseMessagesController extends GetxController {
|
|||||||
style: const TextStyle(color: AppColor.redColor),
|
style: const TextStyle(color: AppColor.redColor),
|
||||||
),
|
),
|
||||||
messageText: Text(
|
messageText: Text(
|
||||||
'Captin Applied the Ride for You'.tr,
|
'Captain Applied the Ride for You'.tr,
|
||||||
style: AppStyle.title,
|
style: AppStyle.title,
|
||||||
),
|
),
|
||||||
icon: const Icon(Icons.approval),
|
icon: const Icon(Icons.approval),
|
||||||
@@ -404,7 +406,7 @@ class FirebaseMessagesController extends GetxController {
|
|||||||
.post(Uri.parse('https://fcm.googleapis.com/fcm/send'),
|
.post(Uri.parse('https://fcm.googleapis.com/fcm/send'),
|
||||||
headers: <String, String>{
|
headers: <String, String>{
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
'Authorization': 'key=${AppCredintials.serverAPI}'
|
'Authorization': 'key=${storage.read(key: BoxName.serverAPI)}'
|
||||||
},
|
},
|
||||||
body: jsonEncode({
|
body: jsonEncode({
|
||||||
'notification': <String, dynamic>{
|
'notification': <String, dynamic>{
|
||||||
@@ -432,7 +434,7 @@ class FirebaseMessagesController extends GetxController {
|
|||||||
// .post(Uri.parse('https://fcm.googleapis.com/fcm/send'),
|
// .post(Uri.parse('https://fcm.googleapis.com/fcm/send'),
|
||||||
// headers: <String, String>{
|
// headers: <String, String>{
|
||||||
// 'Content-Type': 'application/json',
|
// 'Content-Type': 'application/json',
|
||||||
// 'Authorization': 'key=${AppCredintials.serverAPI}'
|
// 'Authorization': 'key=${storage.read(key: BoxName.serverAPI}'
|
||||||
// },
|
// },
|
||||||
// body: jsonEncode({
|
// body: jsonEncode({
|
||||||
// 'notification': <String, dynamic>{
|
// 'notification': <String, dynamic>{
|
||||||
@@ -462,7 +464,7 @@ class FirebaseMessagesController extends GetxController {
|
|||||||
Uri.parse('https://fcm.googleapis.com/fcm/send'),
|
Uri.parse('https://fcm.googleapis.com/fcm/send'),
|
||||||
headers: <String, String>{
|
headers: <String, String>{
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
'Authorization': 'key=${AppCredintials.serverAPI}'
|
'Authorization': 'key=${storage.read(key: BoxName.serverAPI)}'
|
||||||
},
|
},
|
||||||
body: jsonEncode({
|
body: jsonEncode({
|
||||||
'notification': <String, dynamic>{
|
'notification': <String, dynamic>{
|
||||||
@@ -499,7 +501,7 @@ class FirebaseMessagesController extends GetxController {
|
|||||||
Uri.parse('https://fcm.googleapis.com/fcm/send'),
|
Uri.parse('https://fcm.googleapis.com/fcm/send'),
|
||||||
headers: <String, String>{
|
headers: <String, String>{
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
'Authorization': 'key=${AppCredintials.serverAPI}'
|
'Authorization': 'key=${storage.read(key: BoxName.serverAPI)}'
|
||||||
},
|
},
|
||||||
body: jsonEncode({
|
body: jsonEncode({
|
||||||
'notification': <String, dynamic>{
|
'notification': <String, dynamic>{
|
||||||
@@ -538,7 +540,7 @@ class FirebaseMessagesController extends GetxController {
|
|||||||
Uri.parse('https://fcm.googleapis.com/fcm/send'),
|
Uri.parse('https://fcm.googleapis.com/fcm/send'),
|
||||||
headers: <String, String>{
|
headers: <String, String>{
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
'Authorization': 'key=${AppCredintials.serverAPI}'
|
'Authorization': 'key=${storage.read(key: BoxName.serverAPI)}'
|
||||||
},
|
},
|
||||||
body: jsonEncode({
|
body: jsonEncode({
|
||||||
'notification': <String, dynamic>{
|
'notification': <String, dynamic>{
|
||||||
|
|||||||
@@ -99,6 +99,8 @@ class CameraClassController extends GetxController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Future<String> uploadImage(File imageFile) async {
|
Future<String> uploadImage(File imageFile) async {
|
||||||
|
String? basicAuthCredentials =
|
||||||
|
await storage.read(key: BoxName.basicAuthCredentials);
|
||||||
var request = http.MultipartRequest(
|
var request = http.MultipartRequest(
|
||||||
'POST',
|
'POST',
|
||||||
Uri.parse(AppLink.uploadImage),
|
Uri.parse(AppLink.uploadImage),
|
||||||
@@ -111,7 +113,7 @@ class CameraClassController extends GetxController {
|
|||||||
request.headers.addAll({
|
request.headers.addAll({
|
||||||
"Content-Type": "application/x-www-form-urlencoded",
|
"Content-Type": "application/x-www-form-urlencoded",
|
||||||
'Authorization':
|
'Authorization':
|
||||||
'Basic ${base64Encode(utf8.encode(AppCredintials.basicAuthCredentials))}',
|
'Basic ${base64Encode(utf8.encode(basicAuthCredentials.toString()))}',
|
||||||
});
|
});
|
||||||
|
|
||||||
// Add the driverID to the request
|
// Add the driverID to the request
|
||||||
|
|||||||
@@ -2,13 +2,17 @@ import 'dart:convert';
|
|||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:http/http.dart' as http;
|
import 'package:http/http.dart' as http;
|
||||||
|
|
||||||
|
import '../../constant/box_name.dart';
|
||||||
import '../../constant/credential.dart';
|
import '../../constant/credential.dart';
|
||||||
|
import '../../main.dart';
|
||||||
|
|
||||||
class CRUD {
|
class CRUD {
|
||||||
Future<dynamic> get({
|
Future<dynamic> get({
|
||||||
required String link,
|
required String link,
|
||||||
Map<String, dynamic>? payload,
|
Map<String, dynamic>? payload,
|
||||||
}) async {
|
}) async {
|
||||||
|
String? basicAuthCredentials =
|
||||||
|
await storage.read(key: BoxName.basicAuthCredentials);
|
||||||
var url = Uri.parse(
|
var url = Uri.parse(
|
||||||
link,
|
link,
|
||||||
);
|
);
|
||||||
@@ -18,7 +22,7 @@ class CRUD {
|
|||||||
headers: {
|
headers: {
|
||||||
"Content-Type": "application/x-www-form-urlencoded",
|
"Content-Type": "application/x-www-form-urlencoded",
|
||||||
'Authorization':
|
'Authorization':
|
||||||
'Basic ${base64Encode(utf8.encode(AppCredintials.basicAuthCredentials))}',
|
'Basic ${base64Encode(utf8.encode(basicAuthCredentials.toString()))}',
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
print("--------------" + response.request.toString());
|
print("--------------" + response.request.toString());
|
||||||
@@ -26,7 +30,7 @@ class CRUD {
|
|||||||
if (response.statusCode == 200) {
|
if (response.statusCode == 200) {
|
||||||
var jsonData = jsonDecode(response.body);
|
var jsonData = jsonDecode(response.body);
|
||||||
if (jsonData['status'] == 'success') {
|
if (jsonData['status'] == 'success') {
|
||||||
print(jsonData);
|
// print(jsonData);
|
||||||
|
|
||||||
return response.body;
|
return response.body;
|
||||||
}
|
}
|
||||||
@@ -39,6 +43,7 @@ class CRUD {
|
|||||||
required String link,
|
required String link,
|
||||||
Map<String, dynamic>? payload,
|
Map<String, dynamic>? payload,
|
||||||
}) async {
|
}) async {
|
||||||
|
String? secretKey = await storage.read(key: BoxName.secretKey);
|
||||||
var url = Uri.parse(
|
var url = Uri.parse(
|
||||||
link,
|
link,
|
||||||
);
|
);
|
||||||
@@ -47,7 +52,7 @@ class CRUD {
|
|||||||
body: payload,
|
body: payload,
|
||||||
headers: {
|
headers: {
|
||||||
"Content-Type": "application/x-www-form-urlencoded",
|
"Content-Type": "application/x-www-form-urlencoded",
|
||||||
'Authorization': 'Bearer ${StripeKey.secretKey}',
|
'Authorization': 'Bearer ${secretKey.toString()}',
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -58,6 +63,8 @@ class CRUD {
|
|||||||
required String link,
|
required String link,
|
||||||
Map<String, dynamic>? payload,
|
Map<String, dynamic>? payload,
|
||||||
}) async {
|
}) async {
|
||||||
|
String? basicAuthCredentials =
|
||||||
|
await storage.read(key: BoxName.basicAuthCredentials);
|
||||||
var url = Uri.parse(
|
var url = Uri.parse(
|
||||||
link,
|
link,
|
||||||
);
|
);
|
||||||
@@ -67,7 +74,7 @@ class CRUD {
|
|||||||
headers: {
|
headers: {
|
||||||
"Content-Type": "application/x-www-form-urlencoded",
|
"Content-Type": "application/x-www-form-urlencoded",
|
||||||
'Authorization':
|
'Authorization':
|
||||||
'Basic ${base64Encode(utf8.encode(AppCredintials.basicAuthCredentials))}',
|
'Basic ${base64Encode(utf8.encode(basicAuthCredentials.toString()))}',
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
print(response.request);
|
print(response.request);
|
||||||
@@ -91,6 +98,8 @@ class CRUD {
|
|||||||
required String link,
|
required String link,
|
||||||
Map<String, dynamic>? payload,
|
Map<String, dynamic>? payload,
|
||||||
}) async {
|
}) async {
|
||||||
|
String? basicAuthCredentials =
|
||||||
|
await storage.read(key: BoxName.basicAuthCredentials);
|
||||||
var url = Uri.parse(
|
var url = Uri.parse(
|
||||||
link,
|
link,
|
||||||
);
|
);
|
||||||
@@ -100,7 +109,7 @@ class CRUD {
|
|||||||
headers: {
|
headers: {
|
||||||
"Content-Type": "application/x-www-form-urlencoded",
|
"Content-Type": "application/x-www-form-urlencoded",
|
||||||
'Authorization':
|
'Authorization':
|
||||||
'Basic ${base64Encode(utf8.encode(AppCredintials.basicAuthCredentials))}',
|
'Basic ${base64Encode(utf8.encode(basicAuthCredentials.toString()))}',
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
print(response.request);
|
print(response.request);
|
||||||
@@ -149,13 +158,15 @@ class CRUD {
|
|||||||
required Map<String, dynamic> data,
|
required Map<String, dynamic> data,
|
||||||
required String id,
|
required String id,
|
||||||
}) async {
|
}) async {
|
||||||
|
String? basicAuthCredentials =
|
||||||
|
await storage.read(key: BoxName.basicAuthCredentials);
|
||||||
var url = Uri.parse('$endpoint/$id');
|
var url = Uri.parse('$endpoint/$id');
|
||||||
var response = await http.put(
|
var response = await http.put(
|
||||||
url,
|
url,
|
||||||
body: json.encode(data),
|
body: json.encode(data),
|
||||||
headers: {
|
headers: {
|
||||||
'Authorization':
|
'Authorization':
|
||||||
'Basic ${base64Encode(utf8.encode(AppCredintials.basicAuthCredentials))}',
|
'Basic ${base64Encode(utf8.encode(basicAuthCredentials.toString()))}',
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
return json.decode(response.body);
|
return json.decode(response.body);
|
||||||
@@ -165,12 +176,14 @@ class CRUD {
|
|||||||
required String endpoint,
|
required String endpoint,
|
||||||
required String id,
|
required String id,
|
||||||
}) async {
|
}) async {
|
||||||
|
String? basicAuthCredentials =
|
||||||
|
await storage.read(key: BoxName.basicAuthCredentials);
|
||||||
var url = Uri.parse('$endpoint/$id');
|
var url = Uri.parse('$endpoint/$id');
|
||||||
var response = await http.delete(
|
var response = await http.delete(
|
||||||
url,
|
url,
|
||||||
headers: {
|
headers: {
|
||||||
'Authorization':
|
'Authorization':
|
||||||
'Basic ${base64Encode(utf8.encode(AppCredintials.basicAuthCredentials))}',
|
'Basic ${base64Encode(utf8.encode(basicAuthCredentials.toString()))}',
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
return json.decode(response.body);
|
return json.decode(response.body);
|
||||||
|
|||||||
@@ -284,6 +284,7 @@ class ScanDocumentsByApi extends GetxController {
|
|||||||
///
|
///
|
||||||
|
|
||||||
Future<void> scanDocumentsByApi() async {
|
Future<void> scanDocumentsByApi() async {
|
||||||
|
String? visionApi = await storage.read(key: BoxName.visionApi);
|
||||||
// Pick an image from the camera or gallery
|
// Pick an image from the camera or gallery
|
||||||
image = await imagePicker.pickImage(source: ImageSource.camera);
|
image = await imagePicker.pickImage(source: ImageSource.camera);
|
||||||
|
|
||||||
@@ -294,7 +295,7 @@ class ScanDocumentsByApi extends GetxController {
|
|||||||
|
|
||||||
isLoading = true;
|
isLoading = true;
|
||||||
update();
|
update();
|
||||||
var headers = {'X-BLOBR-KEY': AppCredintials.visionApi};
|
var headers = {'X-BLOBR-KEY': visionApi.toString()};
|
||||||
var request = http.MultipartRequest('POST',
|
var request = http.MultipartRequest('POST',
|
||||||
Uri.parse('https://api.faceonlive.com/j2y3q25y1b6maif1/api/iddoc'));
|
Uri.parse('https://api.faceonlive.com/j2y3q25y1b6maif1/api/iddoc'));
|
||||||
request.files.add(await http.MultipartFile.fromPath('image', image!.path));
|
request.files.add(await http.MultipartFile.fromPath('image', image!.path));
|
||||||
@@ -398,6 +399,7 @@ class ScanDocumentsByApi extends GetxController {
|
|||||||
|
|
||||||
Map res = {};
|
Map res = {};
|
||||||
Future matchFaceApi() async {
|
Future matchFaceApi() async {
|
||||||
|
String? visionApi = await storage.read(key: BoxName.visionApi);
|
||||||
imageFace = await imagePicker.pickImage(
|
imageFace = await imagePicker.pickImage(
|
||||||
source: ImageSource.camera,
|
source: ImageSource.camera,
|
||||||
preferredCameraDevice: CameraDevice.front,
|
preferredCameraDevice: CameraDevice.front,
|
||||||
@@ -409,7 +411,7 @@ class ScanDocumentsByApi extends GetxController {
|
|||||||
}
|
}
|
||||||
final imageFile = File(imageFace!.path);
|
final imageFile = File(imageFace!.path);
|
||||||
// Uint8List imageBytes = await imageFile.readAsBytes();
|
// Uint8List imageBytes = await imageFile.readAsBytes();
|
||||||
var headers = {'X-BLOBR-KEY': AppCredintials.visionApi};
|
var headers = {'X-BLOBR-KEY': visionApi.toString()};
|
||||||
var request = http.MultipartRequest(
|
var request = http.MultipartRequest(
|
||||||
'POST',
|
'POST',
|
||||||
Uri.parse(
|
Uri.parse(
|
||||||
@@ -484,6 +486,8 @@ class ScanDocumentsByApi extends GetxController {
|
|||||||
// Todo upload images and fields
|
// Todo upload images and fields
|
||||||
|
|
||||||
Future<String> uploadImage(File imageFile) async {
|
Future<String> uploadImage(File imageFile) async {
|
||||||
|
String? basicAuthCredentials =
|
||||||
|
await storage.read(key: BoxName.basicAuthCredentials);
|
||||||
var request = http.MultipartRequest(
|
var request = http.MultipartRequest(
|
||||||
'POST',
|
'POST',
|
||||||
Uri.parse(AppLink.uploadImage),
|
Uri.parse(AppLink.uploadImage),
|
||||||
@@ -496,7 +500,7 @@ class ScanDocumentsByApi extends GetxController {
|
|||||||
request.headers.addAll({
|
request.headers.addAll({
|
||||||
"Content-Type": "application/x-www-form-urlencoded",
|
"Content-Type": "application/x-www-form-urlencoded",
|
||||||
'Authorization':
|
'Authorization':
|
||||||
'Basic ${base64Encode(utf8.encode(AppCredintials.basicAuthCredentials))}',
|
'Basic ${base64Encode(utf8.encode(basicAuthCredentials.toString()))}',
|
||||||
});
|
});
|
||||||
|
|
||||||
// Add the driverID to the request
|
// Add the driverID to the request
|
||||||
|
|||||||
@@ -59,6 +59,7 @@ class MapDriverController extends GetxController {
|
|||||||
String stringRemainingTimeRideBegin = '';
|
String stringRemainingTimeRideBegin = '';
|
||||||
double progressTimerRideBegin = 0;
|
double progressTimerRideBegin = 0;
|
||||||
late Timer timer;
|
late Timer timer;
|
||||||
|
String? mapAPIKEY;
|
||||||
|
|
||||||
void onMapCreated(GoogleMapController controller) {
|
void onMapCreated(GoogleMapController controller) {
|
||||||
LocationController locationController = Get.find<LocationController>();
|
LocationController locationController = Get.find<LocationController>();
|
||||||
@@ -315,7 +316,7 @@ class MapDriverController extends GetxController {
|
|||||||
update();
|
update();
|
||||||
|
|
||||||
var url =
|
var url =
|
||||||
('${AppLink.googleMapsLink}directions/json?&language=en&avoid=tolls|ferries&destination=$destination&origin=$origin&key=${AppCredintials.mapAPIKEY}');
|
('${AppLink.googleMapsLink}directions/json?&language=en&avoid=tolls|ferries&destination=$destination&origin=$origin&key=${mapAPIKEY}');
|
||||||
|
|
||||||
var response = await CRUD().getGoogleApi(link: url, payload: {});
|
var response = await CRUD().getGoogleApi(link: url, payload: {});
|
||||||
data = response['routes'][0]['legs'];
|
data = response['routes'][0]['legs'];
|
||||||
@@ -359,7 +360,8 @@ class MapDriverController extends GetxController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void onInit() {
|
void onInit() async {
|
||||||
|
mapAPIKEY = await storage.read(key: BoxName.mapAPIKEY);
|
||||||
// Get the passenger location from the arguments.
|
// Get the passenger location from the arguments.
|
||||||
passengerLocation = Get.arguments['passengerLocation'];
|
passengerLocation = Get.arguments['passengerLocation'];
|
||||||
duration = Get.arguments['Duration'];
|
duration = Get.arguments['Duration'];
|
||||||
|
|||||||
@@ -89,6 +89,7 @@ class MapPassengerController extends GetxController {
|
|||||||
bool isPassengerChosen = false;
|
bool isPassengerChosen = false;
|
||||||
late String driverToken;
|
late String driverToken;
|
||||||
int carsOrder = 0;
|
int carsOrder = 0;
|
||||||
|
String? mapAPIKEY;
|
||||||
|
|
||||||
void onChangedPassengerCount(int newValue) {
|
void onChangedPassengerCount(int newValue) {
|
||||||
selectedPassengerCount = newValue;
|
selectedPassengerCount = newValue;
|
||||||
@@ -596,8 +597,8 @@ class MapPassengerController extends GetxController {
|
|||||||
|
|
||||||
Future getPlaces() async {
|
Future getPlaces() async {
|
||||||
var url =
|
var url =
|
||||||
// '${AppLink.googleMapsLink}place/nearbysearch/json?location=${mylocation.longitude}&radius=25000&language=ar&keyword=&key=${placeController.text}${AppCredintials.mapAPIKEY}';
|
// '${AppLink.googleMapsLink}place/nearbysearch/json?location=${mylocation.longitude}&radius=25000&language=ar&keyword=&key=${placeController.text}${mapAPIKEY}';
|
||||||
'${AppLink.googleMapsLink}place/nearbysearch/json?keyword=${placeController.text}&location=${myLocation.latitude},${myLocation.longitude}&radius=50000&language=ar&key=${AppCredintials.mapAPIKEY}';
|
'${AppLink.googleMapsLink}place/nearbysearch/json?keyword=${placeController.text}&location=${myLocation.latitude},${myLocation.longitude}&radius=50000&language=ar&key=${mapAPIKEY.toString()}';
|
||||||
|
|
||||||
var response = await CRUD().getGoogleApi(link: url, payload: {});
|
var response = await CRUD().getGoogleApi(link: url, payload: {});
|
||||||
|
|
||||||
@@ -811,7 +812,7 @@ class MapPassengerController extends GetxController {
|
|||||||
update();
|
update();
|
||||||
// Make API request to get exact distance and duration
|
// Make API request to get exact distance and duration
|
||||||
String apiUrl =
|
String apiUrl =
|
||||||
'${AppLink.googleMapsLink}distancematrix/json?destinations=${carLocation['latitude']},${carLocation['longitude']}&origins=${myLocation.latitude},${myLocation.longitude}&units=metric&key=${AppCredintials.mapAPIKEY}';
|
'${AppLink.googleMapsLink}distancematrix/json?destinations=${carLocation['latitude']},${carLocation['longitude']}&origins=${myLocation.latitude},${myLocation.longitude}&units=metric&key=${mapAPIKEY}';
|
||||||
var response = await CRUD().getGoogleApi(link: apiUrl, payload: {});
|
var response = await CRUD().getGoogleApi(link: apiUrl, payload: {});
|
||||||
if (response['status'] == "OK") {
|
if (response['status'] == "OK") {
|
||||||
var data = response;
|
var data = response;
|
||||||
@@ -872,7 +873,7 @@ class MapPassengerController extends GetxController {
|
|||||||
// print(carsLocationByPassenger);
|
// print(carsLocationByPassenger);
|
||||||
|
|
||||||
var url =
|
var url =
|
||||||
('${AppLink.googleMapsLink}directions/json?&language=en&avoid=tolls|ferries&destination=$destination&origin=$origin&key=${AppCredintials.mapAPIKEY}');
|
('${AppLink.googleMapsLink}directions/json?&language=en&avoid=tolls|ferries&destination=$destination&origin=$origin&key=${mapAPIKEY}');
|
||||||
|
|
||||||
var response = await CRUD().getGoogleApi(link: url, payload: {});
|
var response = await CRUD().getGoogleApi(link: url, payload: {});
|
||||||
data = response['routes'][0]['legs'];
|
data = response['routes'][0]['legs'];
|
||||||
@@ -1157,6 +1158,7 @@ class MapPassengerController extends GetxController {
|
|||||||
String? cardNumber;
|
String? cardNumber;
|
||||||
@override
|
@override
|
||||||
void onInit() async {
|
void onInit() async {
|
||||||
|
mapAPIKEY = await storage.read(key: BoxName.mapAPIKEY);
|
||||||
await getLocation();
|
await getLocation();
|
||||||
await getCarsLocationByPassenger();
|
await getCarsLocationByPassenger();
|
||||||
getNearestDriverByPassengerLocation();
|
getNearestDriverByPassengerLocation();
|
||||||
|
|||||||
@@ -3,9 +3,11 @@ import 'dart:io';
|
|||||||
import 'package:firebase_core/firebase_core.dart';
|
import 'package:firebase_core/firebase_core.dart';
|
||||||
import 'package:firebase_messaging/firebase_messaging.dart';
|
import 'package:firebase_messaging/firebase_messaging.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
|
||||||
import 'package:flutter_stripe/flutter_stripe.dart';
|
import 'package:flutter_stripe/flutter_stripe.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:get_storage/get_storage.dart';
|
import 'package:get_storage/get_storage.dart';
|
||||||
|
import 'package:ride/constant/box_name.dart';
|
||||||
import 'package:ride/constant/credential.dart';
|
import 'package:ride/constant/credential.dart';
|
||||||
import 'package:ride/constant/info.dart';
|
import 'package:ride/constant/info.dart';
|
||||||
import 'package:ride/splash_screen_page.dart';
|
import 'package:ride/splash_screen_page.dart';
|
||||||
@@ -18,6 +20,7 @@ import 'firebase_options.dart';
|
|||||||
import 'models/db_sql.dart';
|
import 'models/db_sql.dart';
|
||||||
|
|
||||||
final box = GetStorage();
|
final box = GetStorage();
|
||||||
|
const storage = FlutterSecureStorage();
|
||||||
DbSql sql = DbSql.instance;
|
DbSql sql = DbSql.instance;
|
||||||
@pragma('vm:entry-point')
|
@pragma('vm:entry-point')
|
||||||
Future<void> backgroundMessageHandler(RemoteMessage message) async {
|
Future<void> backgroundMessageHandler(RemoteMessage message) async {
|
||||||
@@ -31,7 +34,13 @@ Future<void> backgroundMessageHandler(RemoteMessage message) async {
|
|||||||
void main() async {
|
void main() async {
|
||||||
WidgetsFlutterBinding.ensureInitialized();
|
WidgetsFlutterBinding.ensureInitialized();
|
||||||
await GetStorage.init();
|
await GetStorage.init();
|
||||||
Stripe.publishableKey = StripeKey.publishableKey;
|
if (box.read(BoxName.apiKeyRun).toString() != 'run') {
|
||||||
|
await AppCredintials().getApiKey();
|
||||||
|
}
|
||||||
|
String? stripePublishableKey =
|
||||||
|
await storage.read(key: BoxName.stripePublishableKey);
|
||||||
|
Stripe.publishableKey = stripePublishableKey ?? '';
|
||||||
|
//StripeKey.publishableKey;
|
||||||
if (Platform.isAndroid || Platform.isIOS) {
|
if (Platform.isAndroid || Platform.isIOS) {
|
||||||
await Firebase.initializeApp(
|
await Firebase.initializeApp(
|
||||||
options: DefaultFirebaseOptions.currentPlatform,
|
options: DefaultFirebaseOptions.currentPlatform,
|
||||||
@@ -51,6 +60,7 @@ void main() async {
|
|||||||
DeviceOrientation.portraitUp,
|
DeviceOrientation.portraitUp,
|
||||||
DeviceOrientation.portraitDown,
|
DeviceOrientation.portraitDown,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
runApp(const MyApp());
|
runApp(const MyApp());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,6 +15,8 @@ import 'package:ride/views/auth/captin/register_captin.dart';
|
|||||||
import 'package:ride/views/widgets/elevated_btn.dart';
|
import 'package:ride/views/widgets/elevated_btn.dart';
|
||||||
import 'package:ride/views/widgets/my_scafold.dart';
|
import 'package:ride/views/widgets/my_scafold.dart';
|
||||||
|
|
||||||
|
import '../../../constant/char_map.dart';
|
||||||
|
import '../../../constant/credential.dart';
|
||||||
import '../../../controller/auth/login_controller.dart';
|
import '../../../controller/auth/login_controller.dart';
|
||||||
import '../../widgets/mycircular.dart';
|
import '../../widgets/mycircular.dart';
|
||||||
|
|
||||||
@@ -190,11 +192,33 @@ class LoginCaptin extends StatelessWidget {
|
|||||||
stopPauseOnTap: true,
|
stopPauseOnTap: true,
|
||||||
),
|
),
|
||||||
IconButton(
|
IconButton(
|
||||||
onPressed: () {
|
onPressed: () async {
|
||||||
sql.deleteAllData(TableName.faceDetectTimes);
|
String v = await storage.read(
|
||||||
|
key: BoxName.basicAuthCredentials) ??
|
||||||
|
'';
|
||||||
|
print(v);
|
||||||
|
// sql.deleteAllData(TableName.faceDetectTimes);
|
||||||
|
AppCredintials credentials = AppCredintials();
|
||||||
|
String apiKey = 'hamzaayedphp:malDEV@2101';
|
||||||
|
// // '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';
|
||||||
|
// AppCredintials credentials = AppCredintials();
|
||||||
|
credentials.getApiKey();
|
||||||
|
// String? apiKeyf =
|
||||||
|
// await storage.read(key: 'basicAuthCredentials');
|
||||||
|
// print(apiKeyf);
|
||||||
|
// String convertedString = credentials.c(apiKey, charMap);
|
||||||
|
// print('Converted String: $convertedString');
|
||||||
|
//
|
||||||
|
// String retrievedString =
|
||||||
|
// credentials.r(convertedString, charMap);
|
||||||
|
// print('Retrieved String: $retrievedString');
|
||||||
|
//
|
||||||
|
// if (retrievedString == apiKey) {
|
||||||
|
// print('same');
|
||||||
|
// }
|
||||||
},
|
},
|
||||||
icon: const Icon(
|
icon: const Icon(
|
||||||
Icons.delete,
|
Icons.close,
|
||||||
color: AppColor.blueColor,
|
color: AppColor.blueColor,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
Reference in New Issue
Block a user