registerDevice method
Implementation
Future<String> registerDevice({bool force = false}) async {
SharedPreferences sharedPreferences = await DeviceStorage().getInstance();
if (!force) {
String deviceTokenInStorage =
sharedPreferences.getString(DeviceStorage.deviceToken) ?? "";
if (!NetworkHandler.hasTokenExpired(deviceTokenInStorage)) {
return deviceTokenInStorage;
}
}
Map<String, String> params = await getDeviceInformation();
String paramsString = jsonEncode(params);
String encryptedParams = _aes128EcbEncrypt(paramsString, clientkey);
String encryptedHash =
crypto.sha1.convert(utf8.encode(paramsString)).toString();
String deviceToken =
await NetworkHandler().registerDevice(encryptedParams, encryptedHash);
await sharedPreferences.setString(DeviceStorage.deviceToken, deviceToken);
return deviceToken;
}