|
|
@@ -0,0 +1,30 @@
|
|
|
+import 'package:electronic_assistant/utils/common_utils.dart';
|
|
|
+import 'package:electronic_assistant/utils/mmkv_util.dart';
|
|
|
+import 'package:uuid/uuid.dart';
|
|
|
+
|
|
|
+class AndroidDeviceInfo {
|
|
|
+ String? _androidId;
|
|
|
+
|
|
|
+ AndroidDeviceInfo._() {
|
|
|
+ _androidId = KVUtil.getString(AndroidConstants.keyAndroidIdCache, null);
|
|
|
+ }
|
|
|
+
|
|
|
+ String? get androidId {
|
|
|
+ if (_androidId != null && _androidId!.isNotEmpty) {
|
|
|
+ return _androidId;
|
|
|
+ }
|
|
|
+ _androidId = getAndroidId();
|
|
|
+ KVUtil.putString(AndroidConstants.keyAndroidIdCache, _androidId);
|
|
|
+ return _androidId;
|
|
|
+ }
|
|
|
+
|
|
|
+ String getAndroidId() {
|
|
|
+ return const Uuid().v4();
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+class AndroidConstants {
|
|
|
+ static final String keyAndroidIdCache = stringToUnicode("keyAndroidIdCache");
|
|
|
+}
|
|
|
+
|
|
|
+final androidDeviceInfo = AndroidDeviceInfo._();
|