react-native-mytatva-rn-sdk 1.2.3 → 1.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (751) hide show
  1. package/android/app/build.gradle +6 -0
  2. package/android/build.gradle +85 -5
  3. package/android/gradle.properties +1 -1
  4. package/android/libs/algorithm-release.aar +0 -0
  5. package/android/libs/library_zxing-release.aar +0 -0
  6. package/android/settings.gradle +1 -0
  7. package/android/src/main/AndroidManifest.xml +40 -2
  8. package/android/src/main/AndroidManifestNew.xml +127 -57
  9. package/android/src/main/java/cgmblelib/Enum/enumDevice.java +48 -0
  10. package/android/src/main/java/cgmblelib/Enum/enumError.java +102 -0
  11. package/android/src/main/java/cgmblelib/Enum/enumGlucoseStatus.java +99 -0
  12. package/android/src/main/java/cgmblelib/Enum/enumSound.java +54 -0
  13. package/android/src/main/java/cgmblelib/Enum/enumTrend.java +104 -0
  14. package/android/src/main/java/cgmblelib/Enum/enumUUID.java +134 -0
  15. package/android/src/main/java/cgmblelib/Enum/enumUnBind.java +52 -0
  16. package/android/src/main/java/cgmblelib/base/BApplication.java +86 -0
  17. package/android/src/main/java/cgmblelib/base/BSharedPreferences.java +110 -0
  18. package/android/src/main/java/cgmblelib/base/CActivity.java +128 -0
  19. package/android/src/main/java/cgmblelib/ble/BleService.java +231 -0
  20. package/android/src/main/java/cgmblelib/ble/entity/AlgorithmCallBack.java +67 -0
  21. package/android/src/main/java/cgmblelib/ble/gattcallback/BleGattCallback.java +410 -0
  22. package/android/src/main/java/cgmblelib/ble/gattcallback/EnumSynchronous.java +29 -0
  23. package/android/src/main/java/cgmblelib/ble/gattcallback/GattTool.java +359 -0
  24. package/android/src/main/java/cgmblelib/ble/gattcallback/LineUpTaskGlucoseProcess.java +168 -0
  25. package/android/src/main/java/cgmblelib/ble/gattcallback/ManageGattCallback.java +936 -0
  26. package/android/src/main/java/cgmblelib/ble/reconnectManagament/BaseReconnect.java +35 -0
  27. package/android/src/main/java/cgmblelib/ble/reconnectManagament/ReconnectManagement.java +298 -0
  28. package/android/src/main/java/cgmblelib/ble/scancallback/BleScanCallback.java +118 -0
  29. package/android/src/main/java/cgmblelib/ble/scancallback/ManageScanCallback.java +316 -0
  30. package/android/src/main/java/cgmblelib/custom/livedata/ManagementLiveData.java +216 -0
  31. package/android/src/main/java/cgmblelib/custom/livedata/connect/EnumConnect.java +30 -0
  32. package/android/src/main/java/cgmblelib/custom/livedata/connect/OperationConnectBean.java +51 -0
  33. package/android/src/main/java/cgmblelib/custom/livedata/connect/OperationConnectLiveData.java +66 -0
  34. package/android/src/main/java/cgmblelib/custom/livedata/scan/EnumScan.java +25 -0
  35. package/android/src/main/java/cgmblelib/custom/livedata/scan/OperationScanBean.java +60 -0
  36. package/android/src/main/java/cgmblelib/custom/livedata/scan/OperationScanLiveData.java +69 -0
  37. package/android/src/main/java/cgmblelib/custom/livedata/scan/PocDeviceAndRssi.java +57 -0
  38. package/android/src/main/java/cgmblelib/database/AppDatabase.java +82 -0
  39. package/android/src/main/java/cgmblelib/database/ArrayConverter.java +37 -0
  40. package/android/src/main/java/cgmblelib/database/ByteConverter.java +95 -0
  41. package/android/src/main/java/cgmblelib/database/DateConverter.java +40 -0
  42. package/android/src/main/java/cgmblelib/database/EnumConverter.java +76 -0
  43. package/android/src/main/java/cgmblelib/database/dao/DaoDevice.java +135 -0
  44. package/android/src/main/java/cgmblelib/database/dao/DaoGlucose.java +355 -0
  45. package/android/src/main/java/cgmblelib/database/entity/PocDevice.java +335 -0
  46. package/android/src/main/java/cgmblelib/database/entity/PocGlucose.java +393 -0
  47. package/android/src/main/java/cgmblelib/database/livedata/LatestDeviceLiveData.java +62 -0
  48. package/android/src/main/java/cgmblelib/database/repository/RepositoryDevice.java +206 -0
  49. package/android/src/main/java/cgmblelib/database/repository/RepositoryGlucose.java +195 -0
  50. package/android/src/main/java/cgmblelib/database/source/SourceBase.java +10 -0
  51. package/android/src/main/java/cgmblelib/database/source/SourceDevice.java +116 -0
  52. package/android/src/main/java/cgmblelib/database/source/SourceGlucose.java +232 -0
  53. package/android/src/main/java/cgmblelib/database/source/db/DBDataSource.java +29 -0
  54. package/android/src/main/java/cgmblelib/database/source/db/DeviceDBDataSource.java +194 -0
  55. package/android/src/main/java/cgmblelib/database/source/db/GlucoseDBDataSource.java +323 -0
  56. package/android/src/main/java/cgmblelib/qr/QRInformation.java +96 -0
  57. package/android/src/main/java/cgmblelib/receiver/BleServiceReceiver.java +129 -0
  58. package/android/src/main/java/cgmblelib/utils/AppExecutors.java +76 -0
  59. package/android/src/main/java/cgmblelib/utils/AxisYForGlucoseLevel.java +67 -0
  60. package/android/src/main/java/cgmblelib/utils/ConstantsLibrary.java +88 -0
  61. package/android/src/main/java/cgmblelib/utils/CrashHandler.java +39 -0
  62. package/android/src/main/java/cgmblelib/utils/DiskIOThreadExecutor.java +23 -0
  63. package/android/src/main/java/cgmblelib/utils/MyLog.java +606 -0
  64. package/android/src/main/java/cgmblelib/utils/NotificationTool.java +115 -0
  65. package/android/src/main/java/cgmblelib/utils/PermissionCheckTool.java +47 -0
  66. package/android/src/main/java/cgmblelib/utils/SharedPreferencesLibraryUtil.java +69 -0
  67. package/android/src/main/java/cgmblelib/utils/SyncMeta.kt +8 -0
  68. package/android/src/main/java/cgmblelib/utils/Tool.java +400 -0
  69. package/android/src/main/java/com/mytatvarnsdk/CgmTrackyLibModule.kt +885 -0
  70. package/android/src/main/java/com/mytatvarnsdk/CgmTrackyLibPackage.kt +16 -0
  71. package/android/src/main/java/com/mytatvarnsdk/MainActivity.kt +404 -0
  72. package/android/src/main/java/com/mytatvarnsdk/MainApplication.kt +52 -0
  73. package/android/src/main/java/com/mytatvarnsdk/MyTatvaRnSdkPackage.kt +2 -2
  74. package/android/src/main/java/com/mytatvarnsdk/MyTatvaRnSdkViewManager.kt +1 -1
  75. package/android/src/main/java/com/mytatvarnsdk/activity/BtManageActivity.java +427 -0
  76. package/android/src/main/java/com/mytatvarnsdk/activity/ConnectSensorActivity.kt +334 -0
  77. package/android/src/main/java/com/mytatvarnsdk/activity/ExitJourneyBottomSheet.kt +78 -0
  78. package/android/src/main/java/com/mytatvarnsdk/activity/HelpActivity.kt +70 -0
  79. package/android/src/main/java/com/mytatvarnsdk/activity/PermissionActivity.kt +367 -0
  80. package/android/src/main/java/com/mytatvarnsdk/activity/PlaceSensorActivity.kt +103 -0
  81. package/android/src/main/java/com/mytatvarnsdk/activity/PlaceTransmitterActivity.kt +145 -0
  82. package/android/src/main/java/com/mytatvarnsdk/activity/QRActivity.kt +119 -0
  83. package/android/src/main/java/com/mytatvarnsdk/activity/SearchTransmitterActivity.kt +554 -0
  84. package/android/src/main/java/com/mytatvarnsdk/activity/SensorConnectSuccessActivity.kt +156 -0
  85. package/android/src/main/java/com/mytatvarnsdk/activity/StartCGMActivity.kt +92 -0
  86. package/android/src/main/java/com/mytatvarnsdk/adapter/AdapterFragment.java +32 -0
  87. package/android/src/main/java/com/mytatvarnsdk/base/BaseBleActivity.java +223 -0
  88. package/android/src/main/java/com/mytatvarnsdk/base/BaseLiveDataEventsDistributeActivity.java +301 -0
  89. package/android/src/main/java/com/mytatvarnsdk/base/BasePermissionActivity.java +383 -0
  90. package/android/src/main/java/com/mytatvarnsdk/model/AllCGMLogRequest.kt +50 -0
  91. package/android/src/main/java/com/mytatvarnsdk/model/BaseViewModel.java +109 -0
  92. package/android/src/main/java/com/mytatvarnsdk/model/GlucoseLog.kt +41 -0
  93. package/android/src/main/java/com/mytatvarnsdk/model/GlucoseLogRequest.kt +3 -0
  94. package/android/src/main/java/com/mytatvarnsdk/model/MainActivityModel.java +18 -0
  95. package/android/src/main/java/com/mytatvarnsdk/myView/CircleImageView.java +110 -0
  96. package/android/src/main/java/com/mytatvarnsdk/myView/DragActionButton.java +96 -0
  97. package/android/src/main/java/com/mytatvarnsdk/myView/HistoryItem.java +45 -0
  98. package/android/src/main/java/com/mytatvarnsdk/myView/Media/CustomMediaPlayer.java +155 -0
  99. package/android/src/main/java/com/mytatvarnsdk/myView/PagerAdapterWrapper.java +117 -0
  100. package/android/src/main/java/com/mytatvarnsdk/myView/RtlViewPager.java +361 -0
  101. package/android/src/main/java/com/mytatvarnsdk/myView/dialog/AlarmDialogManagement.java +115 -0
  102. package/android/src/main/java/com/mytatvarnsdk/myView/dialog/DialogType.java +88 -0
  103. package/android/src/main/java/com/mytatvarnsdk/myView/dialog/WarnDialog.java +328 -0
  104. package/android/src/main/java/com/mytatvarnsdk/myView/dialog/WarnDialogUtils.java +202 -0
  105. package/android/src/main/java/com/mytatvarnsdk/myView/horizonViewPager/HorizontalViewPage.java +20 -0
  106. package/android/src/main/java/com/mytatvarnsdk/myView/horizonViewPager/ScaleInTransformer.java +33 -0
  107. package/android/src/main/java/com/mytatvarnsdk/myView/popupwindow/BPopupWindow.java +166 -0
  108. package/android/src/main/java/com/mytatvarnsdk/myView/popupwindow/ErrorInfoPop.java +28 -0
  109. package/android/src/main/java/com/mytatvarnsdk/myView/popupwindow/PermissionRequestPopWindow.java +64 -0
  110. package/android/src/main/java/com/mytatvarnsdk/myView/popupwindow/PopShowWay.java +16 -0
  111. package/android/src/main/java/com/mytatvarnsdk/myView/popupwindow/PopupType.java +70 -0
  112. package/android/src/main/java/com/mytatvarnsdk/myView/popupwindow/PopupWindowManagement.java +191 -0
  113. package/android/src/main/java/com/mytatvarnsdk/myView/popupwindow/TransmitterConnectPopWindow.java +88 -0
  114. package/android/src/main/java/com/mytatvarnsdk/myView/progress/BaseCustomProgress.java +55 -0
  115. package/android/src/main/java/com/mytatvarnsdk/myView/progress/CircularProgressView.java +238 -0
  116. package/android/src/main/java/com/mytatvarnsdk/myView/progress/ProgressManagement.java +100 -0
  117. package/android/src/main/java/com/mytatvarnsdk/myView/progress/ProgressType.java +41 -0
  118. package/android/src/main/java/com/mytatvarnsdk/myView/progress/WaitProgress.java +91 -0
  119. package/android/src/main/java/com/mytatvarnsdk/myView/widget/SensorGlucoseShow.java +219 -0
  120. package/android/src/main/java/com/mytatvarnsdk/myView/widget/TransmitterState.java +536 -0
  121. package/android/src/main/java/com/mytatvarnsdk/network/ApiServiceInterface.kt +22 -0
  122. package/android/src/main/java/com/mytatvarnsdk/network/AuthenticateSDKService.kt +168 -0
  123. package/android/src/main/java/com/mytatvarnsdk/receiver/BootCompleteReceiver.java +31 -0
  124. package/android/src/main/java/com/mytatvarnsdk/utils/CGMTool.java +59 -0
  125. package/android/src/main/java/com/mytatvarnsdk/utils/DeviceStatus.kt +35 -0
  126. package/android/src/main/java/com/mytatvarnsdk/utils/EncryptionUtil.kt +98 -0
  127. package/android/src/main/java/com/mytatvarnsdk/utils/RetrofitInstance.kt +20 -0
  128. package/android/src/main/java/com/mytatvarnsdk/utils/TatvaEncryptionConfig.kt +20 -0
  129. package/android/src/main/java/com/mytatvarnsdk/utils/Tatva_Environment.kt +6 -0
  130. package/android/src/main/res/anim/pop_down_out.xml +12 -0
  131. package/android/src/main/res/anim/pop_left_right.xml +8 -0
  132. package/android/src/main/res/anim/pop_right_left.xml +7 -0
  133. package/android/src/main/res/anim/pop_up_in.xml +11 -0
  134. package/android/src/main/res/anim/reverse_down_anim.xml +12 -0
  135. package/android/src/main/res/anim/reverse_up_anim.xml +11 -0
  136. package/android/src/main/res/color/radio_text_selector.xml +5 -0
  137. package/android/src/main/res/drawable/bg_blue.xml +6 -0
  138. package/android/src/main/res/drawable/bg_dark_black.xml +6 -0
  139. package/android/src/main/res/drawable/bg_darkgray_corner_16.xml +5 -0
  140. package/android/src/main/res/drawable/bg_design.png +0 -0
  141. package/android/src/main/res/drawable/bg_gray_corner10.xml +5 -0
  142. package/android/src/main/res/drawable/bg_green.xml +6 -0
  143. package/android/src/main/res/drawable/bg_green_border_20.xml +6 -0
  144. package/android/src/main/res/drawable/bg_light_blue.xml +6 -0
  145. package/android/src/main/res/drawable/bg_light_green_border_20.xml +7 -0
  146. package/android/src/main/res/drawable/bg_maincolor_corner5.xml +6 -0
  147. package/android/src/main/res/drawable/bg_offwhite.xml +6 -0
  148. package/android/src/main/res/drawable/bg_progressbar.xml +14 -0
  149. package/android/src/main/res/drawable/bg_red_border_20.xml +6 -0
  150. package/android/src/main/res/drawable/bg_rounded_gradient.xml +12 -0
  151. package/android/src/main/res/drawable/bg_transblack_corner_8.xml +5 -0
  152. package/android/src/main/res/drawable/bg_white_border_20.xml +10 -0
  153. package/android/src/main/res/drawable/bg_white_corner_10.xml +7 -0
  154. package/android/src/main/res/drawable/bg_white_corner_8.xml +7 -0
  155. package/android/src/main/res/drawable/bg_white_green_border_20.xml +7 -0
  156. package/android/src/main/res/drawable/bg_yellow_bottom.xml +10 -0
  157. package/android/src/main/res/drawable/bg_yellow_top.xml +10 -0
  158. package/android/src/main/res/drawable/bottom_sheet_background.xml +8 -0
  159. package/android/src/main/res/drawable/checked_arrow_up_down.xml +5 -0
  160. package/android/src/main/res/drawable/circle_black.xml +7 -0
  161. package/android/src/main/res/drawable/circle_shape.xml +35 -0
  162. package/android/src/main/res/drawable/custom_radio_icon_selector.xml +5 -0
  163. package/android/src/main/res/drawable/custom_thumb.xml +6 -0
  164. package/android/src/main/res/drawable/dialog_warn_button_cancel.xml +11 -0
  165. package/android/src/main/res/drawable/dialog_warn_button_ok.xml +11 -0
  166. package/android/src/main/res/drawable/gray_border_15.xml +9 -0
  167. package/android/src/main/res/drawable/guide_circle.xml +5 -0
  168. package/android/src/main/res/drawable/hr_button_select.xml +5 -0
  169. package/android/src/main/res/drawable/hr_normal.xml +13 -0
  170. package/android/src/main/res/drawable/hr_select.xml +10 -0
  171. package/android/src/main/res/drawable/ic_charging_case.png +0 -0
  172. package/android/src/main/res/drawable/ic_close.png +0 -0
  173. package/android/src/main/res/drawable/ic_close_gray.xml +9 -0
  174. package/android/src/main/res/drawable/ic_play.xml +9 -0
  175. package/android/src/main/res/drawable/ic_play_gif.gif +0 -0
  176. package/android/src/main/res/drawable/ic_rectangle_blue.xml +9 -0
  177. package/android/src/main/res/drawable/ic_right_arrow.xml +9 -0
  178. package/android/src/main/res/drawable/ic_sync.xml +9 -0
  179. package/android/src/main/res/drawable/ic_transmitter.png +0 -0
  180. package/android/src/main/res/drawable/ic_whatsapp.xml +31 -0
  181. package/android/src/main/res/drawable/ic_whatsapp_green.xml +28 -0
  182. package/android/src/main/res/drawable/icon_glucose_hyperglycemia.xml +5 -0
  183. package/android/src/main/res/drawable/img_box_cross.png +0 -0
  184. package/android/src/main/res/drawable/img_box_qr.png +0 -0
  185. package/android/src/main/res/drawable/img_case.png +0 -0
  186. package/android/src/main/res/drawable/img_cgm_device.png +0 -0
  187. package/android/src/main/res/drawable/img_cgm_shadow.png +0 -0
  188. package/android/src/main/res/drawable/img_charging_indicator.png +0 -0
  189. package/android/src/main/res/drawable/img_charging_pod_full.png +0 -0
  190. package/android/src/main/res/drawable/img_female.png +0 -0
  191. package/android/src/main/res/drawable/img_male.png +0 -0
  192. package/android/src/main/res/drawable/img_trans_shell.png +0 -0
  193. package/android/src/main/res/drawable/popup_button_confirm_enable.xml +11 -0
  194. package/android/src/main/res/drawable/popup_window_bg.xml +9 -0
  195. package/android/src/main/res/drawable/radio_button_background.xml +17 -0
  196. package/android/src/main/res/drawable/radio_checked.xml +9 -0
  197. package/android/src/main/res/drawable/radio_unchecked.xml +13 -0
  198. package/android/src/main/res/drawable/searching.gif +0 -0
  199. package/android/src/main/res/drawable/sensor_bg.xml +10 -0
  200. package/android/src/main/res/drawable/success_anim.gif +0 -0
  201. package/android/src/main/res/drawable/thumb_selector.xml +11 -0
  202. package/android/src/main/res/drawable/toggle_off.xml +16 -0
  203. package/android/src/main/res/drawable/toggle_on.xml +16 -0
  204. package/android/src/main/res/drawable/track_selector.xml +17 -0
  205. package/android/src/main/res/drawable/warning.gif +0 -0
  206. package/android/src/main/res/drawable-hdpi/alarm_sound_shake_white.png +0 -0
  207. package/android/src/main/res/drawable-hdpi/arrow_down.png +0 -0
  208. package/android/src/main/res/drawable-hdpi/arrow_up.png +0 -0
  209. package/android/src/main/res/drawable-hdpi/calibration_notice.png +0 -0
  210. package/android/src/main/res/drawable-hdpi/drop_rapidly.png +0 -0
  211. package/android/src/main/res/drawable-hdpi/drop_rapidly_low.png +0 -0
  212. package/android/src/main/res/drawable-hdpi/drop_steadily.png +0 -0
  213. package/android/src/main/res/drawable-hdpi/home_menu.png +0 -0
  214. package/android/src/main/res/drawable-hdpi/implentation_step3.png +0 -0
  215. package/android/src/main/res/drawable-hdpi/implentation_step4.png +0 -0
  216. package/android/src/main/res/drawable-hdpi/poput_request_permission_icon.png +0 -0
  217. package/android/src/main/res/drawable-hdpi/product_box.png +0 -0
  218. package/android/src/main/res/drawable-hdpi/progress_wait_other_icon.png +0 -0
  219. package/android/src/main/res/drawable-hdpi/rise_rapidly.png +0 -0
  220. package/android/src/main/res/drawable-hdpi/rise_steadily.png +0 -0
  221. package/android/src/main/res/drawable-hdpi/sound_close.png +0 -0
  222. package/android/src/main/res/drawable-hdpi/sound_open.png +0 -0
  223. package/android/src/main/res/drawable-hdpi/steady.png +0 -0
  224. package/android/src/main/res/drawable-hdpi/toast_success.png +0 -0
  225. package/android/src/main/res/drawable-hdpi/video_wait.png +0 -0
  226. package/android/src/main/res/drawable-xhdpi/alarm_sound_shake_white.png +0 -0
  227. package/android/src/main/res/drawable-xhdpi/arrow_down.png +0 -0
  228. package/android/src/main/res/drawable-xhdpi/arrow_up.png +0 -0
  229. package/android/src/main/res/drawable-xhdpi/arrows_down_white.png +0 -0
  230. package/android/src/main/res/drawable-xhdpi/bt_qr_img.png +0 -0
  231. package/android/src/main/res/drawable-xhdpi/calibration_notice.png +0 -0
  232. package/android/src/main/res/drawable-xhdpi/cgm_img.png +0 -0
  233. package/android/src/main/res/drawable-xhdpi/chart_point_hypoglycemia.png +0 -0
  234. package/android/src/main/res/drawable-xhdpi/chart_point_normal.png +0 -0
  235. package/android/src/main/res/drawable-xhdpi/count_down_icon.png +0 -0
  236. package/android/src/main/res/drawable-xhdpi/device_unbind.png +0 -0
  237. package/android/src/main/res/drawable-xhdpi/drop_rapidly.png +0 -0
  238. package/android/src/main/res/drawable-xhdpi/drop_rapidly_low.png +0 -0
  239. package/android/src/main/res/drawable-xhdpi/drop_steadily.png +0 -0
  240. package/android/src/main/res/drawable-xhdpi/friend_share.png +0 -0
  241. package/android/src/main/res/drawable-xhdpi/guide_step1.png +0 -0
  242. package/android/src/main/res/drawable-xhdpi/guide_step10.png +0 -0
  243. package/android/src/main/res/drawable-xhdpi/guide_step2_arm.png +0 -0
  244. package/android/src/main/res/drawable-xhdpi/guide_step2_fu.png +0 -0
  245. package/android/src/main/res/drawable-xhdpi/guide_step3.png +0 -0
  246. package/android/src/main/res/drawable-xhdpi/guide_step4.png +0 -0
  247. package/android/src/main/res/drawable-xhdpi/guide_step5.png +0 -0
  248. package/android/src/main/res/drawable-xhdpi/guide_step6.png +0 -0
  249. package/android/src/main/res/drawable-xhdpi/guide_step7.png +0 -0
  250. package/android/src/main/res/drawable-xhdpi/guide_step8.png +0 -0
  251. package/android/src/main/res/drawable-xhdpi/guide_step9.png +0 -0
  252. package/android/src/main/res/drawable-xhdpi/home_menu.png +0 -0
  253. package/android/src/main/res/drawable-xhdpi/home_question.png +0 -0
  254. package/android/src/main/res/drawable-xhdpi/icon_back.png +0 -0
  255. package/android/src/main/res/drawable-xhdpi/icon_ct3.png +0 -0
  256. package/android/src/main/res/drawable-xhdpi/icon_glucose_hyperglycemia.png +0 -0
  257. package/android/src/main/res/drawable-xhdpi/implement_close.png +0 -0
  258. package/android/src/main/res/drawable-xhdpi/implentation_step2_1.png +0 -0
  259. package/android/src/main/res/drawable-xhdpi/implentation_step2_2.png +0 -0
  260. package/android/src/main/res/drawable-xhdpi/implentation_step3.png +0 -0
  261. package/android/src/main/res/drawable-xhdpi/implentation_step4.png +0 -0
  262. package/android/src/main/res/drawable-xhdpi/loading_icon.png +0 -0
  263. package/android/src/main/res/drawable-xhdpi/login_loading.png +0 -0
  264. package/android/src/main/res/drawable-xhdpi/main_bg.png +0 -0
  265. package/android/src/main/res/drawable-xhdpi/mes_pop_box_icon.png +0 -0
  266. package/android/src/main/res/drawable-xhdpi/poput_request_permission_icon.png +0 -0
  267. package/android/src/main/res/drawable-xhdpi/prepare_box_video.png +0 -0
  268. package/android/src/main/res/drawable-xhdpi/prepare_products.png +0 -0
  269. package/android/src/main/res/drawable-xhdpi/product_box.png +0 -0
  270. package/android/src/main/res/drawable-xhdpi/progress_wait_center.png +0 -0
  271. package/android/src/main/res/drawable-xhdpi/progress_wait_other_icon.png +0 -0
  272. package/android/src/main/res/drawable-xhdpi/progress_wait_search.png +0 -0
  273. package/android/src/main/res/drawable-xhdpi/rise_rapidly.png +0 -0
  274. package/android/src/main/res/drawable-xhdpi/rise_steadily.png +0 -0
  275. package/android/src/main/res/drawable-xhdpi/sound_close.png +0 -0
  276. package/android/src/main/res/drawable-xhdpi/sound_implement.png +0 -0
  277. package/android/src/main/res/drawable-xhdpi/sound_open.png +0 -0
  278. package/android/src/main/res/drawable-xhdpi/star.png +0 -0
  279. package/android/src/main/res/drawable-xhdpi/steady.png +0 -0
  280. package/android/src/main/res/drawable-xhdpi/title_black.png +0 -0
  281. package/android/src/main/res/drawable-xhdpi/toast_success.png +0 -0
  282. package/android/src/main/res/drawable-xhdpi/trend_drop_rapidly.png +0 -0
  283. package/android/src/main/res/drawable-xhdpi/trend_drop_rapidly_low.png +0 -0
  284. package/android/src/main/res/drawable-xhdpi/trend_drop_steadily.png +0 -0
  285. package/android/src/main/res/drawable-xhdpi/trend_none.png +0 -0
  286. package/android/src/main/res/drawable-xhdpi/trend_rise_rapidly.png +0 -0
  287. package/android/src/main/res/drawable-xhdpi/trend_rise_steadily.png +0 -0
  288. package/android/src/main/res/drawable-xhdpi/trend_steady.png +0 -0
  289. package/android/src/main/res/drawable-xhdpi/triangle_red.png +0 -0
  290. package/android/src/main/res/drawable-xhdpi/triangle_yellow.png +0 -0
  291. package/android/src/main/res/drawable-xhdpi/video_wait.png +0 -0
  292. package/android/src/main/res/drawable-xhdpi/widget_drop_rapid.png +0 -0
  293. package/android/src/main/res/drawable-xhdpi/widget_drop_rapid_low.png +0 -0
  294. package/android/src/main/res/drawable-xhdpi/widget_drop_slow.png +0 -0
  295. package/android/src/main/res/drawable-xhdpi/widget_rise_rapid.png +0 -0
  296. package/android/src/main/res/drawable-xhdpi/widget_rise_slow.png +0 -0
  297. package/android/src/main/res/drawable-xhdpi/widget_steady.png +0 -0
  298. package/android/src/main/res/drawable-xhdpi/zoom_in.png +0 -0
  299. package/android/src/main/res/drawable-xhdpi/zoom_out_white.png +0 -0
  300. package/android/src/main/res/drawable-xxhdpi/alarm_sound_shake_white.png +0 -0
  301. package/android/src/main/res/drawable-xxhdpi/calibration_notice.png +0 -0
  302. package/android/src/main/res/drawable-xxhdpi/drop_rapidly.png +0 -0
  303. package/android/src/main/res/drawable-xxhdpi/drop_rapidly_low.png +0 -0
  304. package/android/src/main/res/drawable-xxhdpi/drop_steadily.png +0 -0
  305. package/android/src/main/res/drawable-xxhdpi/home_menu.png +0 -0
  306. package/android/src/main/res/drawable-xxhdpi/mes_pop_box_icon.png +0 -0
  307. package/android/src/main/res/drawable-xxhdpi/poput_request_permission_icon.png +0 -0
  308. package/android/src/main/res/drawable-xxhdpi/product_box.png +0 -0
  309. package/android/src/main/res/drawable-xxhdpi/progress_wait_center.png +0 -0
  310. package/android/src/main/res/drawable-xxhdpi/progress_wait_other_icon.png +0 -0
  311. package/android/src/main/res/drawable-xxhdpi/rise_rapidly.png +0 -0
  312. package/android/src/main/res/drawable-xxhdpi/rise_steadily.png +0 -0
  313. package/android/src/main/res/drawable-xxhdpi/sound_close.png +0 -0
  314. package/android/src/main/res/drawable-xxhdpi/sound_open.png +0 -0
  315. package/android/src/main/res/drawable-xxhdpi/steady.png +0 -0
  316. package/android/src/main/res/drawable-xxhdpi/title_black.png +0 -0
  317. package/android/src/main/res/drawable-xxhdpi/toast_success.png +0 -0
  318. package/android/src/main/res/drawable-xxhdpi/video_wait.png +0 -0
  319. package/android/src/main/res/drawable-xxxhdpi/mes_pop_box_icon.png +0 -0
  320. package/android/src/main/res/drawable-xxxhdpi/poput_request_permission_icon.png +0 -0
  321. package/android/src/main/res/drawable-xxxhdpi/progress_wait_other_icon.png +0 -0
  322. package/android/src/main/res/font/playfairdisplay_bold.ttf +0 -0
  323. package/android/src/main/res/font/playfairdisplay_medium.ttf +0 -0
  324. package/android/src/main/res/font/playfairdisplay_regular.ttf +0 -0
  325. package/android/src/main/res/font/roboto_bold.ttf +0 -0
  326. package/android/src/main/res/font/roboto_medium.ttf +0 -0
  327. package/android/src/main/res/font/roboto_regular.ttf +0 -0
  328. package/android/src/main/res/font/roboto_semibold.ttf +0 -0
  329. package/android/src/main/res/layout/activity_bt_manage.xml +107 -0
  330. package/android/src/main/res/layout/activity_cgmdevice.xml +99 -0
  331. package/android/src/main/res/layout/activity_connect_sensor.xml +415 -0
  332. package/android/src/main/res/layout/activity_count_down.xml +229 -0
  333. package/android/src/main/res/layout/activity_guide.xml +118 -0
  334. package/android/src/main/res/layout/activity_help.xml +188 -0
  335. package/android/src/main/res/layout/activity_main.xml +48 -0
  336. package/android/src/main/res/layout/activity_permission.xml +205 -0
  337. package/android/src/main/res/layout/activity_place_sensor.xml +156 -0
  338. package/android/src/main/res/layout/activity_place_transmitter.xml +124 -0
  339. package/android/src/main/res/layout/activity_prepare_step1.xml +191 -0
  340. package/android/src/main/res/layout/activity_qr.xml +16 -0
  341. package/android/src/main/res/layout/activity_qractivity.xml +10 -0
  342. package/android/src/main/res/layout/activity_search_transmitter.xml +667 -0
  343. package/android/src/main/res/layout/activity_sensor_connect_success.xml +101 -0
  344. package/android/src/main/res/layout/activity_start_cgmactivity.xml +175 -0
  345. package/android/src/main/res/layout/activity_transmitter_list.xml +38 -0
  346. package/android/src/main/res/layout/activity_transmitter_state.xml +74 -0
  347. package/android/src/main/res/layout/activity_trend_detail.xml +287 -0
  348. package/android/src/main/res/layout/activity_welcome.xml +11 -0
  349. package/android/src/main/res/layout/dialog_progress_wait.xml +49 -0
  350. package/android/src/main/res/layout/dialog_warn.xml +140 -0
  351. package/android/src/main/res/layout/exit_dialog_bottomsheet.xml +90 -0
  352. package/android/src/main/res/layout/fragment_count_down.xml +65 -0
  353. package/android/src/main/res/layout/fragment_prepare.xml +15 -0
  354. package/android/src/main/res/layout/fragment_sensor.xml +174 -0
  355. package/android/src/main/res/layout/fragment_sensor_glucose_show.xml +62 -0
  356. package/android/src/main/res/layout/history_item.xml +92 -0
  357. package/android/src/main/res/layout/layout_button.xml +56 -0
  358. package/android/src/main/res/layout/layout_green_border_button.xml +44 -0
  359. package/android/src/main/res/layout/layout_red_button.xml +43 -0
  360. package/android/src/main/res/layout/layout_toolbar.xml +61 -0
  361. package/android/src/main/res/layout/pop_error_info.xml +13 -0
  362. package/android/src/main/res/layout/popup_window_request_permisson.xml +54 -0
  363. package/android/src/main/res/layout/popup_window_transmitter_connect.xml +103 -0
  364. package/android/src/main/res/layout/top_menu_common.xml +95 -0
  365. package/android/src/main/res/layout/view_loading_button.xml +29 -0
  366. package/android/src/main/res/raw/high_alarm.mp3 +0 -0
  367. package/android/src/main/res/raw/medium_alarm.mp3 +0 -0
  368. package/android/src/main/res/values/colors.xml +44 -0
  369. package/android/src/main/res/values/dimens.xml +21 -0
  370. package/android/src/main/res/values/strings.xml +202 -0
  371. package/android/src/main/res/values/styles.xml +98 -0
  372. package/ios/Assets.xcassets/AccentColor.colorset/Contents.json +11 -0
  373. package/ios/Assets.xcassets/AppIcon.appiconset/Contents.json +35 -0
  374. package/ios/Assets.xcassets/CGM_with_Toggle.imageset/CGM_with_Toggle.png +0 -0
  375. package/ios/Assets.xcassets/CGM_with_Toggle.imageset/Contents.json +21 -0
  376. package/ios/Assets.xcassets/Contents.json +6 -0
  377. package/ios/Assets.xcassets/Take_out_transmitter.imageset/Contents.json +21 -0
  378. package/ios/Assets.xcassets/Take_out_transmitter.imageset/Take our transmitter.png +0 -0
  379. package/ios/Assets.xcassets/charging.imageset/Contents.json +21 -0
  380. package/ios/Assets.xcassets/charging.imageset/charging.png +0 -0
  381. package/ios/Assets.xcassets/charging_pod.imageset/Contents.json +21 -0
  382. package/ios/Assets.xcassets/charging_pod.imageset/charging_pod.png +0 -0
  383. package/ios/Assets.xcassets/close_pod.imageset/Contents.json +23 -0
  384. package/ios/Assets.xcassets/close_pod.imageset/Group 1000005563.png +0 -0
  385. package/ios/Assets.xcassets/close_pod.imageset/Group 1000005563@2x.png +0 -0
  386. package/ios/Assets.xcassets/close_pod.imageset/Group 1000005563@3x.png +0 -0
  387. package/ios/Assets.xcassets/do_not_place_inside.imageset/Contents.json +21 -0
  388. package/ios/Assets.xcassets/do_not_place_inside.imageset/do_not_place_inside.png +0 -0
  389. package/ios/Assets.xcassets/flip_the_reference.imageset/Contents.json +21 -0
  390. package/ios/Assets.xcassets/flip_the_reference.imageset/flip_the_reference.png +0 -0
  391. package/ios/Assets.xcassets/fully_charged.imageset/Contents.json +21 -0
  392. package/ios/Assets.xcassets/fully_charged.imageset/fully_charged.png +0 -0
  393. package/ios/Assets.xcassets/green.colorset/Contents.json +38 -0
  394. package/ios/Assets.xcassets/ic_arrow.imageset/7.png +0 -0
  395. package/ios/Assets.xcassets/ic_arrow.imageset/7@2x.png +0 -0
  396. package/ios/Assets.xcassets/ic_arrow.imageset/7@3x.png +0 -0
  397. package/ios/Assets.xcassets/ic_arrow.imageset/Contents.json +23 -0
  398. package/ios/Assets.xcassets/ic_back.imageset/7.png +0 -0
  399. package/ios/Assets.xcassets/ic_back.imageset/7@2x.png +0 -0
  400. package/ios/Assets.xcassets/ic_back.imageset/7@3x.png +0 -0
  401. package/ios/Assets.xcassets/ic_back.imageset/Contents.json +23 -0
  402. package/ios/Assets.xcassets/ic_back_arrow.imageset/Contents.json +23 -0
  403. package/ios/Assets.xcassets/ic_back_arrow.imageset/image 17 (Traced).png +0 -0
  404. package/ios/Assets.xcassets/ic_back_arrow.imageset/image 17 (Traced)@2x.png +0 -0
  405. package/ios/Assets.xcassets/ic_back_arrow.imageset/image 17 (Traced)@3x.png +0 -0
  406. package/ios/Assets.xcassets/ic_circle.imageset/Contents.json +23 -0
  407. package/ios/Assets.xcassets/ic_circle.imageset/circle.png +0 -0
  408. package/ios/Assets.xcassets/ic_circle.imageset/circle@2x.png +0 -0
  409. package/ios/Assets.xcassets/ic_circle.imageset/circle@3x.png +0 -0
  410. package/ios/Assets.xcassets/ic_close.imageset/Contents.json +23 -0
  411. package/ios/Assets.xcassets/ic_close.imageset/close button.png +0 -0
  412. package/ios/Assets.xcassets/ic_close.imageset/close button@2x.png +0 -0
  413. package/ios/Assets.xcassets/ic_close.imageset/close button@3x.png +0 -0
  414. package/ios/Assets.xcassets/ic_close_popup.imageset/Contents.json +23 -0
  415. package/ios/Assets.xcassets/ic_close_popup.imageset/Frame.png +0 -0
  416. package/ios/Assets.xcassets/ic_close_popup.imageset/Frame@2x.png +0 -0
  417. package/ios/Assets.xcassets/ic_close_popup.imageset/Frame@3x.png +0 -0
  418. package/ios/Assets.xcassets/ic_green_arrow.imageset/Contents.json +23 -0
  419. package/ios/Assets.xcassets/ic_green_arrow.imageset/image 17 (Traced).png +0 -0
  420. package/ios/Assets.xcassets/ic_green_arrow.imageset/image 17 (Traced)@2x.png +0 -0
  421. package/ios/Assets.xcassets/ic_green_arrow.imageset/image 17 (Traced)@3x.png +0 -0
  422. package/ios/Assets.xcassets/ic_play.imageset/Contents.json +26 -0
  423. package/ios/Assets.xcassets/ic_play.imageset/Play.png +0 -0
  424. package/ios/Assets.xcassets/ic_play.imageset/Play@2x.png +0 -0
  425. package/ios/Assets.xcassets/ic_play.imageset/Play@3x.png +0 -0
  426. package/ios/Assets.xcassets/ic_selected.imageset/Contents.json +23 -0
  427. package/ios/Assets.xcassets/ic_selected.imageset/Frame.png +0 -0
  428. package/ios/Assets.xcassets/ic_selected.imageset/Frame@2x.png +0 -0
  429. package/ios/Assets.xcassets/ic_selected.imageset/Frame@3x.png +0 -0
  430. package/ios/Assets.xcassets/ic_whatsApp_only.imageset/Contents.json +23 -0
  431. package/ios/Assets.xcassets/ic_whatsApp_only.imageset/WhatsApp.png +0 -0
  432. package/ios/Assets.xcassets/ic_whatsApp_only.imageset/WhatsApp@2x.png +0 -0
  433. package/ios/Assets.xcassets/ic_whatsApp_only.imageset/WhatsApp@3x.png +0 -0
  434. package/ios/Assets.xcassets/ic_whatsapp.imageset/Contents.json +23 -0
  435. package/ios/Assets.xcassets/ic_whatsapp.imageset/Frame 1000006343.png +0 -0
  436. package/ios/Assets.xcassets/ic_whatsapp.imageset/Frame 1000006343@2x.png +0 -0
  437. package/ios/Assets.xcassets/ic_whatsapp.imageset/Frame 1000006343@3x.png +0 -0
  438. package/ios/Assets.xcassets/indigo.colorset/Contents.json +38 -0
  439. package/ios/Assets.xcassets/mandala.imageset/Contents.json +21 -0
  440. package/ios/Assets.xcassets/mandala.imageset/ending.png +0 -0
  441. package/ios/Assets.xcassets/open_pod.imageset/Contents.json +23 -0
  442. package/ios/Assets.xcassets/open_pod.imageset/Screenshot 2025-04-22 at 8.07.34/342/200/257PM 1.png +0 -0
  443. package/ios/Assets.xcassets/open_pod.imageset/Screenshot 2025-04-22 at 8.07.34/342/200/257PM 1@2x.png +0 -0
  444. package/ios/Assets.xcassets/open_pod.imageset/Screenshot 2025-04-22 at 8.07.34/342/200/257PM 1@3x.png +0 -0
  445. package/ios/Assets.xcassets/step4.imageset/Contents.json +21 -0
  446. package/ios/Assets.xcassets/step4.imageset/step4.png +0 -0
  447. package/ios/Assets.xcassets/step5.imageset/Contents.json +21 -0
  448. package/ios/Assets.xcassets/step5.imageset/step5.png +0 -0
  449. package/ios/Assets.xcassets/transmitter_image.imageset/Contents.json +21 -0
  450. package/ios/Assets.xcassets/transmitter_image.imageset/transmitter_image.png +0 -0
  451. package/ios/Assets.xcassets/transmitter_shadow.imageset/CGM Shadow.png +0 -0
  452. package/ios/Assets.xcassets/transmitter_shadow.imageset/Contents.json +21 -0
  453. package/ios/Assets.xcassets/unselectedGray.colorset/Contents.json +38 -0
  454. package/ios/Custom/CustomColor.swift +22 -0
  455. package/ios/Custom/CustomFont.swift +49 -0
  456. package/ios/Custom/CustomOverlayButton.swift +237 -0
  457. package/ios/Custom/CustomStepProgressBar.swift +167 -0
  458. package/ios/Custom/CustomTopUIView.swift +173 -0
  459. package/ios/Custom/CustomView.swift +60 -0
  460. package/ios/Database/Advertise+CoreDataClass.h +23 -0
  461. package/ios/Database/Advertise+CoreDataClass.m +14 -0
  462. package/ios/Database/Advertise+CoreDataProperties.h +28 -0
  463. package/ios/Database/Advertise+CoreDataProperties.m +25 -0
  464. package/ios/Database/Device+CoreDataClass.h +23 -0
  465. package/ios/Database/Device+CoreDataClass.m +14 -0
  466. package/ios/Database/Device+CoreDataProperties.h +47 -0
  467. package/ios/Database/Device+CoreDataProperties.m +30 -0
  468. package/ios/Database/GlucoseData+CoreDataClass.h +23 -0
  469. package/ios/Database/GlucoseData+CoreDataClass.m +14 -0
  470. package/ios/Database/GlucoseData+CoreDataProperties.h +37 -0
  471. package/ios/Database/GlucoseData+CoreDataProperties.m +34 -0
  472. package/ios/Database/KLTAppDelegate.h +24 -0
  473. package/ios/Database/KLTAppDelegate.m +109 -0
  474. package/ios/Database/KLTBluetoothManager.h +83 -0
  475. package/ios/Database/KLTBluetoothManager.m +723 -0
  476. package/ios/Database/KLTCommonDefine.h +52 -0
  477. package/ios/Database/KLTDatabaseHandler.h +59 -0
  478. package/ios/Database/KLTDatabaseHandler.m +437 -0
  479. package/ios/Database/KLTFormat.h +32 -0
  480. package/ios/Database/KLTFormat.m +270 -0
  481. package/ios/Database/KLTLaunchConfiguration.h +37 -0
  482. package/ios/Database/KLTLaunchConfiguration.m +96 -0
  483. package/ios/Database/KLTLocalSettingManager.h +38 -0
  484. package/ios/Database/KLTLocalSettingManager.m +138 -0
  485. package/ios/Database/KLTPrefixHeader.pch +123 -0
  486. package/ios/Database/KLTRunLog.h +36 -0
  487. package/ios/Database/KLTRunLog.m +156 -0
  488. package/ios/Database/KLTUserDefautKeyDefine.h +42 -0
  489. package/ios/Database/MyTatva.xcdatamodeld/MyTatva.xcdatamodel/contents +68 -0
  490. package/ios/Database/NSString+KLTDateString.h +36 -0
  491. package/ios/Database/NSString+KLTDateString.m +160 -0
  492. package/ios/Database/ReceiveData+CoreDataClass.h +23 -0
  493. package/ios/Database/ReceiveData+CoreDataClass.m +14 -0
  494. package/ios/Database/ReceiveData+CoreDataProperties.h +47 -0
  495. package/ios/Database/ReceiveData+CoreDataProperties.m +44 -0
  496. package/ios/Database/UIColor+KLTUI.h +36 -0
  497. package/ios/Database/UIColor+KLTUI.m +60 -0
  498. package/ios/Extension/UIColor+Extension.swift +23 -0
  499. package/ios/Extension/UIImageView+Extension.swift +59 -0
  500. package/ios/Extension/UITableView+Extension.swift +37 -0
  501. package/ios/Extension/UIViewController+Extension.swift +24 -0
  502. package/ios/LaunchScreen.storyboard +47 -0
  503. package/ios/MyReactNativeBridge.h +19 -0
  504. package/ios/MyReactNativeBridge.m +36 -0
  505. package/ios/MyTatvaCare-Bridging-Header.h +23 -0
  506. package/ios/MyTatvaRnSdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  507. package/ios/MyTatvaRnSdk.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  508. package/ios/MyTatvaRnSdk.xcodeproj/project.xcworkspace/xcuserdata/sonusharma.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  509. package/ios/MyTatvaRnSdk.xcodeproj/xcuserdata/sonusharma.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
  510. package/ios/MyTatvaRnSdkViewManager.h +1 -1
  511. package/ios/MyTatvaRnSdkViewManager.m +1 -1
  512. package/ios/Storyboard/Base.lproj/LaunchScreen.storyboard +25 -0
  513. package/ios/Storyboard/Base.lproj/Main.storyboard +858 -0
  514. package/ios/Support/API.swift +325 -0
  515. package/ios/Support/BluetoothManager.swift +472 -0
  516. package/ios/Support/Converter/DataConverter.swift +34 -0
  517. package/ios/Support/Enum.swift +37 -0
  518. package/ios/Support/EnumDebouncer.swift +55 -0
  519. package/ios/Support/Font/PlayfairDisplay-Italic-VariableFont_wght.ttf +0 -0
  520. package/ios/Support/Font/PlayfairDisplay-VariableFont_wght.ttf +0 -0
  521. package/ios/Support/Global.swift +12 -0
  522. package/ios/Support/KLTFormat.swift +151 -0
  523. package/ios/Support/Library/SDK/include/AlgorithmTools.h +52 -0
  524. package/ios/Support/Library/SDK/include/CGMAlgo.h +224 -0
  525. package/ios/Support/Library/SDK/include/CGMCommonDefine.h +176 -0
  526. package/ios/Support/Library/SDK/include/CurrentGlucose.h +412 -0
  527. package/ios/Support/Library/SDK/include/EDevice.h +78 -0
  528. package/ios/Support/Library/SDK/include/KRDecodeData.h +45 -0
  529. package/ios/Support/Library/SDK/libCGMAlgo.a +0 -0
  530. package/ios/Support/gif/failure.gif +0 -0
  531. package/ios/Support/gif/play.gif +0 -0
  532. package/ios/Support/gif/searching.gif +0 -0
  533. package/ios/Support/gif/shrimmer.gif +0 -0
  534. package/ios/TableViewCell/ChargingIndicatorTVC/ChargingIndicatorTVC.swift +45 -0
  535. package/ios/TableViewCell/ChargingIndicatorTVC/ChargingIndicatorTVC.xib +136 -0
  536. package/ios/TableViewCell/ChatOptionTVC/ChatOptionTVC.swift +34 -0
  537. package/ios/TableViewCell/ChatOptionTVC/ChatOptionTVC.xib +85 -0
  538. package/ios/TableViewCell/ConnectDeviceTVC/ConnectDeviceTVC.swift +38 -0
  539. package/ios/TableViewCell/ConnectDeviceTVC/ConnectDeviceTVC.xib +94 -0
  540. package/ios/TableViewCell/ConnectSuccessTVC/ConnectSuccessTVC.swift +52 -0
  541. package/ios/TableViewCell/ConnectSuccessTVC/ConnectSuccessTVC.xib +113 -0
  542. package/ios/TableViewCell/ImageTVC/ImageTVC.swift +123 -0
  543. package/ios/TableViewCell/ImageTVC/ImageTVC.xib +115 -0
  544. package/ios/TableViewCell/LabelTVC/LabelTVC.swift +26 -0
  545. package/ios/TableViewCell/LabelTVC/LabelTVC.xib +41 -0
  546. package/ios/TableViewCell/NoteTVC/NoteTVC.swift +58 -0
  547. package/ios/TableViewCell/NoteTVC/NoteTVC.xib +98 -0
  548. package/ios/TableViewCell/PodDetailsTVC/PodDetailsTVC.swift +31 -0
  549. package/ios/TableViewCell/PodDetailsTVC/PodDetailsTVC.xib +104 -0
  550. package/ios/TableViewCell/SearchDeviceTVC/SearchDeviceTVC.swift +28 -0
  551. package/ios/TableViewCell/SearchDeviceTVC/SearchDeviceTVC.xib +67 -0
  552. package/ios/TableViewCell/SeparatorTVC/SeparatorTVC.swift +23 -0
  553. package/ios/TableViewCell/SeparatorTVC/SeparatorTVC.xib +39 -0
  554. package/ios/TableViewCell/SwitchTVC/SwitchTVC.swift +52 -0
  555. package/ios/TableViewCell/SwitchTVC/SwitchTVC.xib +139 -0
  556. package/ios/TableViewCell/VIdeoTVC/VideoTVC.swift +28 -0
  557. package/ios/TableViewCell/VIdeoTVC/VideoTVC.xib +79 -0
  558. package/ios/TableViewCell/VerticalLabelsTVC/VerticalLabelsTVC.swift +37 -0
  559. package/ios/TableViewCell/VerticalLabelsTVC/VerticalLabelsTVC.xib +60 -0
  560. package/ios/TableViewCell/WatchVideoTVC/WatchVideoTVC.swift +37 -0
  561. package/ios/TableViewCell/WatchVideoTVC/WatchVideoTVC.xib +115 -0
  562. package/ios/ViewControllers/AttachTransmitterViewController.swift +115 -0
  563. package/ios/ViewControllers/ChatWithExpertViewController.swift +113 -0
  564. package/ios/ViewControllers/ConnectToSensorViewController.swift +368 -0
  565. package/ios/ViewControllers/ConnectToTransmitterViewController.swift +300 -0
  566. package/ios/ViewControllers/ExitJourneyViewController.swift +62 -0
  567. package/ios/ViewControllers/ProvidePermissionViewController.swift +286 -0
  568. package/ios/ViewControllers/PutOnTheSensorViewController.swift +99 -0
  569. package/ios/ViewControllers/StartConnectionViewController.swift +117 -0
  570. package/ios/ViewModel/FinalViewModel.swift +395 -0
  571. package/lib/commonjs/BcaDeviceListSheet.js +7 -6
  572. package/lib/commonjs/BcaDeviceListSheet.js.map +1 -1
  573. package/lib/commonjs/CGMConnect.js +108 -0
  574. package/lib/commonjs/CGMConnect.js.map +1 -0
  575. package/lib/commonjs/MainWebView.js +9 -5
  576. package/lib/commonjs/MainWebView.js.map +1 -1
  577. package/lib/commonjs/{index.android.js → MyTatvaRnSdkView.android.js} +44 -5
  578. package/lib/commonjs/MyTatvaRnSdkView.android.js.map +1 -0
  579. package/lib/commonjs/{index.ios.js → MyTatvaRnSdkView.ios.js} +37 -8
  580. package/lib/commonjs/MyTatvaRnSdkView.ios.js.map +1 -0
  581. package/lib/commonjs/ProgressWebView.js +14 -13
  582. package/lib/commonjs/ProgressWebView.js.map +1 -1
  583. package/lib/commonjs/Services.js.map +1 -1
  584. package/lib/commonjs/Sheets.js.map +1 -1
  585. package/lib/commonjs/api/auth.js.map +1 -1
  586. package/lib/commonjs/api/base.js +6 -4
  587. package/lib/commonjs/api/base.js.map +1 -1
  588. package/lib/commonjs/api/index.js.map +1 -1
  589. package/lib/commonjs/constants/asyncstorage.js.map +1 -1
  590. package/lib/commonjs/constants/constants.js.map +1 -1
  591. package/lib/commonjs/constants.js.map +1 -1
  592. package/lib/commonjs/helpers/Matrics.js +1 -1
  593. package/lib/commonjs/helpers/Matrics.js.map +1 -1
  594. package/lib/commonjs/helpers/bluetoothPermissionHelper.js.map +1 -1
  595. package/lib/commonjs/helpers/colors.js.map +1 -1
  596. package/lib/commonjs/helpers/common.js.map +1 -1
  597. package/lib/commonjs/helpers/fonts.js.map +1 -1
  598. package/lib/commonjs/helpers/globalStyles.js +27 -27
  599. package/lib/commonjs/helpers/globalStyles.js.map +1 -1
  600. package/lib/commonjs/helpers/icons.js.map +1 -1
  601. package/lib/commonjs/index.js +67 -0
  602. package/lib/commonjs/index.js.map +1 -0
  603. package/lib/commonjs/redux/Store.js +17 -12
  604. package/lib/commonjs/redux/Store.js.map +1 -1
  605. package/lib/commonjs/redux/hooks.js +4 -6
  606. package/lib/commonjs/redux/hooks.js.map +1 -1
  607. package/lib/commonjs/redux/sagas/AuthSaga.js +11 -18
  608. package/lib/commonjs/redux/sagas/AuthSaga.js.map +1 -1
  609. package/lib/commonjs/redux/sagas/index.js.map +1 -1
  610. package/lib/commonjs/redux/slices/authSlice.js.map +1 -1
  611. package/lib/commonjs/redux/slices/index.js +1 -2
  612. package/lib/commonjs/redux/slices/index.js.map +1 -1
  613. package/lib/commonjs/types/action-sheet.d.js +2 -0
  614. package/lib/commonjs/types/action-sheet.d.js.map +1 -0
  615. package/lib/commonjs/types/auth.js.map +1 -1
  616. package/lib/commonjs/types/common.js.map +1 -1
  617. package/lib/commonjs/types/index.js +1 -2
  618. package/lib/commonjs/types/index.js.map +1 -1
  619. package/lib/commonjs/types/sheet-manager.d.js +2 -0
  620. package/lib/commonjs/types/sheet-manager.d.js.map +1 -0
  621. package/lib/commonjs/types/svg.d.js +2 -0
  622. package/lib/commonjs/types/svg.d.js.map +1 -0
  623. package/lib/module/BcaDeviceListSheet.js +6 -4
  624. package/lib/module/BcaDeviceListSheet.js.map +1 -1
  625. package/lib/module/CGMConnect.js +94 -0
  626. package/lib/module/CGMConnect.js.map +1 -0
  627. package/lib/module/MainWebView.js +9 -5
  628. package/lib/module/MainWebView.js.map +1 -1
  629. package/lib/module/{index.android.js → MyTatvaRnSdkView.android.js} +44 -4
  630. package/lib/module/MyTatvaRnSdkView.android.js.map +1 -0
  631. package/lib/module/{index.ios.js → MyTatvaRnSdkView.ios.js} +37 -7
  632. package/lib/module/MyTatvaRnSdkView.ios.js.map +1 -0
  633. package/lib/module/ProgressWebView.js +14 -9
  634. package/lib/module/ProgressWebView.js.map +1 -1
  635. package/lib/module/Services.js.map +1 -1
  636. package/lib/module/Sheets.js.map +1 -1
  637. package/lib/module/api/auth.js.map +1 -1
  638. package/lib/module/api/base.js +6 -4
  639. package/lib/module/api/base.js.map +1 -1
  640. package/lib/module/api/index.js.map +1 -1
  641. package/lib/module/constants/asyncstorage.js.map +1 -1
  642. package/lib/module/constants/constants.js.map +1 -1
  643. package/lib/module/constants.js.map +1 -1
  644. package/lib/module/helpers/Matrics.js +1 -1
  645. package/lib/module/helpers/Matrics.js.map +1 -1
  646. package/lib/module/helpers/bluetoothPermissionHelper.js.map +1 -1
  647. package/lib/module/helpers/colors.js.map +1 -1
  648. package/lib/module/helpers/common.js.map +1 -1
  649. package/lib/module/helpers/fonts.js.map +1 -1
  650. package/lib/module/helpers/globalStyles.js +1 -1
  651. package/lib/module/helpers/globalStyles.js.map +1 -1
  652. package/lib/module/helpers/icons.js.map +1 -1
  653. package/lib/module/index.js +28 -0
  654. package/lib/module/index.js.map +1 -0
  655. package/lib/module/redux/Store.js +17 -10
  656. package/lib/module/redux/Store.js.map +1 -1
  657. package/lib/module/redux/hooks.js +3 -1
  658. package/lib/module/redux/hooks.js.map +1 -1
  659. package/lib/module/redux/sagas/AuthSaga.js +9 -16
  660. package/lib/module/redux/sagas/AuthSaga.js.map +1 -1
  661. package/lib/module/redux/sagas/index.js.map +1 -1
  662. package/lib/module/redux/slices/authSlice.js.map +1 -1
  663. package/lib/module/redux/slices/index.js.map +1 -1
  664. package/lib/module/types/action-sheet.d.js +2 -0
  665. package/lib/module/types/action-sheet.d.js.map +1 -0
  666. package/lib/module/types/auth.js.map +1 -1
  667. package/lib/module/types/common.js.map +1 -1
  668. package/lib/module/types/index.js.map +1 -1
  669. package/lib/module/types/sheet-manager.d.js +2 -0
  670. package/lib/module/types/sheet-manager.d.js.map +1 -0
  671. package/lib/module/types/svg.d.js +2 -0
  672. package/lib/module/types/svg.d.js.map +1 -0
  673. package/lib/typescript/BcaDeviceListSheet.d.ts +8 -3
  674. package/lib/typescript/CGMConnect.d.ts +8 -0
  675. package/lib/typescript/MainWebView.d.ts +0 -1
  676. package/lib/typescript/ProgressWebView.d.ts +0 -1
  677. package/lib/typescript/api/auth.d.ts +0 -1
  678. package/lib/typescript/api/base.d.ts +0 -1
  679. package/lib/typescript/api/index.d.ts +0 -1
  680. package/lib/typescript/constants/asyncstorage.d.ts +0 -1
  681. package/lib/typescript/constants/constants.d.ts +0 -1
  682. package/lib/typescript/constants.d.ts +0 -1
  683. package/lib/typescript/helpers/Matrics.d.ts +0 -1
  684. package/lib/typescript/helpers/bluetoothPermissionHelper.d.ts +0 -1
  685. package/lib/typescript/helpers/colors.d.ts +0 -1
  686. package/lib/typescript/helpers/common.d.ts +0 -1
  687. package/lib/typescript/helpers/fonts.d.ts +0 -1
  688. package/lib/typescript/helpers/globalStyles.d.ts +26 -27
  689. package/lib/typescript/helpers/icons.d.ts +4 -4
  690. package/lib/typescript/redux/Store.d.ts +5 -7
  691. package/lib/typescript/redux/hooks.d.ts +1 -1
  692. package/lib/typescript/redux/sagas/AuthSaga.d.ts +2 -3
  693. package/lib/typescript/redux/sagas/index.d.ts +0 -1
  694. package/lib/typescript/redux/slices/authSlice.d.ts +0 -1
  695. package/lib/typescript/redux/slices/index.d.ts +0 -1
  696. package/lib/typescript/types/auth.d.ts +0 -1
  697. package/lib/typescript/types/common.d.ts +0 -1
  698. package/lib/typescript/types/index.d.ts +0 -1
  699. package/package.json +14 -11
  700. package/src/BcaDeviceListSheet.tsx +20 -9
  701. package/src/CGMConnect.ts +118 -0
  702. package/src/{index.android.js → MyTatvaRnSdkView.android.js} +95 -39
  703. package/src/{index.ios.js → MyTatvaRnSdkView.ios.js} +14 -1
  704. package/src/ProgressWebView.tsx +2 -1
  705. package/src/helpers/Matrics.ts +1 -1
  706. package/src/helpers/globalStyles.ts +1 -1
  707. package/src/index.js +33 -0
  708. package/src/redux/Store.ts +21 -12
  709. package/src/redux/hooks.ts +3 -1
  710. package/src/redux/sagas/AuthSaga.ts +30 -36
  711. package/src/types/action-sheet.d.ts +22 -0
  712. package/src/types/sheet-manager.d.ts +14 -0
  713. package/src/types/svg.d.ts +5 -0
  714. package/lib/commonjs/index.android.js.map +0 -1
  715. package/lib/commonjs/index.ios.js.map +0 -1
  716. package/lib/module/index.android.js.map +0 -1
  717. package/lib/module/index.ios.js.map +0 -1
  718. package/lib/typescript/BcaDeviceListSheet.d.ts.map +0 -1
  719. package/lib/typescript/MainWebView.d.ts.map +0 -1
  720. package/lib/typescript/ProgressWebView.d.ts.map +0 -1
  721. package/lib/typescript/Services.d.ts +0 -5
  722. package/lib/typescript/Services.d.ts.map +0 -1
  723. package/lib/typescript/Sheets.d.ts +0 -2
  724. package/lib/typescript/Sheets.d.ts.map +0 -1
  725. package/lib/typescript/api/auth.d.ts.map +0 -1
  726. package/lib/typescript/api/base.d.ts.map +0 -1
  727. package/lib/typescript/api/index.d.ts.map +0 -1
  728. package/lib/typescript/constants/asyncstorage.d.ts.map +0 -1
  729. package/lib/typescript/constants/constants.d.ts.map +0 -1
  730. package/lib/typescript/constants.d.ts.map +0 -1
  731. package/lib/typescript/helpers/Matrics.d.ts.map +0 -1
  732. package/lib/typescript/helpers/bluetoothPermissionHelper.d.ts.map +0 -1
  733. package/lib/typescript/helpers/colors.d.ts.map +0 -1
  734. package/lib/typescript/helpers/common.d.ts.map +0 -1
  735. package/lib/typescript/helpers/fonts.d.ts.map +0 -1
  736. package/lib/typescript/helpers/globalStyles.d.ts.map +0 -1
  737. package/lib/typescript/helpers/icons.d.ts.map +0 -1
  738. package/lib/typescript/index.android.d.ts +0 -30
  739. package/lib/typescript/index.android.d.ts.map +0 -1
  740. package/lib/typescript/index.ios.d.ts +0 -28
  741. package/lib/typescript/index.ios.d.ts.map +0 -1
  742. package/lib/typescript/redux/Store.d.ts.map +0 -1
  743. package/lib/typescript/redux/hooks.d.ts.map +0 -1
  744. package/lib/typescript/redux/sagas/AuthSaga.d.ts.map +0 -1
  745. package/lib/typescript/redux/sagas/index.d.ts.map +0 -1
  746. package/lib/typescript/redux/slices/authSlice.d.ts.map +0 -1
  747. package/lib/typescript/redux/slices/index.d.ts.map +0 -1
  748. package/lib/typescript/types/auth.d.ts.map +0 -1
  749. package/lib/typescript/types/common.d.ts.map +0 -1
  750. package/lib/typescript/types/index.d.ts.map +0 -1
  751. /package/ios/{MyTatvaRnSdk.xcodeproj → VisitRnSdk.xcodeproj}/project.pbxproj +0 -0
@@ -0,0 +1,123 @@
1
+ //
2
+ // KLTPrefixHeader.pch
3
+ // KaiLiTe
4
+ //
5
+ // Created by boosal on 2016/9/1.
6
+ // Copyright © 2016年 boosal. All rights reserved.
7
+ //
8
+
9
+ #ifndef KLTPrefixHeader_pch
10
+ #define KLTPrefixHeader_pch
11
+
12
+ //获取系統版本
13
+ #define System_Version [[[UIDevice currentDevice] systemVersion] floatValue]
14
+ #ifdef System_Version
15
+ #define IOS_8_0_AND_LATER (System_Version >= 8.0)
16
+ #endif
17
+
18
+ #define PostHttpServlet @"https://www.yuwellanytime.com/TestHttpOverseas/PostHttpServlet"
19
+
20
+ #define Screen_Width [UIScreen mainScreen].bounds.size.width
21
+ #define Screen_Height [UIScreen mainScreen].bounds.size.height
22
+
23
+ //系统的单例类
24
+ #define User_Defaults [NSUserDefaults standardUserDefaults]
25
+ #define Shared_Application [UIApplication sharedApplication]
26
+ #define Notification_Center [NSNotificationCenter defaultCenter]
27
+
28
+ //語言
29
+ #define Current_Language [[NSLocale preferredLanguages] objectAtIndex:0]
30
+
31
+ //颜色
32
+ #define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]
33
+ #define RGBA(r,g,b,a) [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:a]
34
+ #ifdef UIColorFromRGB
35
+ #define ThemeColor UIColorFromRGB(0x73AD00)
36
+ #define BackgroundColor UIColorFromRGB(0xffffff)
37
+ #define TextColor UIColorFromRGB(0x313A52)
38
+ #define SeparatorColor UIColorFromRGB(0xe5e5e5)
39
+ #endif
40
+
41
+ #define SHOW_ALGO_LOG
42
+
43
+ //重写NSLog,Debug模式下打印日誌和當前行數
44
+ #if DEBUG
45
+
46
+ #define KLTLog(FORMAT, ...) NSLog(@"\nfunction:%s line:%d \ncontent:%s\n", \
47
+ __FUNCTION__, __LINE__, [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
48
+
49
+ #else
50
+ #define KLTLog(FORMAT, ...) nil
51
+
52
+ #endif
53
+
54
+ #define ADEBUG NSLog(@"Debug %s %d", __FILE__, __LINE__)
55
+
56
+ #define KLTRunInfo(msg) ([[KLTAppDelegate getCurrentKLTRunLog] writeLog:info message:msg])
57
+ #define KLTRunError(msg) ([[KLTAppDelegate getCurrentKLTRunLog] writeLog:error message:msg])
58
+ #define KLTRunWarn(msg) ([[KLTAppDelegate getCurrentKLTRunLog] writeLog:warn message:msg])
59
+
60
+ #define kIsBangsScreen ({\
61
+ BOOL isBangsScreen = NO; \
62
+ if (@available(iOS 11.0, *)) { \
63
+ UIWindow *window = [[UIApplication sharedApplication].windows firstObject]; \
64
+ isBangsScreen = window.safeAreaInsets.bottom > 0; \
65
+ } \
66
+ isBangsScreen; \
67
+ })
68
+
69
+ //只用于展示结果,通知用户当前操作的结果,不用按钮进行交互
70
+ //提示框
71
+ #define SHOW_SUCCESSMESSAGE(MESSAGE) \
72
+ [SVProgressHUD showSuccessWithStatus:MESSAGE]; \
73
+ [SVProgressHUD setDefaultStyle:SVProgressHUDStyleCustom]; \
74
+ [SVProgressHUD setBackgroundColor:[[UIColor blackColor] colorWithAlphaComponent:0.8]];\
75
+ [SVProgressHUD setForegroundColor:[UIColor whiteColor]]; \
76
+ dispatch_time_t dismissTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC));\
77
+ dispatch_after(dismissTime, dispatch_get_main_queue(), ^{ \
78
+ [SVProgressHUD dismiss]; \
79
+ }); \
80
+
81
+ #define SHOW_ERRORMESSAGE(MESSAGE) \
82
+ [SVProgressHUD showErrorWithStatus:MESSAGE]; \
83
+ [SVProgressHUD setDefaultStyle:SVProgressHUDStyleCustom]; \
84
+ [SVProgressHUD setBackgroundColor:[[UIColor blackColor] colorWithAlphaComponent:0.8]];\
85
+ [SVProgressHUD setForegroundColor:[UIColor whiteColor]]; \
86
+ dispatch_time_t dismissTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC));\
87
+ dispatch_after(dismissTime, dispatch_get_main_queue(), ^{ \
88
+ [SVProgressHUD dismiss]; \
89
+ }); \
90
+
91
+ #define SHOW_INFORMATION(INFORMATION) \
92
+ [SVProgressHUD showInfoWithStatus:INFORMATION]; \
93
+ [SVProgressHUD setDefaultStyle:SVProgressHUDStyleCustom]; \
94
+ [SVProgressHUD setBackgroundColor:[[UIColor blackColor] colorWithAlphaComponent:0.8]];\
95
+ [SVProgressHUD setForegroundColor:[UIColor whiteColor]]; \
96
+ dispatch_time_t dismissTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC));\
97
+ dispatch_after(dismissTime, dispatch_get_main_queue(), ^{ \
98
+ [SVProgressHUD dismiss]; \
99
+ }); \
100
+
101
+ #define SVProgressHUD_SHOW \
102
+ [SVProgressHUD setDefaultStyle:SVProgressHUDStyleCustom]; \
103
+ [SVProgressHUD setBackgroundColor:[[UIColor blackColor] colorWithAlphaComponent:0.8]]; \
104
+ [SVProgressHUD setForegroundColor:[UIColor whiteColor]]; \
105
+ [SVProgressHUD setDefaultAnimationType:SVProgressHUDAnimationTypeNative]; \
106
+ [SVProgressHUD setDefaultMaskType:SVProgressHUDMaskTypeClear]; \
107
+ [SVProgressHUD show]; \
108
+
109
+ #define SVProgressHUD_DISSMISS \
110
+ [SVProgressHUD dismiss]; \
111
+
112
+ #define SERVICE_UUID @"0000FFF0-0000-1000-8000-00805F9B34FB"
113
+ #define WRITEREAD_CHARACTERISTIC_UUID @"0000FFF1-0000-1000-8000-00805F9B34FB"
114
+ #define NOTIFY_CHARACTERISTIC_UUID @"0000FFF2-0000-1000-8000-00805F9B34FB"
115
+ #define DESCRIPTOR_UUID @"00002902-0000-1000-8000-00805F9B34FB"
116
+
117
+ #import "NSString+KLTDateString.h"
118
+ #import "KLTRunLog.h"
119
+ #import "KLTLocalSettingManager.h"
120
+ #import <Foundation/Foundation.h>
121
+ #define LocalizedString(key) [NSBundle.mainBundle localizedStringForKey:(key) value:@"" table:nil]
122
+
123
+ #endif /* KLTPrefixHeader_pch */
@@ -0,0 +1,36 @@
1
+ #ifndef KLTRunLog_h
2
+ #define KLTRunLog_h
3
+
4
+ #import <Foundation/Foundation.h>
5
+ @interface KLTRunLog : NSObject
6
+
7
+ typedef enum {
8
+ release,
9
+ debug,
10
+ } DEBUG_LEVEL;
11
+
12
+ typedef enum {
13
+ info,
14
+ warn,
15
+ error,
16
+ } DEBUG_MODE;
17
+
18
+ - (void) writeLog:(DEBUG_MODE)mode message:(NSString *)message;
19
+ - (void) setPath:(NSString *)path;
20
+ - (void) getPath;
21
+ - (NSArray *)listAllLog;
22
+ - (void)createNewCSV:(NSString *)sensorSN;
23
+ - (void)useCurrentCSV:(NSString *)sensorSN;
24
+
25
+ @property (nonatomic, copy) NSString *path;
26
+
27
+ @end
28
+
29
+ @interface PathWithModDate : NSObject
30
+ @property (strong) NSString *path;
31
+ @property (strong) NSDate *modDate;
32
+ @end
33
+
34
+
35
+
36
+ #endif /* KLTRunLog_h */
@@ -0,0 +1,156 @@
1
+ #import "KLTRunLog.h"
2
+
3
+ @implementation KLTRunLog
4
+
5
+ - (NSArray *)listAllLog
6
+ {
7
+ NSFileManager *fileManager = [NSFileManager defaultManager];
8
+ NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
9
+ NSString *documentDir = [documentPaths objectAtIndex:0];
10
+
11
+ NSString *path = [documentDir stringByAppendingPathComponent:@"runLog"];
12
+ NSError *error = nil;
13
+
14
+ NSArray *fileList = [fileManager contentsOfDirectoryAtPath:path error:&error];
15
+
16
+ NSMutableArray *sortedPaths = [NSMutableArray new];
17
+ for (NSString *p in fileList) {
18
+ NSString *fullPath = [path stringByAppendingPathComponent:p];
19
+
20
+ NSDictionary * attr = [NSFileManager.defaultManager attributesOfItemAtPath:fullPath error:nil];
21
+ NSDate * modDate = [attr objectForKey:NSFileModificationDate];
22
+
23
+ PathWithModDate * pathWithDate = [[PathWithModDate alloc] init];
24
+ pathWithDate.path = p;
25
+ pathWithDate.modDate = modDate;
26
+
27
+ [sortedPaths addObject:pathWithDate];
28
+ }
29
+ // 对运行日志文件进行排序
30
+ [sortedPaths sortUsingComparator:^ (PathWithModDate *path1, PathWithModDate *path2) {
31
+ return [path2.modDate compare:path1.modDate];
32
+ }];
33
+
34
+ NSMutableArray *top10fileList = [[NSMutableArray alloc] init];
35
+
36
+ for (int i = 0; i < sortedPaths.count; i++) {
37
+ if (i >= 10) {
38
+ break;
39
+ }
40
+
41
+ PathWithModDate *p = [sortedPaths objectAtIndex:i];
42
+ [top10fileList addObject:p.path];
43
+ }
44
+
45
+ return top10fileList;
46
+ }
47
+
48
+ - (void)createNewCSV:(NSString *)sensorSN
49
+ {
50
+ NSArray *array = [self listAllLog];
51
+ NSInteger max = 0;
52
+
53
+ for (id obj in array) {
54
+ if (max < [obj componentsSeparatedByString:@"_"][0].intValue) {
55
+ max = [obj componentsSeparatedByString:@"_"][0].intValue;
56
+ }
57
+ }
58
+
59
+ NSString *newCSVPath = [NSString stringWithFormat:@"%ld_%@.csv", (long)(max + 1), sensorSN];
60
+
61
+ [self setPath:newCSVPath];
62
+
63
+ //NSLog(@"new csv path = %@", newCSVPath);
64
+ }
65
+
66
+ - (void)useCurrentCSV:(NSString *)sensorSN
67
+ {
68
+ NSArray *array = [self listAllLog];
69
+ NSInteger max = 0;
70
+
71
+ for (id obj in array) {
72
+ if ([obj containsString:sensorSN]) {
73
+ if (max < [obj componentsSeparatedByString:@"_"][0].intValue) {
74
+ max = [obj componentsSeparatedByString:@"_"][0].intValue;
75
+ }
76
+ }
77
+ }
78
+
79
+ if (max == 0) {
80
+ max = 1;
81
+ }
82
+
83
+ NSString *currentCSVPath = [NSString stringWithFormat:@"%ld_%@.csv", (long)max, sensorSN];
84
+
85
+ [self setPath:currentCSVPath];
86
+
87
+ //NSLog(@"current csv path = %@", currentCSVPath);
88
+ }
89
+
90
+ - (void)setPath:(NSString *)path
91
+ {
92
+ NSArray* documentDirectories = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
93
+ NSString* documentDirectory = [documentDirectories objectAtIndex:0];
94
+
95
+ _path = [[documentDirectory stringByAppendingPathComponent:@"runLog"] stringByAppendingPathComponent:path];
96
+ }
97
+
98
+ - (void) getPath
99
+ {
100
+ //NSLog(@"Current runlog path = %@", self.path);
101
+ }
102
+
103
+ - (void)writeLog:(DEBUG_MODE)mode message:(NSString *)message
104
+ {
105
+ if (_path == nil) {
106
+ return;
107
+ }
108
+
109
+ NSOutputStream* output = [[NSOutputStream alloc] initToFileAtPath: _path append: YES];
110
+ [output open];
111
+ if (![output hasSpaceAvailable]) {
112
+ //NSLog(@"No space available in %@", _path);
113
+ } else {
114
+ NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
115
+ [formatter setLocale:[NSLocale localeWithLocaleIdentifier:@"en_GB"]];
116
+ [formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss SSS"];
117
+ NSDate *datenow = [NSDate date];
118
+ NSString *currentTimeString = [formatter stringFromDate:datenow];
119
+
120
+ //NSLog(@"currentTimeString = %@",currentTimeString);
121
+ #if DEBUG
122
+ NSString *debugLevel = @"debug";
123
+ #else
124
+ NSString *debugLevel = @"release";
125
+ #endif
126
+
127
+ NSString *debugMode;
128
+
129
+ switch (mode) {
130
+ case info:
131
+ debugMode = @"INFO";
132
+ break;
133
+ case warn:
134
+ debugMode = @"WARN";
135
+ break;
136
+ case error:
137
+ debugMode = @"ERROR";
138
+ break;
139
+ default:
140
+ debugMode = @"INFO";
141
+ break;
142
+ }
143
+
144
+ NSString *str = [[NSString alloc]initWithFormat:@"%@,%@,%@,%@\n", currentTimeString, debugMode, debugLevel, message];
145
+
146
+
147
+ NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
148
+ [output write:data.bytes maxLength:data.length];
149
+ }
150
+ [output close];
151
+ }
152
+
153
+ @end
154
+
155
+ @implementation PathWithModDate
156
+ @end
@@ -0,0 +1,42 @@
1
+ //
2
+ // KLTUserDefautKeyDefine.h
3
+ // KaiLiTe
4
+ //
5
+ // Created by yuwell on 2024/5/20.
6
+ // Copyright © 2024 boosal. All rights reserved.
7
+ //
8
+
9
+ #ifndef KLTUserDefautKeyDefine_h
10
+ #define KLTUserDefautKeyDefine_h
11
+
12
+ // 低血糖提前预测静默开始时间key
13
+ static NSString * const KLTUserDefaultForecastLowGLuSilenceStartTimeKey = @"KLTUserDefaultForecastLowGLuSilenceStartTimeKey";
14
+ // 低血糖提前预测开关设置key
15
+ static NSString * const KLTUserDefaultForecastLowGlucoseSettingKey = @"KLTUserDefaultForecastLowGlucoseSettingKey";
16
+ // 通知低血糖预测开关
17
+ static NSString * const KLTForecastLowGlucoseSettingNotify = @"KLTForecastLowGlucoseSettingNotify";
18
+
19
+ // 高血糖提前预测静默开始时间key
20
+ static NSString * const KLTUserDefaultForecastHighGLuSilenceStartTimeKey = @"KLTUserDefaultForecastHighGLuSilenceStartTimeKey";
21
+ // 高血糖提前预测开关设置key
22
+ static NSString * const KLTUserDefaultForecastHighGlucoseSettingKey = @"KLTUserDefaultForecastHighGlucoseSettingKey";
23
+ // 通知高血糖预测开关
24
+ static NSString * const KLTForecastHighGlucoseSettingNotify = @"KLTForecastHighGlucoseSettingNotify";
25
+
26
+ // 血糖快上开关设置key
27
+ static NSString * const KLTUserDefaultRapidRiseGlucoseSettingKey = @"KLTUserDefaultRapidRiseGlucoseSettingKey";
28
+ // 血糖快下开关设置key
29
+ static NSString * const KLTUserDefaultRapidFallGlucoseSettingKey = @"KLTUserDefaultRapidFallGlucoseSettingKey";
30
+
31
+ // 高低血糖提醒声音+震动开关通知监测
32
+ static NSString * const KLTAlertSoundVibrationSettingNotify = @"KLTAlertSoundVibrationSettingNotify";
33
+
34
+ // 初始化期间收到数据提醒
35
+ static NSString * const KLTAlertCurrentInInitialNotify = @"KLTAlertCurrentInInitialNotify";
36
+
37
+ // 首次连接绑定发射器的自检失败提醒
38
+ static NSString * const KLTAlertSelfCheckFailedNotify = @"KLTAlertSelfCheckFailedNotify";
39
+
40
+ static NSString * const KLTUpdateDataNotify = @"KLTUpdateDataNotify";
41
+
42
+ #endif /* KLTUserDefautKeyDefine_h */
@@ -0,0 +1,68 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2
+ <model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="23605" systemVersion="24C101" minimumToolsVersion="Automatic" sourceLanguage="Swift" usedWithSwiftData="YES" userDefinedModelVersionIdentifier="">
3
+ <entity name="Advertise" representedClassName="Advertise" syncable="YES">
4
+ <attribute name="advertiseDateTime" optional="YES" attributeType="String"/>
5
+ <attribute name="isConnectable" optional="YES" attributeType="Boolean" usesScalarValueType="NO"/>
6
+ <attribute name="localName" optional="YES" attributeType="String"/>
7
+ <attribute name="manufactureData" optional="YES" attributeType="String"/>
8
+ <attribute name="txPowerLevel" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO"/>
9
+ <relationship name="device" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Device"/>
10
+ </entity>
11
+ <entity name="Device" representedClassName="Device" syncable="YES">
12
+ <attribute name="connectedDateTime" optional="YES" attributeType="String"/>
13
+ <attribute name="deviceName" optional="YES" attributeType="String"/>
14
+ <attribute name="disconnectedDateTime" optional="YES" attributeType="String"/>
15
+ <attribute name="identifier" optional="YES" attributeType="String"/>
16
+ <attribute name="initialBeginDate" optional="YES" attributeType="String"/>
17
+ <attribute name="initialEndDate" optional="YES" attributeType="String"/>
18
+ <attribute name="scannedTime" optional="YES" attributeType="String"/>
19
+ <attribute name="userBG" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="NO"/>
20
+ <relationship name="advertise" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Advertise"/>
21
+ <relationship name="glucoseDatas" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="GlucoseData"/>
22
+ <relationship name="receiveDatas" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="ReceiveDataInfo"/>
23
+ </entity>
24
+ <entity name="GlucoseData" representedClassName="GlucoseData" syncable="YES">
25
+ <attribute name="blankCurrent" optional="YES" attributeType="Double" defaultValueString="0" usesScalarValueType="NO"/>
26
+ <attribute name="calibrationStatus" optional="YES" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="NO"/>
27
+ <attribute name="dataId" optional="YES" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="NO"/>
28
+ <attribute name="errorCode" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO"/>
29
+ <attribute name="glu" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="NO"/>
30
+ <attribute name="gluADC" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="NO"/>
31
+ <attribute name="initialBeginDate" optional="YES" attributeType="String"/>
32
+ <attribute name="iw" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="NO"/>
33
+ <attribute name="k" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="NO"/>
34
+ <attribute name="operatingCurrent" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="NO"/>
35
+ <attribute name="receiveDateTime" optional="YES" attributeType="String"/>
36
+ <attribute name="temperature" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="NO"/>
37
+ <attribute name="trend" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO"/>
38
+ <attribute name="userBG" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="NO"/>
39
+ <relationship name="device" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Device"/>
40
+ </entity>
41
+ <entity name="ReceiveDataInfo" representedClassName="ReceiveData" syncable="YES">
42
+ <attribute name="blankCurrent" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="NO"/>
43
+ <attribute name="calibration" optional="YES" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="NO"/>
44
+ <attribute name="commandStr" optional="YES" attributeType="String"/>
45
+ <attribute name="countdownDays" optional="YES" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES"/>
46
+ <attribute name="countdownHours" optional="YES" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES"/>
47
+ <attribute name="countdownMinutes" optional="YES" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES"/>
48
+ <attribute name="dataType" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO"/>
49
+ <attribute name="day" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO"/>
50
+ <attribute name="error" optional="YES" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="NO"/>
51
+ <attribute name="glu" optional="YES" attributeType="Double" defaultValueString="0" usesScalarValueType="NO"/>
52
+ <attribute name="gluADC" optional="YES" attributeType="Double" defaultValueString="0" usesScalarValueType="NO"/>
53
+ <attribute name="glucoseId" optional="YES" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="NO"/>
54
+ <attribute name="hour" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO"/>
55
+ <attribute name="initialBeginDate" optional="YES" attributeType="String"/>
56
+ <attribute name="isDelete" optional="YES" attributeType="Integer 32" usesScalarValueType="YES"/>
57
+ <attribute name="minute" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO"/>
58
+ <attribute name="month" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO"/>
59
+ <attribute name="operatingCurrent" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="NO"/>
60
+ <attribute name="receiveDataString" optional="YES" attributeType="String"/>
61
+ <attribute name="receiveDateTime" optional="YES" attributeType="String"/>
62
+ <attribute name="temperature" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="NO"/>
63
+ <attribute name="trend" optional="YES" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="NO"/>
64
+ <attribute name="userBG" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="NO"/>
65
+ <attribute name="year" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO"/>
66
+ <relationship name="device" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Device"/>
67
+ </entity>
68
+ </model>
@@ -0,0 +1,36 @@
1
+ //
2
+ // NSString+KLTDateString.h
3
+ // KaiLiTe
4
+ //
5
+ // Created by boosal on 2016/9/7.
6
+ // Copyright © 2016年 boosal. All rights reserved.
7
+ //
8
+
9
+ #import <Foundation/Foundation.h>
10
+
11
+ @interface NSString (KLTDateString)
12
+
13
+ + (NSString *)getWholeStringWithDate:(NSDate *)date;
14
+ + (NSString *)getDayStringWithDate:(NSDate *)date;
15
+ + (NSString *)getHourStringWithDate:(NSDate *)date;
16
+ + (NSString *)getMinuteStringWithDate:(NSDate *)date;
17
+
18
+ + (NSDate *)getMinuteDateWithString:(NSString *)string;
19
+ + (NSDate *)getHourDateWithString:(NSString *)string;
20
+ + (NSDate *)getDayDateWithString:(NSString *)string;
21
+ + (NSDate *)getDateTimeWithString:(NSString *)string;
22
+
23
+
24
+ + (NSString *)getTimeStringWithCount:(int)count;
25
+
26
+ - (BOOL)klt_containsString:(NSString *)other;
27
+ - (BOOL)klt_hasValidTransmit;
28
+ // 字符反转 numbers:反转的每组长度
29
+ - (NSString *)reverseToSting:(NSUInteger)numbers;
30
+
31
+ + (NSDate *)getDateFromWholeString:(NSString *)whole;
32
+
33
+ + (NSString *)getLocalFromUTC:(NSString *)utc;
34
+ + (NSString *)getUTCFormatDate:(NSString *)localDate;
35
+
36
+ @end
@@ -0,0 +1,160 @@
1
+ //
2
+ // NSString+KLTDateString.m
3
+ // KaiLiTe
4
+ //
5
+ // Created by boosal on 2016/9/7.
6
+ // Copyright © 2016年 boosal. All rights reserved.
7
+ //
8
+
9
+ #import "NSString+KLTDateString.h"
10
+
11
+ @implementation NSString (KLTDateString)
12
+
13
+ //NSDate 2016-09-07 02:32:37 +0000
14
+
15
+ + (NSString *)getWholeStringWithDate:(NSDate *)date {
16
+ NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
17
+ formatter.calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
18
+ [formatter setLocale:[NSLocale localeWithLocaleIdentifier:@"en_GB"]];
19
+ [formatter setDateStyle:NSDateFormatterFullStyle];
20
+ [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
21
+ return [formatter stringFromDate:date];
22
+ }
23
+
24
+ + (NSString *)getDayStringWithDate:(NSDate *)date {
25
+ NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
26
+ formatter.calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
27
+ [formatter setLocale:[NSLocale localeWithLocaleIdentifier:@"en_GB"]];
28
+ [formatter setDateStyle:NSDateFormatterFullStyle];
29
+ [formatter setDateFormat:@"MM-dd"];
30
+ return [formatter stringFromDate:date];
31
+ }
32
+
33
+ + (NSString *)getHourStringWithDate:(NSDate *)date {
34
+ NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
35
+ formatter.calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
36
+ [formatter setLocale:[NSLocale localeWithLocaleIdentifier:@"en_GB"]];
37
+ [formatter setDateStyle:NSDateFormatterFullStyle];
38
+ [formatter setDateFormat:@"HH"];
39
+ return [NSString stringWithFormat:@"%@:00",[formatter stringFromDate:date]];
40
+ }
41
+
42
+ + (NSString *)getMinuteStringWithDate:(NSDate *)date {
43
+ NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
44
+ formatter.calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
45
+ [formatter setLocale:[NSLocale localeWithLocaleIdentifier:@"en_GB"]];
46
+ [formatter setDateStyle:NSDateFormatterFullStyle];
47
+ [formatter setDateFormat:@"HH:mm"];
48
+ return [formatter stringFromDate:date];
49
+ }
50
+
51
+
52
+ + (NSDate *)getMinuteDateWithString:(NSString *)string {
53
+ NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
54
+ formatter.calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
55
+ [formatter setLocale:[NSLocale localeWithLocaleIdentifier:@"en_GB"]];
56
+ [formatter setDateStyle:NSDateFormatterFullStyle];
57
+ [formatter setDateFormat:@"HH:mm"];
58
+ return [formatter dateFromString:string];
59
+ }
60
+
61
+ + (NSDate *)getHourDateWithString:(NSString *)string {
62
+ NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
63
+ formatter.calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
64
+ [formatter setLocale:[NSLocale localeWithLocaleIdentifier:@"en_GB"]];
65
+ [formatter setDateStyle:NSDateFormatterFullStyle];
66
+ [formatter setDateFormat:@"HH:00"];
67
+ return [formatter dateFromString:string];
68
+ }
69
+
70
+ + (NSDate *)getDayDateWithString:(NSString *)string {
71
+ NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
72
+ formatter.calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
73
+ [formatter setLocale:[NSLocale localeWithLocaleIdentifier:@"en_GB"]];
74
+ [formatter setDateStyle:NSDateFormatterFullStyle];
75
+ [formatter setDateFormat:@"MM-dd"];
76
+ return [formatter dateFromString:string];
77
+ }
78
+
79
+ // 发射器发过来的日期格式:2016/10/20 15:18
80
+ + (NSDate *)getDateTimeWithString:(NSString *)string {
81
+ NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
82
+ formatter.calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
83
+ [formatter setLocale:[NSLocale localeWithLocaleIdentifier:@"en_GB"]];
84
+ [formatter setDateStyle:NSDateFormatterFullStyle];
85
+ [formatter setDateFormat:@"yyyy-MM-dd HH:mm"];
86
+ return [formatter dateFromString:string];
87
+ }
88
+
89
+
90
+ + (NSDate *)getDateFromWholeString:(NSString *)whole {
91
+ NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
92
+
93
+ formatter.calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
94
+ [formatter setLocale:[NSLocale localeWithLocaleIdentifier:@"en_GB"]];
95
+ [formatter setDateStyle:NSDateFormatterFullStyle];
96
+ [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
97
+ return [formatter dateFromString:whole];
98
+ }
99
+
100
+ + (NSString *)getTimeStringWithCount:(int )count {
101
+ NSString *h = [NSString stringWithFormat:@"%02d",count/3600 > 0 ? count/3600 : 0];
102
+ NSString *m = [NSString stringWithFormat:@"%02d",(count - 3600 * [h intValue]) / 60 > 0 ? (count - 3600 * [h intValue]) / 60 : 0];
103
+ NSString *s = [NSString stringWithFormat:@"%02d",(count - 3600 * [h intValue]) % 60 > 0 ? (count - 3600 * [h intValue]) % 60 : 0];
104
+ return [NSString stringWithFormat:@"%@:%@:%@",h,m,s];
105
+ }
106
+
107
+ - (BOOL)klt_containsString:(NSString *)other {
108
+ NSRange range = [self rangeOfString:other];
109
+ return range.length != 0;
110
+ }
111
+
112
+ - (BOOL)klt_hasValidTransmit {
113
+ NSInteger length = self.length;
114
+ if (length >= 2) {
115
+ NSString *lastHexString = [self substringFromIndex:length - 2];
116
+ return [@"00" isEqualToString:lastHexString];
117
+ }
118
+ return NO;
119
+ }
120
+
121
+ - (NSString *)reverseToSting:(NSUInteger)numbers {
122
+ NSInteger startIndex = self.length;
123
+ if (numbers <= 0 || startIndex <= numbers) {
124
+ return self;
125
+ }
126
+
127
+ NSString *reverseString = @"";
128
+ while (startIndex >= numbers) {
129
+ reverseString = [NSString stringWithFormat:@"%@%@", reverseString, [self substringWithRange:NSMakeRange(startIndex-numbers, numbers)]];
130
+ startIndex -=numbers;
131
+ }
132
+ if (1 == startIndex) {
133
+ reverseString = [NSString stringWithFormat:@"%@%@", reverseString, [self substringToIndex:startIndex]];
134
+ }
135
+ return reverseString;
136
+ }
137
+
138
+ + (NSString *)getUTCFormatDate:(NSString *)localDate {
139
+ NSDate *date = [self getDateFromWholeString:localDate];
140
+ NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
141
+ [dateFormatter setLocale:[NSLocale localeWithLocaleIdentifier:@"en_GB"]];
142
+ NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"UTC"];
143
+ [dateFormatter setTimeZone:timeZone];
144
+ [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
145
+ NSString *dateString = [dateFormatter stringFromDate:date];
146
+ return dateString;
147
+ }
148
+
149
+ + (NSString *)getLocalFromUTC:(NSString *)utc {
150
+ NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
151
+ [dateFormatter setLocale:[NSLocale localeWithLocaleIdentifier:@"en_GB"]];
152
+ NSTimeZone *timeZone = [NSTimeZone localTimeZone];
153
+ [dateFormatter setTimeZone:timeZone];
154
+ [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
155
+ NSDate *ldate = [dateFormatter dateFromString:utc];
156
+ NSString *local = [self getWholeStringWithDate:ldate];
157
+ return local;
158
+ }
159
+
160
+ @end
@@ -0,0 +1,23 @@
1
+ //
2
+ // ReceiveData+CoreDataClass.h
3
+ // KaiLiTe
4
+ //
5
+ // Created by yuwell on 2024/11/14.
6
+ // Copyright © 2024 boosal. All rights reserved.
7
+ //
8
+ //
9
+
10
+ #import <Foundation/Foundation.h>
11
+ #import <CoreData/CoreData.h>
12
+
13
+ @class Device;
14
+
15
+ NS_ASSUME_NONNULL_BEGIN
16
+
17
+ @interface ReceiveData : NSManagedObject
18
+
19
+ @end
20
+
21
+ NS_ASSUME_NONNULL_END
22
+
23
+ #import "ReceiveData+CoreDataProperties.h"
@@ -0,0 +1,14 @@
1
+ //
2
+ // ReceiveData+CoreDataClass.m
3
+ // KaiLiTe
4
+ //
5
+ // Created by yuwell on 2024/11/14.
6
+ // Copyright © 2024 boosal. All rights reserved.
7
+ //
8
+ //
9
+
10
+ #import "ReceiveData+CoreDataClass.h"
11
+
12
+ @implementation ReceiveData
13
+
14
+ @end