react-native-dev-guard 0.0.1 → 1.0.1

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 (353) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +190 -44
  3. package/android/src/main/cpp/devguard-lib.cpp +12 -11
  4. package/android/src/main/java/com/devguard/DevGuardModule.kt +15 -0
  5. package/cpp/devguard_core.c +82 -4
  6. package/cpp/devguard_core.h +15 -13
  7. package/ios/DevGuard.mm +20 -6
  8. package/lib/components/LockScreen.d.ts +2 -0
  9. package/lib/components/LockScreen.js +90 -44
  10. package/lib/index.d.ts +4 -1
  11. package/lib/index.js +179 -152
  12. package/lib/internal/obf.d.ts +72 -0
  13. package/lib/internal/obf.js +100 -0
  14. package/lib/services/CacheService.d.ts +5 -1
  15. package/lib/services/CacheService.js +8 -12
  16. package/lib/services/DevGuardLogger.d.ts +1 -1
  17. package/lib/services/DevGuardLogger.js +13 -3
  18. package/lib/services/DeviceTokenService.d.ts +4 -1
  19. package/lib/services/DeviceTokenService.js +5 -2
  20. package/lib/services/GuardEnforcement.d.ts +3 -12
  21. package/lib/services/GuardEnforcement.js +34 -15
  22. package/lib/services/HardwareService.d.ts +14 -1
  23. package/lib/services/HardwareService.js +63 -1
  24. package/lib/services/cacheCrypto.d.ts +6 -0
  25. package/lib/services/cacheCrypto.js +40 -0
  26. package/lib/types/branding.d.ts +21 -0
  27. package/lib/types/branding.js +30 -0
  28. package/lib/utils/contactUrls.d.ts +4 -0
  29. package/lib/utils/contactUrls.js +18 -0
  30. package/package.json +28 -8
  31. package/react-native-dev-guard.podspec +19 -0
  32. package/screenshots/access-suspended.png +0 -0
  33. package/screenshots/payment-reminder.png +0 -0
  34. package/screenshots/welcome-screen.png +0 -0
  35. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/.cmake/api/v1/query/client-agp/cache-v2 +0 -0
  36. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/.cmake/api/v1/query/client-agp/cmakeFiles-v1 +0 -0
  37. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/.cmake/api/v1/query/client-agp/codemodel-v2 +0 -0
  38. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/.cmake/api/v1/reply/cache-v2-ca87e29d866016c47643.json +0 -1287
  39. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/.cmake/api/v1/reply/cmakeFiles-v1-afc39e04c88d618b9499.json +0 -182
  40. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/.cmake/api/v1/reply/codemodel-v2-004ad46f03b4d6b2acd6.json +0 -59
  41. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/.cmake/api/v1/reply/index-2026-05-15T08-21-19-0083.json +0 -92
  42. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/.cmake/api/v1/reply/target-devguard-Debug-8c0ebbb0cdb88d164b64.json +0 -160
  43. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/.ninja_deps +0 -0
  44. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/.ninja_log +0 -15
  45. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/CMakeCache.txt +0 -391
  46. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/CMakeFiles/3.18.1-g262b901/CMakeCCompiler.cmake +0 -77
  47. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/CMakeFiles/3.18.1-g262b901/CMakeCXXCompiler.cmake +0 -89
  48. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/CMakeFiles/3.18.1-g262b901/CMakeDetermineCompilerABI_C.bin +0 -0
  49. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/CMakeFiles/3.18.1-g262b901/CMakeDetermineCompilerABI_CXX.bin +0 -0
  50. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/CMakeFiles/3.18.1-g262b901/CMakeSystem.cmake +0 -15
  51. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/CMakeFiles/CMakeOutput.log +0 -236
  52. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/CMakeFiles/TargetDirectories.txt +0 -3
  53. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/CMakeFiles/cmake.check_cache +0 -1
  54. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/CMakeFiles/devguard.dir/devguard-lib.cpp.o +0 -0
  55. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/CMakeFiles/rules.ninja +0 -74
  56. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/additional_project_files.txt +0 -0
  57. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/android_gradle_build.json +0 -40
  58. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/android_gradle_build_mini.json +0 -27
  59. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/build.ninja +0 -154
  60. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/build_file_index.txt +0 -1
  61. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/cmake_install.cmake +0 -54
  62. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/compile_commands.json +0 -12
  63. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/compile_commands.json.bin +0 -0
  64. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/configure_fingerprint.bin +0 -29
  65. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/metadata_generation_command.txt +0 -19
  66. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/prefab_config.json +0 -4
  67. package/android/.cxx/Debug/4s4f1av3/arm64-v8a/symbol_folder_index.txt +0 -1
  68. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/.cmake/api/v1/query/client-agp/cache-v2 +0 -0
  69. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/.cmake/api/v1/query/client-agp/cmakeFiles-v1 +0 -0
  70. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/.cmake/api/v1/query/client-agp/codemodel-v2 +0 -0
  71. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/.cmake/api/v1/reply/cache-v2-02400eb6fc4793fa6bf2.json +0 -1287
  72. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/.cmake/api/v1/reply/cmakeFiles-v1-d0fc95efa84cbe47849a.json +0 -379
  73. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/.cmake/api/v1/reply/codemodel-v2-a7a363de64e45a261589.json +0 -59
  74. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/.cmake/api/v1/reply/index-2026-05-15T08-21-21-0243.json +0 -92
  75. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/.cmake/api/v1/reply/target-devguard-Debug-53eeaa7145cf9770f3d7.json +0 -160
  76. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/.ninja_deps +0 -0
  77. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/.ninja_log +0 -10
  78. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/CMakeCache.txt +0 -391
  79. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/CMakeFiles/3.18.1-g262b901/CMakeCCompiler.cmake +0 -77
  80. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/CMakeFiles/3.18.1-g262b901/CMakeCXXCompiler.cmake +0 -89
  81. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/CMakeFiles/3.18.1-g262b901/CMakeDetermineCompilerABI_C.bin +0 -0
  82. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/CMakeFiles/3.18.1-g262b901/CMakeDetermineCompilerABI_CXX.bin +0 -0
  83. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/CMakeFiles/3.18.1-g262b901/CMakeSystem.cmake +0 -15
  84. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/CMakeFiles/CMakeOutput.log +0 -240
  85. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/CMakeFiles/TargetDirectories.txt +0 -3
  86. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/CMakeFiles/cmake.check_cache +0 -1
  87. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/CMakeFiles/devguard.dir/devguard-lib.cpp.o +0 -0
  88. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/CMakeFiles/rules.ninja +0 -74
  89. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/additional_project_files.txt +0 -0
  90. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/android_gradle_build.json +0 -40
  91. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/android_gradle_build_mini.json +0 -27
  92. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/build.ninja +0 -154
  93. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/build_file_index.txt +0 -1
  94. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/cmake_install.cmake +0 -54
  95. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/compile_commands.json +0 -12
  96. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/compile_commands.json.bin +0 -0
  97. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/configure_fingerprint.bin +0 -29
  98. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/metadata_generation_command.txt +0 -19
  99. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/prefab_config.json +0 -4
  100. package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/symbol_folder_index.txt +0 -1
  101. package/android/.cxx/Debug/4s4f1av3/hash_key.txt +0 -26
  102. package/android/.cxx/Debug/4s4f1av3/x86/.cmake/api/v1/query/client-agp/cache-v2 +0 -0
  103. package/android/.cxx/Debug/4s4f1av3/x86/.cmake/api/v1/query/client-agp/cmakeFiles-v1 +0 -0
  104. package/android/.cxx/Debug/4s4f1av3/x86/.cmake/api/v1/query/client-agp/codemodel-v2 +0 -0
  105. package/android/.cxx/Debug/4s4f1av3/x86/.cmake/api/v1/reply/cache-v2-ec883f5c922c646acf2d.json +0 -1287
  106. package/android/.cxx/Debug/4s4f1av3/x86/.cmake/api/v1/reply/cmakeFiles-v1-028bf03c3b9bd0e609c0.json +0 -379
  107. package/android/.cxx/Debug/4s4f1av3/x86/.cmake/api/v1/reply/codemodel-v2-6c0215a4bb6e3b0b5223.json +0 -59
  108. package/android/.cxx/Debug/4s4f1av3/x86/.cmake/api/v1/reply/index-2026-05-15T08-21-22-0722.json +0 -92
  109. package/android/.cxx/Debug/4s4f1av3/x86/.cmake/api/v1/reply/target-devguard-Debug-2139b18dc63b630666db.json +0 -160
  110. package/android/.cxx/Debug/4s4f1av3/x86/.ninja_deps +0 -0
  111. package/android/.cxx/Debug/4s4f1av3/x86/.ninja_log +0 -10
  112. package/android/.cxx/Debug/4s4f1av3/x86/CMakeCache.txt +0 -391
  113. package/android/.cxx/Debug/4s4f1av3/x86/CMakeFiles/3.18.1-g262b901/CMakeCCompiler.cmake +0 -77
  114. package/android/.cxx/Debug/4s4f1av3/x86/CMakeFiles/3.18.1-g262b901/CMakeCXXCompiler.cmake +0 -89
  115. package/android/.cxx/Debug/4s4f1av3/x86/CMakeFiles/3.18.1-g262b901/CMakeDetermineCompilerABI_C.bin +0 -0
  116. package/android/.cxx/Debug/4s4f1av3/x86/CMakeFiles/3.18.1-g262b901/CMakeDetermineCompilerABI_CXX.bin +0 -0
  117. package/android/.cxx/Debug/4s4f1av3/x86/CMakeFiles/3.18.1-g262b901/CMakeSystem.cmake +0 -15
  118. package/android/.cxx/Debug/4s4f1av3/x86/CMakeFiles/CMakeOutput.log +0 -230
  119. package/android/.cxx/Debug/4s4f1av3/x86/CMakeFiles/TargetDirectories.txt +0 -3
  120. package/android/.cxx/Debug/4s4f1av3/x86/CMakeFiles/cmake.check_cache +0 -1
  121. package/android/.cxx/Debug/4s4f1av3/x86/CMakeFiles/devguard.dir/devguard-lib.cpp.o +0 -0
  122. package/android/.cxx/Debug/4s4f1av3/x86/CMakeFiles/rules.ninja +0 -74
  123. package/android/.cxx/Debug/4s4f1av3/x86/additional_project_files.txt +0 -0
  124. package/android/.cxx/Debug/4s4f1av3/x86/android_gradle_build.json +0 -40
  125. package/android/.cxx/Debug/4s4f1av3/x86/android_gradle_build_mini.json +0 -27
  126. package/android/.cxx/Debug/4s4f1av3/x86/build.ninja +0 -154
  127. package/android/.cxx/Debug/4s4f1av3/x86/build_file_index.txt +0 -1
  128. package/android/.cxx/Debug/4s4f1av3/x86/cmake_install.cmake +0 -54
  129. package/android/.cxx/Debug/4s4f1av3/x86/compile_commands.json +0 -12
  130. package/android/.cxx/Debug/4s4f1av3/x86/compile_commands.json.bin +0 -0
  131. package/android/.cxx/Debug/4s4f1av3/x86/configure_fingerprint.bin +0 -29
  132. package/android/.cxx/Debug/4s4f1av3/x86/metadata_generation_command.txt +0 -19
  133. package/android/.cxx/Debug/4s4f1av3/x86/prefab_config.json +0 -4
  134. package/android/.cxx/Debug/4s4f1av3/x86/symbol_folder_index.txt +0 -1
  135. package/android/.cxx/Debug/4s4f1av3/x86_64/.cmake/api/v1/query/client-agp/cache-v2 +0 -0
  136. package/android/.cxx/Debug/4s4f1av3/x86_64/.cmake/api/v1/query/client-agp/cmakeFiles-v1 +0 -0
  137. package/android/.cxx/Debug/4s4f1av3/x86_64/.cmake/api/v1/query/client-agp/codemodel-v2 +0 -0
  138. package/android/.cxx/Debug/4s4f1av3/x86_64/.cmake/api/v1/reply/cache-v2-7ec870c116aeb770686e.json +0 -1287
  139. package/android/.cxx/Debug/4s4f1av3/x86_64/.cmake/api/v1/reply/cmakeFiles-v1-f2e6a276d8adf420c6b9.json +0 -379
  140. package/android/.cxx/Debug/4s4f1av3/x86_64/.cmake/api/v1/reply/codemodel-v2-a4f2c2fefb1e4261b2d6.json +0 -59
  141. package/android/.cxx/Debug/4s4f1av3/x86_64/.cmake/api/v1/reply/index-2026-05-15T08-21-24-0187.json +0 -92
  142. package/android/.cxx/Debug/4s4f1av3/x86_64/.cmake/api/v1/reply/target-devguard-Debug-077cad881ac8d6864f8f.json +0 -160
  143. package/android/.cxx/Debug/4s4f1av3/x86_64/.ninja_deps +0 -0
  144. package/android/.cxx/Debug/4s4f1av3/x86_64/.ninja_log +0 -10
  145. package/android/.cxx/Debug/4s4f1av3/x86_64/CMakeCache.txt +0 -391
  146. package/android/.cxx/Debug/4s4f1av3/x86_64/CMakeFiles/3.18.1-g262b901/CMakeCCompiler.cmake +0 -77
  147. package/android/.cxx/Debug/4s4f1av3/x86_64/CMakeFiles/3.18.1-g262b901/CMakeCXXCompiler.cmake +0 -89
  148. package/android/.cxx/Debug/4s4f1av3/x86_64/CMakeFiles/3.18.1-g262b901/CMakeDetermineCompilerABI_C.bin +0 -0
  149. package/android/.cxx/Debug/4s4f1av3/x86_64/CMakeFiles/3.18.1-g262b901/CMakeDetermineCompilerABI_CXX.bin +0 -0
  150. package/android/.cxx/Debug/4s4f1av3/x86_64/CMakeFiles/3.18.1-g262b901/CMakeSystem.cmake +0 -15
  151. package/android/.cxx/Debug/4s4f1av3/x86_64/CMakeFiles/CMakeOutput.log +0 -230
  152. package/android/.cxx/Debug/4s4f1av3/x86_64/CMakeFiles/TargetDirectories.txt +0 -3
  153. package/android/.cxx/Debug/4s4f1av3/x86_64/CMakeFiles/cmake.check_cache +0 -1
  154. package/android/.cxx/Debug/4s4f1av3/x86_64/CMakeFiles/devguard.dir/devguard-lib.cpp.o +0 -0
  155. package/android/.cxx/Debug/4s4f1av3/x86_64/CMakeFiles/rules.ninja +0 -74
  156. package/android/.cxx/Debug/4s4f1av3/x86_64/additional_project_files.txt +0 -0
  157. package/android/.cxx/Debug/4s4f1av3/x86_64/android_gradle_build.json +0 -40
  158. package/android/.cxx/Debug/4s4f1av3/x86_64/android_gradle_build_mini.json +0 -27
  159. package/android/.cxx/Debug/4s4f1av3/x86_64/build.ninja +0 -154
  160. package/android/.cxx/Debug/4s4f1av3/x86_64/build_file_index.txt +0 -1
  161. package/android/.cxx/Debug/4s4f1av3/x86_64/cmake_install.cmake +0 -54
  162. package/android/.cxx/Debug/4s4f1av3/x86_64/compile_commands.json +0 -12
  163. package/android/.cxx/Debug/4s4f1av3/x86_64/compile_commands.json.bin +0 -0
  164. package/android/.cxx/Debug/4s4f1av3/x86_64/configure_fingerprint.bin +0 -29
  165. package/android/.cxx/Debug/4s4f1av3/x86_64/metadata_generation_command.txt +0 -19
  166. package/android/.cxx/Debug/4s4f1av3/x86_64/prefab_config.json +0 -4
  167. package/android/.cxx/Debug/4s4f1av3/x86_64/symbol_folder_index.txt +0 -1
  168. package/android/.cxx/tools/debug/arm64-v8a/compile_commands.json +0 -12
  169. package/android/.cxx/tools/debug/armeabi-v7a/compile_commands.json +0 -12
  170. package/android/.cxx/tools/debug/x86/compile_commands.json +0 -12
  171. package/android/.cxx/tools/debug/x86_64/compile_commands.json +0 -12
  172. package/android/.gradle/8.9/checksums/checksums.lock +0 -0
  173. package/android/.gradle/8.9/checksums/md5-checksums.bin +0 -0
  174. package/android/.gradle/8.9/checksums/sha1-checksums.bin +0 -0
  175. package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
  176. package/android/.gradle/8.9/executionHistory/executionHistory.lock +0 -0
  177. package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
  178. package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
  179. package/android/.gradle/8.9/gc.properties +0 -0
  180. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  181. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  182. package/android/.gradle/vcs-1/gc.properties +0 -0
  183. package/android/build/.transforms/07ab8b2284230b9b98454cb3baa5db54/results.bin +0 -1
  184. package/android/build/.transforms/07ab8b2284230b9b98454cb3baa5db54/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/devguard/BuildConfig.dex +0 -0
  185. package/android/build/.transforms/07ab8b2284230b9b98454cb3baa5db54/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/devguard/DevGuardModule.dex +0 -0
  186. package/android/build/.transforms/07ab8b2284230b9b98454cb3baa5db54/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/devguard/DevGuardPackage.dex +0 -0
  187. package/android/build/.transforms/07ab8b2284230b9b98454cb3baa5db54/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
  188. package/android/build/.transforms/ae351402e6cba75b162136aa850e1ba2/results.bin +0 -1
  189. package/android/build/.transforms/ae351402e6cba75b162136aa850e1ba2/transformed/classes/classes_dex/classes.dex +0 -0
  190. package/android/build/generated/source/buildConfig/debug/com/devguard/BuildConfig.java +0 -10
  191. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +0 -9
  192. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +0 -18
  193. package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +0 -6
  194. package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +0 -1
  195. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  196. package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  197. package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +0 -0
  198. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/arm64-v8a/build_command_devguard +0 -4
  199. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/arm64-v8a/build_model.json +0 -187
  200. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/arm64-v8a/build_stderr_devguard.txt +0 -0
  201. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/arm64-v8a/build_stdout_devguard.txt +0 -2
  202. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/arm64-v8a/generate_cxx_metadata_111_timing.txt +0 -3
  203. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/arm64-v8a/generate_cxx_metadata_1463_timing.txt +0 -3
  204. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/arm64-v8a/generate_cxx_metadata_324_timing.txt +0 -2
  205. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/arm64-v8a/generate_cxx_metadata_475_timing.txt +0 -3
  206. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/arm64-v8a/generate_cxx_metadata_622_timing.txt +0 -2
  207. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/arm64-v8a/metadata_generation_record.json +0 -41
  208. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/armeabi-v7a/build_command_devguard +0 -4
  209. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/armeabi-v7a/build_model.json +0 -187
  210. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/armeabi-v7a/build_stderr_devguard.txt +0 -0
  211. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/armeabi-v7a/build_stdout_devguard.txt +0 -2
  212. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/armeabi-v7a/generate_cxx_metadata_111_timing.txt +0 -3
  213. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/armeabi-v7a/generate_cxx_metadata_1459_timing.txt +0 -3
  214. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/armeabi-v7a/generate_cxx_metadata_324_timing.txt +0 -2
  215. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/armeabi-v7a/generate_cxx_metadata_475_timing.txt +0 -2
  216. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/armeabi-v7a/generate_cxx_metadata_622_timing.txt +0 -3
  217. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/armeabi-v7a/metadata_generation_record.json +0 -41
  218. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86/build_command_devguard +0 -4
  219. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86/build_model.json +0 -187
  220. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86/build_stderr_devguard.txt +0 -0
  221. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86/build_stdout_devguard.txt +0 -2
  222. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86/generate_cxx_metadata_111_timing.txt +0 -2
  223. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86/generate_cxx_metadata_1459_timing.txt +0 -2
  224. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86/generate_cxx_metadata_324_timing.txt +0 -2
  225. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86/generate_cxx_metadata_475_timing.txt +0 -2
  226. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86/generate_cxx_metadata_622_timing.txt +0 -2
  227. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86/metadata_generation_record.json +0 -41
  228. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86_64/build_command_devguard +0 -4
  229. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86_64/build_model.json +0 -187
  230. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86_64/build_stderr_devguard.txt +0 -0
  231. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86_64/build_stdout_devguard.txt +0 -2
  232. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86_64/generate_cxx_metadata_111_timing.txt +0 -2
  233. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86_64/generate_cxx_metadata_1459_timing.txt +0 -3
  234. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86_64/generate_cxx_metadata_324_timing.txt +0 -2
  235. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86_64/generate_cxx_metadata_475_timing.txt +0 -2
  236. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86_64/generate_cxx_metadata_622_timing.txt +0 -2
  237. package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86_64/metadata_generation_record.json +0 -41
  238. package/android/build/intermediates/cxx/Debug/4s4f1av3/obj/arm64-v8a/libdevguard.so +0 -0
  239. package/android/build/intermediates/cxx/Debug/4s4f1av3/obj/armeabi-v7a/libdevguard.so +0 -0
  240. package/android/build/intermediates/cxx/Debug/4s4f1av3/obj/x86/libdevguard.so +0 -0
  241. package/android/build/intermediates/cxx/Debug/4s4f1av3/obj/x86_64/libdevguard.so +0 -0
  242. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +0 -1
  243. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +0 -2
  244. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +0 -2
  245. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +0 -2
  246. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +0 -2
  247. package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/react-native-dev-guard_debug.kotlin_module +0 -0
  248. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/devguard/BuildConfig.class +0 -0
  249. package/android/build/intermediates/library_jni/debug/copyDebugJniLibsProjectOnly/jni/arm64-v8a/libdevguard.so +0 -0
  250. package/android/build/intermediates/library_jni/debug/copyDebugJniLibsProjectOnly/jni/armeabi-v7a/libdevguard.so +0 -0
  251. package/android/build/intermediates/library_jni/debug/copyDebugJniLibsProjectOnly/jni/x86/libdevguard.so +0 -0
  252. package/android/build/intermediates/library_jni/debug/copyDebugJniLibsProjectOnly/jni/x86_64/libdevguard.so +0 -0
  253. package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +0 -2
  254. package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +0 -11
  255. package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +0 -9
  256. package/android/build/intermediates/merged_native_libs/debug/mergeDebugNativeLibs/out/lib/arm64-v8a/libdevguard.so +0 -0
  257. package/android/build/intermediates/merged_native_libs/debug/mergeDebugNativeLibs/out/lib/armeabi-v7a/libdevguard.so +0 -0
  258. package/android/build/intermediates/merged_native_libs/debug/mergeDebugNativeLibs/out/lib/x86/libdevguard.so +0 -0
  259. package/android/build/intermediates/merged_native_libs/debug/mergeDebugNativeLibs/out/lib/x86_64/libdevguard.so +0 -0
  260. package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +0 -1
  261. package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +0 -1
  262. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/META-INF/react-native-dev-guard_debug.kotlin_module +0 -0
  263. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/devguard/BuildConfig.class +0 -0
  264. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/devguard/DevGuardModule.class +0 -0
  265. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/devguard/DevGuardPackage.class +0 -0
  266. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  267. package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +0 -1
  268. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  269. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  270. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  271. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  272. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  273. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  274. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
  275. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  276. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  277. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  278. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  279. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  280. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  281. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
  282. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  283. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  284. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  285. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  286. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  287. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  288. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
  289. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  290. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  291. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  292. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  293. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  294. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  295. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
  296. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  297. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  298. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  299. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  300. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  301. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  302. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
  303. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  304. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  305. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  306. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  307. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  308. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  309. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
  310. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  311. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  312. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  313. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  314. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  315. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  316. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
  317. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  318. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  319. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  320. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  321. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  322. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  323. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
  324. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +0 -2
  325. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  326. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  327. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  328. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  329. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  330. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  331. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
  332. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  333. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  334. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  335. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  336. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  337. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  338. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
  339. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  340. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  341. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  342. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  343. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  344. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  345. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
  346. package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  347. package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  348. package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
  349. package/android/build/outputs/logs/manifest-merger-debug-report.txt +0 -21
  350. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  351. package/android/build/tmp/kotlin-classes/debug/META-INF/react-native-dev-guard_debug.kotlin_module +0 -0
  352. package/android/build/tmp/kotlin-classes/debug/com/devguard/DevGuardModule.class +0 -0
  353. package/android/build/tmp/kotlin-classes/debug/com/devguard/DevGuardPackage.class +0 -0
@@ -5,36 +5,89 @@ const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const react_native_1 = require("react-native");
7
7
  const ContactButton_1 = require("./ContactButton");
8
- const { width, height } = react_native_1.Dimensions.get('window');
9
- const LockScreen = ({ status, title, message, contactEmail = '', contactPhone = '', contactWhatsapp = '', allowUnlock = true, onUnlock }) => {
8
+ const branding_1 = require("../types/branding");
9
+ const contactUrls_1 = require("../utils/contactUrls");
10
+ const obf_1 = require("../internal/obf");
11
+ const UNLOCK_TOGGLE_COLOR = '#fcd34d';
12
+ const LockScreen = ({ status, title, message, contactEmail = '', contactPhone = '', contactWhatsapp = '', allowUnlock = false, branding, onUnlock, }) => {
13
+ const { width, height } = (0, react_native_1.useWindowDimensions)();
10
14
  const [unlockKey, setUnlockKey] = (0, react_1.useState)('');
11
15
  const [loading, setLoading] = (0, react_1.useState)(false);
12
16
  const [error, setError] = (0, react_1.useState)(null);
13
17
  const [showUnlock, setShowUnlock] = (0, react_1.useState)(false);
18
+ const [logoFailed, setLogoFailed] = (0, react_1.useState)(false);
19
+ const footer = (0, react_1.useMemo)(() => (0, branding_1.resolveBrandingFooter)(branding), [branding]);
20
+ const blobStyles = (0, react_1.useMemo)(() => ({
21
+ blob1: {
22
+ top: -width * 0.2,
23
+ right: -width * 0.2,
24
+ width: width * 0.8,
25
+ height: width * 0.8,
26
+ borderRadius: width * 0.4,
27
+ backgroundColor: footer.primaryColor,
28
+ },
29
+ blob2: {
30
+ bottom: -width * 0.1,
31
+ left: -width * 0.3,
32
+ width: width * 0.8,
33
+ height: width * 0.8,
34
+ borderRadius: width * 0.4,
35
+ backgroundColor: footer.accentColor,
36
+ },
37
+ blob3: {
38
+ top: height * 0.3,
39
+ right: -width * 0.4,
40
+ width: width * 0.6,
41
+ height: width * 0.6,
42
+ borderRadius: width * 0.3,
43
+ backgroundColor: footer.primaryColor,
44
+ },
45
+ }), [footer.accentColor, footer.primaryColor, height, width]);
46
+ const themedStyles = (0, react_1.useMemo)(() => react_native_1.StyleSheet.create({
47
+ iconContainer: {
48
+ backgroundColor: `${footer.primaryColor}22`,
49
+ borderColor: `${footer.primaryColor}44`,
50
+ },
51
+ divider: { backgroundColor: footer.primaryColor },
52
+ }), [footer.primaryColor]);
14
53
  const handleUnlock = async () => {
15
- if (!unlockKey.trim())
54
+ if (!unlockKey.trim() || loading)
16
55
  return;
17
56
  setLoading(true);
18
57
  setError(null);
19
58
  const success = await onUnlock(unlockKey.trim());
20
59
  if (!success) {
21
- setError('Invalid unlock key. Please try again.');
60
+ setError(obf_1.Obf.invalidUnlockKey);
22
61
  setLoading(false);
23
62
  }
24
63
  };
64
+ const closeUnlock = () => {
65
+ if (loading)
66
+ return;
67
+ setShowUnlock(false);
68
+ setError(null);
69
+ setUnlockKey('');
70
+ };
25
71
  const openUrl = (url) => {
26
- console.log("DevGuard: Attempting to open URL:", url);
27
- react_native_1.Linking.openURL(url).catch(err => {
28
- console.error("DevGuard: Failed to open URL:", url, err);
29
- react_native_1.Alert.alert("Error", "Could not open the contact application. Please make sure it is installed and configured.");
72
+ if (!url)
73
+ return;
74
+ react_native_1.Linking.openURL(url).catch((err) => {
75
+ console.error('DevGuard: Failed to open URL:', url, err);
76
+ react_native_1.Alert.alert('Error', obf_1.Obf.contactOpenError);
30
77
  });
31
78
  };
32
- return ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.container, children: [(0, jsx_runtime_1.jsx)(react_native_1.View, { pointerEvents: "none", style: [styles.blob, styles.blob1] }), (0, jsx_runtime_1.jsx)(react_native_1.View, { pointerEvents: "none", style: [styles.blob, styles.blob2] }), (0, jsx_runtime_1.jsx)(react_native_1.View, { pointerEvents: "none", style: [styles.blob, styles.blob3] }), (0, jsx_runtime_1.jsx)(react_native_1.SafeAreaView, { style: styles.safeArea, children: (0, jsx_runtime_1.jsxs)(react_native_1.KeyboardAvoidingView, { behavior: react_native_1.Platform.OS === 'ios' ? 'padding' : 'height', style: styles.keyboardView, children: [(0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.glassCard, children: [(0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.iconContainer, children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.lockIcon, children: "\uD83D\uDEE1\uFE0F" }) }), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.title, children: (title || (status === 'LOCKED' ? 'Access Restricted' :
33
- status === 'WARNING' ? 'Security Warning' :
34
- 'License Expired')).toUpperCase() }), (0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.divider }), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.message, children: message || 'This application has been remotely locked by the developer.' }), (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.actions, children: [contactWhatsapp ? ((0, jsx_runtime_1.jsx)(ContactButton_1.ContactButton, { label: "WhatsApp Support", color: "#25D366", icon: "\uD83D\uDCAC", onPress: () => openUrl(`https://wa.me/${contactWhatsapp.replace(/[^0-9]/g, '')}`) })) : null, contactEmail ? ((0, jsx_runtime_1.jsx)(ContactButton_1.ContactButton, { label: "Email Support", color: "#D32F2F", icon: "\uD83D\uDCE7", onPress: () => openUrl(`mailto:${contactEmail.trim()}`) })) : null, contactPhone ? ((0, jsx_runtime_1.jsx)(ContactButton_1.ContactButton, { label: "Call Support", color: "rgba(255, 255, 255, 0.1)", icon: "\uD83D\uDCDE", onPress: () => openUrl(`tel:${contactPhone.replace(/[^\d+]/g, '')}`) })) : null] }), allowUnlock && ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.unlockSection, children: !showUnlock ? ((0, jsx_runtime_1.jsx)(react_native_1.TouchableOpacity, { onPress: () => setShowUnlock(true), children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.unlockToggleText, children: "\uD83D\uDD11 Enter Unlock Key" }) })) : ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.inputContainer, children: [(0, jsx_runtime_1.jsx)(react_native_1.TextInput, { style: styles.input, placeholder: "License Key", placeholderTextColor: "rgba(255, 255, 255, 0.4)", value: unlockKey, onChangeText: setUnlockKey, autoCapitalize: "none", secureTextEntry: true }), error && (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.errorText, children: error }), (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.inputActions, children: [(0, jsx_runtime_1.jsx)(react_native_1.TouchableOpacity, { style: styles.cancelButton, onPress: () => {
35
- setShowUnlock(false);
36
- setError(null);
37
- }, children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.cancelButtonText, children: "Cancel" }) }), (0, jsx_runtime_1.jsx)(react_native_1.TouchableOpacity, { style: styles.unlockButton, onPress: handleUnlock, disabled: loading, children: loading ? ((0, jsx_runtime_1.jsx)(react_native_1.ActivityIndicator, { color: "#000", size: "small" })) : ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.unlockButtonText, children: "Unlock Now" })) })] })] })) }))] }), (0, jsx_runtime_1.jsxs)(react_native_1.TouchableOpacity, { style: styles.footer, onPress: () => openUrl('https://antssolution.com/'), children: [(0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.footerLabel, children: "Powered by" }), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.footerBrand, children: "ANTS SOLUTION" })] })] }) })] }));
79
+ const defaultTitle = status === 'LOCKED'
80
+ ? 'Access Restricted'
81
+ : status === 'WARNING'
82
+ ? 'Security Warning'
83
+ : 'License Expired';
84
+ const whatsappUrl = (0, contactUrls_1.buildWhatsAppUrl)(contactWhatsapp);
85
+ const mailtoUrl = (0, contactUrls_1.buildMailtoUrl)(contactEmail);
86
+ const telUrl = (0, contactUrls_1.buildTelUrl)(contactPhone);
87
+ return ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.container, children: [(0, jsx_runtime_1.jsx)(react_native_1.View, { pointerEvents: "none", style: [styles.blob, blobStyles.blob1] }), (0, jsx_runtime_1.jsx)(react_native_1.View, { pointerEvents: "none", style: [styles.blob, blobStyles.blob2] }), (0, jsx_runtime_1.jsx)(react_native_1.View, { pointerEvents: "none", style: [styles.blob, blobStyles.blob3] }), (0, jsx_runtime_1.jsx)(react_native_1.SafeAreaView, { style: styles.safeArea, children: (0, jsx_runtime_1.jsx)(react_native_1.KeyboardAvoidingView, { behavior: react_native_1.Platform.OS === 'ios' ? 'padding' : 'height', style: styles.keyboardView, children: (0, jsx_runtime_1.jsxs)(react_native_1.ScrollView, { contentContainerStyle: styles.scrollContent, keyboardShouldPersistTaps: "handled", showsVerticalScrollIndicator: false, children: [(0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.glassCard, children: [(0, jsx_runtime_1.jsx)(react_native_1.View, { style: [styles.iconContainer, themedStyles.iconContainer], children: branding?.logoUrl && !logoFailed ? ((0, jsx_runtime_1.jsx)(react_native_1.Image, { source: { uri: branding.logoUrl }, style: styles.logoImage, resizeMode: "contain", onError: () => setLogoFailed(true) })) : ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.lockIcon, children: "\uD83D\uDEE1\uFE0F" })) }), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.title, children: (title || defaultTitle).toUpperCase() }), (0, jsx_runtime_1.jsx)(react_native_1.View, { style: [styles.divider, themedStyles.divider] }), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.message, children: message || obf_1.Obf.defaultLockMessage }), !showUnlock && ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.actions, children: [whatsappUrl ? ((0, jsx_runtime_1.jsx)(ContactButton_1.ContactButton, { label: obf_1.Obf.whatsappSupport, color: "#25D366", icon: "\uD83D\uDCAC", onPress: () => openUrl(whatsappUrl) })) : null, mailtoUrl ? ((0, jsx_runtime_1.jsx)(ContactButton_1.ContactButton, { label: obf_1.Obf.emailSupport, color: footer.primaryColor, icon: "\uD83D\uDCE7", onPress: () => openUrl(mailtoUrl) })) : null, telUrl ? ((0, jsx_runtime_1.jsx)(ContactButton_1.ContactButton, { label: obf_1.Obf.callSupport, color: "rgba(255, 255, 255, 0.1)", icon: "\uD83D\uDCDE", onPress: () => openUrl(telUrl) })) : null, allowUnlock ? ((0, jsx_runtime_1.jsx)(react_native_1.TouchableOpacity, { style: styles.unlockToggle, onPress: () => setShowUnlock(true), accessibilityRole: "button", accessibilityLabel: "Enter unlock key", children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.unlockToggleText, children: obf_1.Obf.enterUnlockKey }) })) : null] })), showUnlock && allowUnlock && ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.unlockSection, children: (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.inputContainer, children: [error ? (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.errorText, children: error }) : null, (0, jsx_runtime_1.jsx)(react_native_1.TextInput, { style: styles.input, placeholder: obf_1.Obf.licenseKeyHint, placeholderTextColor: "rgba(255, 255, 255, 0.4)", value: unlockKey, onChangeText: setUnlockKey, autoCapitalize: "none", autoCorrect: false, autoFocus: true, secureTextEntry: true, returnKeyType: "done", onSubmitEditing: handleUnlock, editable: !loading }), (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.inputActions, children: [(0, jsx_runtime_1.jsx)(react_native_1.TouchableOpacity, { style: styles.cancelButton, onPress: closeUnlock, disabled: loading, accessibilityRole: "button", accessibilityLabel: "Cancel unlock", children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [
88
+ styles.cancelButtonText,
89
+ loading && styles.cancelButtonTextDisabled,
90
+ ], children: obf_1.Obf.cancelLabel }) }), (0, jsx_runtime_1.jsx)(react_native_1.TouchableOpacity, { style: [styles.unlockButton, loading && styles.unlockButtonDisabled], onPress: handleUnlock, disabled: loading, accessibilityRole: "button", accessibilityLabel: "Unlock application", children: loading ? ((0, jsx_runtime_1.jsx)(react_native_1.ActivityIndicator, { color: "#000", size: "small" })) : ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.unlockButtonText, children: obf_1.Obf.unlockLabel })) })] })] }) }))] }), !footer.hidePoweredBy && ((0, jsx_runtime_1.jsxs)(react_native_1.TouchableOpacity, { style: styles.footer, onPress: () => openUrl(footer.url), accessibilityRole: "link", accessibilityLabel: `${footer.label} ${footer.brand}`, children: [(0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.footerLabel, children: footer.label }), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.footerBrand, children: footer.brand.toUpperCase() })] }))] }) }) })] }));
38
91
  };
39
92
  exports.LockScreen = LockScreen;
40
93
  const styles = react_native_1.StyleSheet.create({
@@ -45,33 +98,16 @@ const styles = react_native_1.StyleSheet.create({
45
98
  },
46
99
  blob: {
47
100
  position: 'absolute',
48
- width: width * 0.8,
49
- height: width * 0.8,
50
- borderRadius: width * 0.4,
51
101
  opacity: 0.15,
52
102
  },
53
- blob1: {
54
- top: -width * 0.2,
55
- right: -width * 0.2,
56
- backgroundColor: '#D32F2F',
57
- },
58
- blob2: {
59
- bottom: -width * 0.1,
60
- left: -width * 0.3,
61
- backgroundColor: '#B71C1C',
62
- },
63
- blob3: {
64
- top: height * 0.3,
65
- right: -width * 0.4,
66
- backgroundColor: '#FF5252',
67
- width: width * 0.6,
68
- height: width * 0.6,
69
- },
70
103
  safeArea: {
71
104
  flex: 1,
72
105
  },
73
106
  keyboardView: {
74
107
  flex: 1,
108
+ },
109
+ scrollContent: {
110
+ flexGrow: 1,
75
111
  justifyContent: 'center',
76
112
  alignItems: 'center',
77
113
  padding: 24,
@@ -90,12 +126,15 @@ const styles = react_native_1.StyleSheet.create({
90
126
  width: 100,
91
127
  height: 100,
92
128
  borderRadius: 50,
93
- backgroundColor: 'rgba(211, 47, 47, 0.1)',
94
129
  justifyContent: 'center',
95
130
  alignItems: 'center',
96
131
  marginBottom: 24,
97
132
  borderWidth: 1,
98
- borderColor: 'rgba(211, 47, 47, 0.2)',
133
+ },
134
+ logoImage: {
135
+ width: 56,
136
+ height: 56,
137
+ borderRadius: 8,
99
138
  },
100
139
  lockIcon: {
101
140
  fontSize: 48,
@@ -111,7 +150,6 @@ const styles = react_native_1.StyleSheet.create({
111
150
  divider: {
112
151
  width: 40,
113
152
  height: 3,
114
- backgroundColor: '#D32F2F',
115
153
  borderRadius: 2,
116
154
  marginBottom: 16,
117
155
  },
@@ -124,18 +162,20 @@ const styles = react_native_1.StyleSheet.create({
124
162
  },
125
163
  actions: {
126
164
  width: '100%',
127
- marginBottom: 24,
128
165
  },
129
- unlockSection: {
130
- width: '100%',
166
+ unlockToggle: {
167
+ marginTop: 8,
131
168
  alignItems: 'center',
132
- marginTop: 16,
169
+ paddingVertical: 8,
133
170
  },
134
171
  unlockToggleText: {
135
- color: 'rgba(255, 255, 255, 0.5)',
136
- fontSize: 14,
172
+ color: UNLOCK_TOGGLE_COLOR,
173
+ fontSize: 13,
137
174
  fontWeight: '600',
138
175
  },
176
+ unlockSection: {
177
+ width: '100%',
178
+ },
139
179
  inputContainer: {
140
180
  width: '100%',
141
181
  gap: 12,
@@ -152,7 +192,7 @@ const styles = react_native_1.StyleSheet.create({
152
192
  },
153
193
  errorText: {
154
194
  color: '#FF5252',
155
- fontSize: 12,
195
+ fontSize: 13,
156
196
  textAlign: 'center',
157
197
  },
158
198
  inputActions: {
@@ -169,6 +209,9 @@ const styles = react_native_1.StyleSheet.create({
169
209
  color: 'rgba(255, 255, 255, 0.4)',
170
210
  fontWeight: '600',
171
211
  },
212
+ cancelButtonTextDisabled: {
213
+ opacity: 0.4,
214
+ },
172
215
  unlockButton: {
173
216
  flex: 2,
174
217
  backgroundColor: '#FFF',
@@ -177,6 +220,9 @@ const styles = react_native_1.StyleSheet.create({
177
220
  alignItems: 'center',
178
221
  justifyContent: 'center',
179
222
  },
223
+ unlockButtonDisabled: {
224
+ opacity: 0.85,
225
+ },
180
226
  unlockButtonText: {
181
227
  color: '#000',
182
228
  fontWeight: 'bold',
package/lib/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { LockScreenBranding } from './types/branding';
2
3
  export type GuardStatus = 'LOCKED' | 'ACTIVE' | 'PENDING' | 'ERROR' | 'EXPIRED' | 'WARNING';
3
4
  interface GuardResponse {
4
5
  status: GuardStatus;
@@ -27,6 +28,7 @@ interface GuardResponse {
27
28
  syncPolicy?: SyncPolicy;
28
29
  /** When true, the client locks on emulators/simulators (non-physical devices). */
29
30
  blockEmulators?: boolean;
31
+ branding?: LockScreenBranding | null;
30
32
  }
31
33
  interface DevGuardContextType {
32
34
  status: GuardStatus;
@@ -49,4 +51,5 @@ export declare const DevGuardProvider: React.FC<{
49
51
  failSafe?: FailSafe;
50
52
  }>;
51
53
  export declare const useDevGuard: () => DevGuardContextType;
52
- export {};
54
+ export type { LockScreenBranding } from './types/branding';
55
+ export { resolveBrandingFooter } from './types/branding';