diff --git a/android/build/reports/problems/problems-report.html b/android/build/reports/problems/problems-report.html index 90e4b4a..6b936b1 100644 --- a/android/build/reports/problems/problems-report.html +++ b/android/build/reports/problems/problems-report.html @@ -650,7 +650,7 @@ code + .copy-button { diff --git a/lib/controller/auth/captin/login_captin_controller.dart b/lib/controller/auth/captin/login_captin_controller.dart index d1fe541..1b906ea 100755 --- a/lib/controller/auth/captin/login_captin_controller.dart +++ b/lib/controller/auth/captin/login_captin_controller.dart @@ -160,6 +160,7 @@ class LoginDriverController extends GetxController { } getJWT() async { + await EncryptionHelper.initialize(); dev = Platform.isAndroid ? 'android' : 'ios'; Log.print( 'box.read(BoxName.firstTimeLoadKey): ${box.read(BoxName.firstTimeLoadKey)}'); @@ -581,7 +582,7 @@ class LoginDriverController extends GetxController { } updateAppTester(AppInformation.appName); - var fingerPrint = DeviceHelper.getDeviceFingerprint().toString(); + var fingerPrint = await DeviceHelper.getDeviceFingerprint(); await storage.write(key: BoxName.fingerPrint, value: fingerPrint); var token = await CRUD().get( diff --git a/lib/controller/functions/package_info.dart b/lib/controller/functions/package_info.dart index 7c1b4c4..db1f99c 100755 --- a/lib/controller/functions/package_info.dart +++ b/lib/controller/functions/package_info.dart @@ -168,44 +168,35 @@ void showUpdateDialog(BuildContext context) { class DeviceHelper { static Future getDeviceFingerprint() async { + await EncryptionHelper.initialize(); final DeviceInfoPlugin deviceInfoPlugin = DeviceInfoPlugin(); var deviceData; try { if (Platform.isAndroid) { - // Fetch Android-specific device information AndroidDeviceInfo androidInfo = await deviceInfoPlugin.androidInfo; - deviceData = androidInfo.toMap(); // Convert to a map for easier access - // Log.print('deviceData: ${jsonEncode(deviceData)}'); + deviceData = androidInfo.toMap(); } else if (Platform.isIOS) { - // Fetch iOS-specific device information IosDeviceInfo iosInfo = await deviceInfoPlugin.iosInfo; - deviceData = iosInfo.toMap(); // Convert to a map for easier access + deviceData = iosInfo.toMap(); } else { throw UnsupportedError('Unsupported platform'); } - // Extract relevant device information final String deviceId = Platform.isAndroid - ? deviceData['androidId'] ?? deviceData['fingerprint'] ?? 'unknown' + ? deviceData['id'] ?? deviceData['androidId'] ?? deviceData['fingerprint'] ?? 'unknown' : deviceData['identifierForVendor'] ?? 'unknown'; final String deviceModel = deviceData['model'] ?? 'unknown'; - // final String osVersion = Platform.isAndroid - // ? deviceData['version']['release'] ?? 'unknown' - // : deviceData['systemVersion'] ?? 'unknown'; - // Log the extracted information - - // Generate and return the encrypted fingerprint final String fingerprint = EncryptionHelper.instance.encryptData('${deviceId}_$deviceModel'); - // Log.print('fingerprint: ${fingerprint}'); - // print(EncryptionHelper.instance.encryptData(fingerprint)); + box.write(BoxName.deviceFingerprint, fingerprint); return (fingerprint); } catch (e) { - throw Exception('Failed to generate device fingerprint'); + debugPrint('Error generating device fingerprint: $e'); + throw Exception('Failed to generate device fingerprint: $e'); } } }