react-native-inapp-inspector 2.3.13 → 2.3.15
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.
- package/android/.gradle/8.9/checksums/checksums.lock +0 -0
- package/android/.gradle/8.9/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/8.9/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
- package/android/.gradle/8.9/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
- package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/8.9/gc.properties +0 -0
- package/android/.gradle/9.2.0/checksums/checksums.lock +0 -0
- package/android/.gradle/9.2.0/fileChanges/last-build.bin +0 -0
- package/android/.gradle/9.2.0/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/9.2.0/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/9.2.0/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/android/build/.transforms/6683d6eeaa3e1dfa689c3385111a0386/results.bin +1 -0
- package/android/build/.transforms/6683d6eeaa3e1dfa689c3385111a0386/transformed/classes/classes_dex/classes.dex +0 -0
- package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/results.bin +1 -0
- package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/BuildConfig.dex +0 -0
- package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/InAppInspectorFloatingView$iconView$1.dex +0 -0
- package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/InAppInspectorFloatingView.dex +0 -0
- package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NativeNetworkInspectorSpec.dex +0 -0
- package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$Companion.dex +0 -0
- package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$frameCallback$1.dex +0 -0
- package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$shakeListener$1.dex +0 -0
- package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule.dex +0 -0
- package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorPackage.dex +0 -0
- package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
- package/android/build/generated/source/buildConfig/debug/com/inappinspector/BuildConfig.java +10 -0
- package/android/build/generated/source/codegen/java/com/inappinspector/NativeNetworkInspectorSpec.java +104 -0
- package/android/build/generated/source/codegen/jni/CMakeLists.txt +28 -0
- package/android/build/generated/source/codegen/jni/RNInAppInspectorSpec-generated.cpp +128 -0
- package/android/build/generated/source/codegen/jni/RNInAppInspectorSpec.h +31 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ComponentDescriptors.cpp +22 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ComponentDescriptors.h +24 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/EventEmitters.cpp +16 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/EventEmitters.h +17 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/Props.cpp +19 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/Props.h +18 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/RNInAppInspectorSpecJSI.h +177 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ShadowNodes.cpp +17 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ShadowNodes.h +23 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/States.cpp +16 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/States.h +20 -0
- package/android/build/generated/source/codegen/schema.json +1 -0
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +7 -0
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
- package/android/build/intermediates/aar_main_jar/debug/syncDebugLibJars/classes.jar +0 -0
- package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
- package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
- package/android/build/intermediates/annotations_typedef_file/debug/extractDebugAnnotations/typedefs.txt +0 -0
- package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
- package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +0 -0
- package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -0
- package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
- package/android/build/intermediates/incremental/debug-mergeJavaRes/merge-state +0 -0
- package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
- package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
- package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +2 -0
- package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/inappinspector/BuildConfig.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/inappinspector/NativeNetworkInspectorSpec.class +0 -0
- package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +2 -0
- package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +7 -0
- package/android/build/intermediates/merged_java_res/debug/mergeDebugJavaResource/feature-react-native-inapp-inspector.jar +0 -0
- package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +7 -0
- package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
- package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/BuildConfig.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/InAppInspectorFloatingView$iconView$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/InAppInspectorFloatingView.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NativeNetworkInspectorSpec.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$frameCallback$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$shakeListener$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorPackage.class +0 -0
- package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +1 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +2 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
- package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
- package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
- package/android/build/outputs/aar/react-native-inapp-inspector-debug.aar +0 -0
- package/android/build/outputs/logs/manifest-merger-debug-report.txt +17 -0
- package/android/build/reports/problems/problems-report.html +659 -0
- package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
- package/android/build/tmp/kotlin-classes/debug/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/inappinspector/InAppInspectorFloatingView$iconView$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/inappinspector/InAppInspectorFloatingView.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$frameCallback$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$shakeListener$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorPackage.class +0 -0
- package/bin/cli.js +6 -0
- package/dist/commonjs/components/AnimatedEntrance.js +3 -3
- package/dist/commonjs/components/ConsoleLogCard.js +174 -100
- package/dist/commonjs/components/Inspector/ConsoleTab.js +25 -16
- package/dist/commonjs/components/Inspector/CrashTab.js +19 -5
- package/dist/commonjs/components/Inspector/DebuggingTab.js +741 -438
- package/dist/commonjs/components/Inspector/DeviceInfoTab.js +198 -98
- package/dist/commonjs/components/Inspector/InspectorHeader.js +2 -2
- package/dist/commonjs/components/Inspector/MainScreen.js +58 -55
- package/dist/commonjs/components/Inspector/NetworkTab.js +1 -335
- package/dist/commonjs/components/Inspector/PerformanceTab.js +32 -6
- package/dist/commonjs/components/Inspector/ReduxTab.js +3 -1
- package/dist/commonjs/components/Inspector/SettingsPanel.js +6 -4
- package/dist/commonjs/components/Inspector/StorageTab.js +23 -5
- package/dist/commonjs/components/Inspector/TabBar.js +6 -2
- package/dist/commonjs/components/JsonViewer.js +14 -2
- package/dist/commonjs/components/LogCard.js +428 -227
- package/dist/commonjs/components/QRCodeView.js +1 -1
- package/dist/commonjs/constants/telemetryConfig.d.ts +3 -3
- package/dist/commonjs/constants/telemetryConfig.js +3 -3
- package/dist/commonjs/constants/version.d.ts +1 -1
- package/dist/commonjs/constants/version.js +1 -1
- package/dist/commonjs/customHooks/analyticsLogger.js +1 -1
- package/dist/commonjs/customHooks/consoleLogger.js +34 -2
- package/dist/commonjs/customHooks/crashHandler.js +1 -1
- package/dist/commonjs/customHooks/networkLogger.js +184 -26
- package/dist/commonjs/helpers/index.d.ts +1 -0
- package/dist/commonjs/helpers/index.js +11 -1
- package/dist/commonjs/helpers/qrGenerator.d.ts +1 -0
- package/dist/commonjs/helpers/qrGenerator.js +356 -33
- package/dist/commonjs/helpers/searchQueryParser.d.ts +1 -1
- package/dist/commonjs/helpers/searchQueryParser.js +37 -291
- package/dist/commonjs/index.d.ts +1 -0
- package/dist/commonjs/index.js +146 -30
- package/dist/commonjs/metro.d.ts +25 -0
- package/dist/commonjs/metro.js +478 -0
- package/dist/esm/components/AnimatedEntrance.js +3 -3
- package/dist/esm/components/ConsoleLogCard.js +141 -100
- package/dist/esm/components/Inspector/ConsoleTab.js +25 -16
- package/dist/esm/components/Inspector/CrashTab.js +19 -5
- package/dist/esm/components/Inspector/DebuggingTab.js +744 -441
- package/dist/esm/components/Inspector/DeviceInfoTab.js +198 -98
- package/dist/esm/components/Inspector/InspectorHeader.js +3 -3
- package/dist/esm/components/Inspector/MainScreen.js +58 -55
- package/dist/esm/components/Inspector/NetworkTab.js +2 -336
- package/dist/esm/components/Inspector/PerformanceTab.js +32 -6
- package/dist/esm/components/Inspector/ReduxTab.js +3 -1
- package/dist/esm/components/Inspector/SettingsPanel.js +7 -5
- package/dist/esm/components/Inspector/StorageTab.js +23 -5
- package/dist/esm/components/Inspector/TabBar.js +7 -3
- package/dist/esm/components/JsonViewer.js +14 -2
- package/dist/esm/components/LogCard.js +422 -221
- package/dist/esm/components/QRCodeView.js +1 -1
- package/dist/esm/constants/telemetryConfig.d.ts +3 -3
- package/dist/esm/constants/telemetryConfig.js +3 -3
- package/dist/esm/constants/version.d.ts +1 -1
- package/dist/esm/constants/version.js +1 -1
- package/dist/esm/customHooks/analyticsLogger.js +1 -1
- package/dist/esm/customHooks/consoleLogger.js +34 -2
- package/dist/esm/customHooks/crashHandler.js +1 -1
- package/dist/esm/customHooks/networkLogger.js +184 -26
- package/dist/esm/helpers/index.d.ts +1 -0
- package/dist/esm/helpers/index.js +9 -0
- package/dist/esm/helpers/qrGenerator.d.ts +1 -0
- package/dist/esm/helpers/qrGenerator.js +356 -30
- package/dist/esm/helpers/searchQueryParser.d.ts +1 -1
- package/dist/esm/helpers/searchQueryParser.js +37 -291
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +144 -29
- package/dist/esm/metro.d.ts +25 -0
- package/dist/esm/metro.js +469 -0
- package/metro.d.ts +1 -0
- package/metro.js +1 -0
- package/package.json +16 -5
- package/src/components/AnimatedEntrance.tsx +3 -3
- package/src/components/ConsoleLogCard.tsx +154 -103
- package/src/components/Inspector/ConsoleTab.tsx +27 -18
- package/src/components/Inspector/CrashTab.tsx +19 -5
- package/src/components/Inspector/DebuggingTab.tsx +842 -514
- package/src/components/Inspector/DeviceInfoTab.tsx +224 -102
- package/src/components/Inspector/InspectorHeader.tsx +5 -3
- package/src/components/Inspector/MainScreen.tsx +6 -4
- package/src/components/Inspector/NetworkTab.tsx +1 -402
- package/src/components/Inspector/PerformanceTab.tsx +36 -7
- package/src/components/Inspector/ReduxTab.tsx +9 -1
- package/src/components/Inspector/SettingsPanel.tsx +85 -75
- package/src/components/Inspector/StorageTab.tsx +27 -7
- package/src/components/Inspector/TabBar.tsx +16 -2
- package/src/components/JsonViewer.tsx +15 -2
- package/src/components/LogCard.tsx +528 -339
- package/src/components/QRCodeView.tsx +2 -2
- package/src/constants/telemetryConfig.ts +5 -3
- package/src/constants/version.ts +1 -1
- package/src/customHooks/analyticsLogger.ts +1 -1
- package/src/customHooks/consoleLogger.ts +36 -3
- package/src/customHooks/crashHandler.ts +1 -1
- package/src/customHooks/networkLogger.ts +214 -26
- package/src/helpers/index.ts +15 -0
- package/src/helpers/qrGenerator.ts +418 -37
- package/src/helpers/searchQueryParser.ts +40 -285
- package/src/index.tsx +337 -214
- package/src/metro.ts +598 -0
|
@@ -338,19 +338,119 @@ export const DeviceInfoTab = React.memo(() => {
|
|
|
338
338
|
copyToClipboard(md, 'Device Markdown Report');
|
|
339
339
|
showToast('Copied Markdown Report to Clipboard!');
|
|
340
340
|
};
|
|
341
|
-
const isMatch = (
|
|
341
|
+
const isMatch = useCallback((label, value, subtext) => {
|
|
342
342
|
if (!search.trim())
|
|
343
343
|
return true;
|
|
344
|
-
|
|
345
|
-
|
|
344
|
+
const query = search.toLowerCase().trim();
|
|
345
|
+
const strVal = value != null
|
|
346
|
+
? typeof value === 'object'
|
|
347
|
+
? JSON.stringify(value)
|
|
348
|
+
: String(value)
|
|
349
|
+
: '';
|
|
350
|
+
const strSub = subtext != null ? String(subtext) : '';
|
|
351
|
+
return (label.toLowerCase().includes(query) ||
|
|
352
|
+
strVal.toLowerCase().includes(query) ||
|
|
353
|
+
strSub.toLowerCase().includes(query));
|
|
354
|
+
}, [search]);
|
|
355
|
+
const hasHeroMatch = useMemo(() => {
|
|
356
|
+
if (!search.trim())
|
|
357
|
+
return true;
|
|
358
|
+
return (isMatch('Model', deviceMetrics?.deviceModel || Platform.constants?.Model) ||
|
|
359
|
+
isMatch('OS', Platform.OS) ||
|
|
360
|
+
isMatch('IP Address', ipAddress) ||
|
|
361
|
+
isMatch('RAM', `${usedRamMb}/${totalRamMb}`) ||
|
|
362
|
+
isMatch('Uptime', deviceUptime));
|
|
363
|
+
}, [search, isMatch, deviceMetrics, ipAddress, usedRamMb, totalRamMb, deviceUptime]);
|
|
364
|
+
const hasOverviewMatch = useMemo(() => {
|
|
365
|
+
if (!search.trim())
|
|
366
|
+
return true;
|
|
367
|
+
return (isMatch('Device Model', fullDeviceData.hardware.model) ||
|
|
368
|
+
isMatch('Manufacturer', fullDeviceData.hardware.brand) ||
|
|
369
|
+
isMatch('Operating System', fullDeviceData.hardware.osVersion) ||
|
|
370
|
+
isMatch('IP Address', ipAddress) ||
|
|
371
|
+
isMatch('RAM Memory', `${usedRamMb} MB / ${totalRamMb} MB (${ramUsagePct}%)`, `Free Memory: ${freeRamMb} MB`) ||
|
|
372
|
+
isMatch('Storage Capacity', `${freeStorageGb} GB Free / ${totalStorageGb} GB Total`) ||
|
|
373
|
+
isMatch('App Version', `v${fullDeviceData.runtime.appVersion} (${fullDeviceData.runtime.appBuild})`) ||
|
|
374
|
+
isMatch('JavaScript Engine', isHermes ? 'Hermes Bytecode Engine' : 'JavaScriptCore (JSC)') ||
|
|
375
|
+
isMatch('UDID Identifier', pseudoUDID));
|
|
376
|
+
}, [search, isMatch, fullDeviceData, ipAddress, usedRamMb, totalRamMb, ramUsagePct, freeRamMb, freeStorageGb, totalStorageGb, isHermes, pseudoUDID]);
|
|
377
|
+
const hasHardwareMatch = useMemo(() => {
|
|
378
|
+
if (!search.trim())
|
|
379
|
+
return true;
|
|
380
|
+
return (isMatch('CPU Architecture', fullDeviceData.hardware.cpuAbi) ||
|
|
381
|
+
isMatch('Total RAM', `${totalRamMb} MB`) ||
|
|
382
|
+
isMatch('Free RAM', `${freeRamMb} MB`) ||
|
|
383
|
+
isMatch('Storage Capacity', `${totalStorageGb} GB`) ||
|
|
384
|
+
isMatch('Available Storage', `${freeStorageGb} GB`) ||
|
|
385
|
+
isMatch('Battery', `${deviceMetrics?.batteryPercent ?? 100}%`) ||
|
|
386
|
+
isMatch('API Level', `API ${deviceMetrics?.apiLevel || Platform.Version}`) ||
|
|
387
|
+
isMatch('Thermal State', 'Nominal (Cool)'));
|
|
388
|
+
}, [search, isMatch, fullDeviceData, totalRamMb, freeRamMb, totalStorageGb, freeStorageGb, deviceMetrics]);
|
|
389
|
+
const hasNetworkMatch = useMemo(() => {
|
|
390
|
+
if (!search.trim())
|
|
391
|
+
return true;
|
|
392
|
+
return (isMatch('IP Address', ipAddress) ||
|
|
393
|
+
isMatch('Internet Reachability', 'Connected') ||
|
|
394
|
+
isMatch('Connection Type', 'Wi-Fi / Local Area Network') ||
|
|
395
|
+
isMatch('Metro Dev Server', NativeModules?.PlatformConstants?.serverHost || NativeModules?.AndroidConstants?.serverHost || 'localhost:8081') ||
|
|
396
|
+
isMatch('WebSocket Protocol', 'Active & Enabled') ||
|
|
397
|
+
isMatch('Network Inspector Interceptor', 'Intercepting XHR & Fetch'));
|
|
398
|
+
}, [search, isMatch, ipAddress]);
|
|
399
|
+
const hasDisplayMatch = useMemo(() => {
|
|
400
|
+
if (!search.trim())
|
|
401
|
+
return true;
|
|
402
|
+
return (isMatch('Window Resolution', `${windowDims.width.toFixed(0)} × ${windowDims.height.toFixed(0)} pt`) ||
|
|
403
|
+
isMatch('Screen Physical Size', `${(screenDims.width * pixelRatio).toFixed(0)} × ${(screenDims.height * pixelRatio).toFixed(0)} px`) ||
|
|
404
|
+
isMatch('Pixel Density', `@${pixelRatio}x (${Math.round(pixelRatio * 160)} dpi)`) ||
|
|
405
|
+
isMatch('Font Scale', `${fontScale}x`) ||
|
|
406
|
+
isMatch('Form Factor', isTablet ? 'Tablet' : 'Smartphone') ||
|
|
407
|
+
isMatch('Orientation', isLandscape ? 'Landscape' : 'Portrait') ||
|
|
408
|
+
isMatch('Status Bar Height', `${statusBarHeight} pt`));
|
|
409
|
+
}, [search, isMatch, windowDims, screenDims, pixelRatio, fontScale, isTablet, isLandscape, statusBarHeight]);
|
|
410
|
+
const hasRuntimeMatch = useMemo(() => {
|
|
411
|
+
if (!search.trim())
|
|
412
|
+
return true;
|
|
413
|
+
return (isMatch('App Name', fullDeviceData.runtime.appName) ||
|
|
414
|
+
isMatch('Bundle ID', fullDeviceData.identifiers.bundleId) ||
|
|
415
|
+
isMatch('App Version', `v${fullDeviceData.runtime.appVersion} (${fullDeviceData.runtime.appBuild})`) ||
|
|
416
|
+
isMatch('React Native', `v${reactNativeVersion}`) ||
|
|
417
|
+
isMatch('In-App Inspector Version', `v${LIB_VERSION}`) ||
|
|
418
|
+
isMatch('Hermes Engine', isHermes ? 'Enabled (AOT Bytecode)' : 'Disabled (JSC)') ||
|
|
419
|
+
isMatch('New Architecture', isTurboModule ? 'Enabled' : 'Legacy Bridge') ||
|
|
420
|
+
isMatch('Build Type', __DEV__ ? 'Debug (__DEV__ = true)' : 'Release / Production') ||
|
|
421
|
+
isMatch('Timezone', fullDeviceData.runtime.timezone) ||
|
|
422
|
+
isMatch('Locale', fullDeviceData.runtime.locale) ||
|
|
423
|
+
isMatch('Session Uptime', deviceUptime));
|
|
424
|
+
}, [search, isMatch, fullDeviceData, reactNativeVersion, isHermes, isTurboModule, deviceUptime]);
|
|
425
|
+
const hasSecurityMatch = useMemo(() => {
|
|
426
|
+
if (!search.trim())
|
|
427
|
+
return true;
|
|
428
|
+
return (isMatch('Pseudo-UDID', pseudoUDID) ||
|
|
429
|
+
isMatch('Bundle ID', fullDeviceData.identifiers.bundleId) ||
|
|
430
|
+
isMatch('Root / Jailbreak', 'Clean (Standard Sandbox)') ||
|
|
431
|
+
isMatch('Simulator / Emulator', Platform.constants?.Model?.includes?.('sdk') || Platform.constants?.Model?.includes?.('Emulator') || Platform.constants?.Model?.includes?.('Simulator') ? 'Virtual Simulator' : 'Physical Device') ||
|
|
432
|
+
isMatch('Sandbox Integrity', 'Enforced by OS Kernel'));
|
|
433
|
+
}, [search, isMatch, pseudoUDID, fullDeviceData]);
|
|
346
434
|
const hasAnyMatch = useMemo(() => {
|
|
347
435
|
if (!search.trim())
|
|
348
436
|
return true;
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
437
|
+
return (hasHeroMatch ||
|
|
438
|
+
hasOverviewMatch ||
|
|
439
|
+
hasHardwareMatch ||
|
|
440
|
+
hasNetworkMatch ||
|
|
441
|
+
hasDisplayMatch ||
|
|
442
|
+
hasRuntimeMatch ||
|
|
443
|
+
hasSecurityMatch);
|
|
444
|
+
}, [
|
|
445
|
+
search,
|
|
446
|
+
hasHeroMatch,
|
|
447
|
+
hasOverviewMatch,
|
|
448
|
+
hasHardwareMatch,
|
|
449
|
+
hasNetworkMatch,
|
|
450
|
+
hasDisplayMatch,
|
|
451
|
+
hasRuntimeMatch,
|
|
452
|
+
hasSecurityMatch,
|
|
453
|
+
]);
|
|
354
454
|
return (<View style={styles.container}>
|
|
355
455
|
|
|
356
456
|
<View style={styles.subTabsWrapper}>
|
|
@@ -395,154 +495,154 @@ export const DeviceInfoTab = React.memo(() => {
|
|
|
395
495
|
|
|
396
496
|
<ScrollView style={styles.scrollArea} contentContainerStyle={styles.scrollContent} showsVerticalScrollIndicator={false}>
|
|
397
497
|
|
|
398
|
-
<View style={styles.heroCard}>
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
498
|
+
{(!search.trim() || hasHeroMatch) && (<View style={styles.heroCard}>
|
|
499
|
+
<View style={styles.heroHeader}>
|
|
500
|
+
<View style={styles.heroIconWrap}>
|
|
501
|
+
{Platform.OS === 'ios' ? (<AppleIcon size={20} color={AppColors.white}/>) : (<AndroidIcon size={20} color={AppColors.white}/>)}
|
|
502
|
+
</View>
|
|
503
|
+
<View style={{ flex: 1, minWidth: 0 }}>
|
|
504
|
+
<Text style={styles.heroTitle} numberOfLines={1} ellipsizeMode="tail">
|
|
505
|
+
{deviceMetrics?.deviceModel || Platform.constants?.Model || (Platform.OS === 'ios' ? 'Apple iPhone' : 'Android Device')}
|
|
506
|
+
</Text>
|
|
507
|
+
<Text style={styles.heroSubtitle} numberOfLines={1} ellipsizeMode="tail">
|
|
508
|
+
{Platform.OS === 'ios' ? `iOS ${Platform.Version}` : `Android ${Platform.Version} (API ${deviceMetrics?.apiLevel || Platform.Version})`}
|
|
509
|
+
</Text>
|
|
510
|
+
</View>
|
|
511
|
+
<View style={styles.heroBadge}>
|
|
512
|
+
<View style={styles.pulseDot}/>
|
|
513
|
+
<Text style={styles.heroBadgeText}>LIVE</Text>
|
|
514
|
+
</View>
|
|
414
515
|
</View>
|
|
415
|
-
</View>
|
|
416
516
|
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
517
|
+
|
|
518
|
+
<View style={styles.heroMetricsStrip}>
|
|
519
|
+
<View style={styles.heroMetricItem}>
|
|
520
|
+
<Text style={styles.heroMetricLabel} numberOfLines={1} ellipsizeMode="tail">IP ADDRESS</Text>
|
|
521
|
+
<Text style={styles.heroMetricValue} numberOfLines={1} ellipsizeMode="tail">
|
|
522
|
+
{ipAddress}
|
|
523
|
+
</Text>
|
|
524
|
+
</View>
|
|
525
|
+
<View style={styles.heroMetricDivider}/>
|
|
526
|
+
<View style={styles.heroMetricItem}>
|
|
527
|
+
<Text style={styles.heroMetricLabel} numberOfLines={1} ellipsizeMode="tail">RAM (USED/TOTAL)</Text>
|
|
528
|
+
<Text style={styles.heroMetricValue} numberOfLines={1} ellipsizeMode="tail">
|
|
529
|
+
{usedRamMb}/{totalRamMb} MB
|
|
530
|
+
</Text>
|
|
531
|
+
</View>
|
|
532
|
+
<View style={styles.heroMetricDivider}/>
|
|
533
|
+
<View style={styles.heroMetricItem}>
|
|
534
|
+
<Text style={styles.heroMetricLabel} numberOfLines={1} ellipsizeMode="tail">UPTIME</Text>
|
|
535
|
+
<Text style={styles.heroMetricValue} numberOfLines={1} ellipsizeMode="tail">{deviceUptime}</Text>
|
|
536
|
+
</View>
|
|
436
537
|
</View>
|
|
437
|
-
</View>
|
|
438
|
-
</View>
|
|
538
|
+
</View>)}
|
|
439
539
|
|
|
440
540
|
|
|
441
|
-
{(activeSubTab === 'overview' || search.length > 0) && (<View style={styles.sectionCard}>
|
|
541
|
+
{(activeSubTab === 'overview' || search.length > 0) && hasOverviewMatch && (<View style={styles.sectionCard}>
|
|
442
542
|
<Text style={styles.sectionTitle}>DEVICE OVERVIEW</Text>
|
|
443
|
-
{isMatch('Device Model') && (<InfoRow label="Device Model" value={fullDeviceData.hardware.model}/>)}
|
|
444
|
-
{isMatch('Manufacturer') && (<InfoRow label="Manufacturer / Brand" value={fullDeviceData.hardware.brand}/>)}
|
|
445
|
-
{isMatch('Operating System') && (<InfoRow label="Operating System" value={fullDeviceData.hardware.osVersion} badge={{ text: Platform.OS.toUpperCase(), color: AppColors.blue500, bg: `${AppColors.blue500}18` }}/>)}
|
|
446
|
-
{isMatch('IP Address') && (<InfoRow label="Local IP Address" value={ipAddress} badge={{ text: 'ONLINE', color: AppColors.emerald500, bg: `${AppColors.emerald500}18` }}/>)}
|
|
447
|
-
{isMatch('RAM Memory') && (<InfoRow label="RAM Memory" value={`${usedRamMb} MB / ${totalRamMb} MB (${ramUsagePct}%)`} subtext={`Free Memory: ${freeRamMb} MB`}/>)}
|
|
448
|
-
{isMatch('Storage Capacity') && (<InfoRow label="Internal Storage" value={`${freeStorageGb} GB Free / ${totalStorageGb} GB Total`}/>)}
|
|
449
|
-
{isMatch('App Version') && (<InfoRow label="Host App Version" value={`v${fullDeviceData.runtime.appVersion} (${fullDeviceData.runtime.appBuild})`}/>)}
|
|
450
|
-
{isMatch('JavaScript Engine') && (<InfoRow label="JS Runtime Engine" value={isHermes ? 'Hermes Bytecode Engine' : 'JavaScriptCore (JSC)'} badge={isHermes
|
|
543
|
+
{isMatch('Device Model', fullDeviceData.hardware.model) && (<InfoRow label="Device Model" value={fullDeviceData.hardware.model}/>)}
|
|
544
|
+
{isMatch('Manufacturer', fullDeviceData.hardware.brand) && (<InfoRow label="Manufacturer / Brand" value={fullDeviceData.hardware.brand}/>)}
|
|
545
|
+
{isMatch('Operating System', fullDeviceData.hardware.osVersion) && (<InfoRow label="Operating System" value={fullDeviceData.hardware.osVersion} badge={{ text: Platform.OS.toUpperCase(), color: AppColors.blue500, bg: `${AppColors.blue500}18` }}/>)}
|
|
546
|
+
{isMatch('IP Address', ipAddress) && (<InfoRow label="Local IP Address" value={ipAddress} badge={{ text: 'ONLINE', color: AppColors.emerald500, bg: `${AppColors.emerald500}18` }}/>)}
|
|
547
|
+
{isMatch('RAM Memory', `${usedRamMb} MB / ${totalRamMb} MB (${ramUsagePct}%)`, `Free Memory: ${freeRamMb} MB`) && (<InfoRow label="RAM Memory" value={`${usedRamMb} MB / ${totalRamMb} MB (${ramUsagePct}%)`} subtext={`Free Memory: ${freeRamMb} MB`}/>)}
|
|
548
|
+
{isMatch('Storage Capacity', `${freeStorageGb} GB Free / ${totalStorageGb} GB Total`) && (<InfoRow label="Internal Storage" value={`${freeStorageGb} GB Free / ${totalStorageGb} GB Total`}/>)}
|
|
549
|
+
{isMatch('App Version', `v${fullDeviceData.runtime.appVersion} (${fullDeviceData.runtime.appBuild})`) && (<InfoRow label="Host App Version" value={`v${fullDeviceData.runtime.appVersion} (${fullDeviceData.runtime.appBuild})`}/>)}
|
|
550
|
+
{isMatch('JavaScript Engine', isHermes ? 'Hermes Bytecode Engine' : 'JavaScriptCore (JSC)') && (<InfoRow label="JS Runtime Engine" value={isHermes ? 'Hermes Bytecode Engine' : 'JavaScriptCore (JSC)'} badge={isHermes
|
|
451
551
|
? { text: 'HERMES', color: AppColors.purple, bg: `${AppColors.purple}18` }
|
|
452
552
|
: { text: 'JSC', color: AppColors.sky500, bg: `${AppColors.sky500}18` }}/>)}
|
|
453
|
-
{isMatch('UDID Identifier') && (<InfoRow label="Pseudo-UDID" value={pseudoUDID} isLast/>)}
|
|
553
|
+
{isMatch('UDID Identifier', pseudoUDID) && (<InfoRow label="Pseudo-UDID" value={pseudoUDID} isLast/>)}
|
|
454
554
|
</View>)}
|
|
455
555
|
|
|
456
556
|
|
|
457
|
-
{(activeSubTab === 'hardware' || search.length > 0) && (<View style={styles.sectionCard}>
|
|
557
|
+
{(activeSubTab === 'hardware' || search.length > 0) && hasHardwareMatch && (<View style={styles.sectionCard}>
|
|
458
558
|
<Text style={styles.sectionTitle}>HARDWARE & SYSTEM SPECIFICATIONS</Text>
|
|
459
|
-
{isMatch('CPU Architecture') && (<InfoRow label="CPU Architecture / ABI" value={fullDeviceData.hardware.cpuAbi} badge={{ text: '64-BIT', color: AppColors.purple, bg: `${AppColors.purple}18` }}/>)}
|
|
460
|
-
{isMatch('Total RAM') && (<InfoRow label="Total Physical RAM" value={`${totalRamMb} MB`}/>)}
|
|
461
|
-
{isMatch('Free RAM') && (<InfoRow label="Available Free RAM" value={`${freeRamMb} MB`} badge={{
|
|
559
|
+
{isMatch('CPU Architecture', fullDeviceData.hardware.cpuAbi) && (<InfoRow label="CPU Architecture / ABI" value={fullDeviceData.hardware.cpuAbi} badge={{ text: '64-BIT', color: AppColors.purple, bg: `${AppColors.purple}18` }}/>)}
|
|
560
|
+
{isMatch('Total RAM', `${totalRamMb} MB`) && (<InfoRow label="Total Physical RAM" value={`${totalRamMb} MB`}/>)}
|
|
561
|
+
{isMatch('Free RAM', `${freeRamMb} MB`) && (<InfoRow label="Available Free RAM" value={`${freeRamMb} MB`} badge={{
|
|
462
562
|
text: freeRamMb < 500 ? 'LOW' : 'HEALTHY',
|
|
463
563
|
color: freeRamMb < 500 ? AppColors.errorColor : AppColors.emerald500,
|
|
464
564
|
bg: freeRamMb < 500 ? `${AppColors.errorColor}18` : `${AppColors.emerald500}18`,
|
|
465
565
|
}}/>)}
|
|
466
|
-
{isMatch('Storage Capacity') && (<InfoRow label="Disk Storage Total" value={`${totalStorageGb} GB`}/>)}
|
|
467
|
-
{isMatch('Available Storage') && (<InfoRow label="Disk Storage Available" value={`${freeStorageGb} GB`}/>)}
|
|
468
|
-
{isMatch('Battery') && (<InfoRow label="Battery Level" value={`${deviceMetrics?.batteryPercent ?? 100}%`} badge={{
|
|
566
|
+
{isMatch('Storage Capacity', `${totalStorageGb} GB`) && (<InfoRow label="Disk Storage Total" value={`${totalStorageGb} GB`}/>)}
|
|
567
|
+
{isMatch('Available Storage', `${freeStorageGb} GB`) && (<InfoRow label="Disk Storage Available" value={`${freeStorageGb} GB`}/>)}
|
|
568
|
+
{isMatch('Battery', `${deviceMetrics?.batteryPercent ?? 100}%`) && (<InfoRow label="Battery Level" value={`${deviceMetrics?.batteryPercent ?? 100}%`} badge={{
|
|
469
569
|
text: deviceMetrics?.isCharging ? 'CHARGING' : 'DISCHARGING',
|
|
470
570
|
color: deviceMetrics?.isCharging ? AppColors.emerald500 : AppColors.grayText,
|
|
471
571
|
bg: deviceMetrics?.isCharging ? `${AppColors.emerald500}18` : `${AppColors.grayText}18`,
|
|
472
572
|
}}/>)}
|
|
473
|
-
{isMatch('API Level') && Platform.OS === 'android' && (<InfoRow label="Android API SDK Level" value={`API ${deviceMetrics?.apiLevel || Platform.Version}`}/>)}
|
|
474
|
-
{isMatch('Thermal State') && (<InfoRow label="Thermal State" value="Nominal (Cool)" badge={{ text: 'OPTIMAL', color: AppColors.emerald500, bg: `${AppColors.emerald500}18` }} isLast/>)}
|
|
573
|
+
{isMatch('API Level', `API ${deviceMetrics?.apiLevel || Platform.Version}`) && Platform.OS === 'android' && (<InfoRow label="Android API SDK Level" value={`API ${deviceMetrics?.apiLevel || Platform.Version}`}/>)}
|
|
574
|
+
{isMatch('Thermal State', 'Nominal (Cool)') && (<InfoRow label="Thermal State" value="Nominal (Cool)" badge={{ text: 'OPTIMAL', color: AppColors.emerald500, bg: `${AppColors.emerald500}18` }} isLast/>)}
|
|
475
575
|
</View>)}
|
|
476
576
|
|
|
477
577
|
|
|
478
|
-
{(activeSubTab === 'network' || search.length > 0) && (<View style={styles.sectionCard}>
|
|
578
|
+
{(activeSubTab === 'network' || search.length > 0) && hasNetworkMatch && (<View style={styles.sectionCard}>
|
|
479
579
|
<Text style={styles.sectionTitle}>NETWORK & CONNECTIVITY</Text>
|
|
480
|
-
{isMatch('IP Address') && (<InfoRow label="Local Device IP" value={ipAddress} badge={{ text: 'IPV4', color: AppColors.blue500, bg: `${AppColors.blue500}18` }}/>)}
|
|
481
|
-
{isMatch('Internet Reachability') && (<InfoRow label="Internet Reachability" value="Connected" badge={{ text: 'ONLINE', color: AppColors.emerald500, bg: `${AppColors.emerald500}18` }}/>)}
|
|
482
|
-
{isMatch('Connection Type') && (<InfoRow label="Active Connection Type" value="Wi-Fi / Local Area Network"/>)}
|
|
483
|
-
{isMatch('Metro Dev Server') && (<InfoRow label="Metro Packager Host" value={NativeModules?.PlatformConstants?.serverHost ||
|
|
580
|
+
{isMatch('IP Address', ipAddress) && (<InfoRow label="Local Device IP" value={ipAddress} badge={{ text: 'IPV4', color: AppColors.blue500, bg: `${AppColors.blue500}18` }}/>)}
|
|
581
|
+
{isMatch('Internet Reachability', 'Connected') && (<InfoRow label="Internet Reachability" value="Connected" badge={{ text: 'ONLINE', color: AppColors.emerald500, bg: `${AppColors.emerald500}18` }}/>)}
|
|
582
|
+
{isMatch('Connection Type', 'Wi-Fi / Local Area Network') && (<InfoRow label="Active Connection Type" value="Wi-Fi / Local Area Network"/>)}
|
|
583
|
+
{isMatch('Metro Dev Server', NativeModules?.PlatformConstants?.serverHost || NativeModules?.AndroidConstants?.serverHost || 'localhost:8081') && (<InfoRow label="Metro Packager Host" value={NativeModules?.PlatformConstants?.serverHost ||
|
|
484
584
|
NativeModules?.AndroidConstants?.serverHost ||
|
|
485
585
|
'localhost:8081'}/>)}
|
|
486
|
-
{isMatch('WebSocket Protocol') && (<InfoRow label="WebSocket (WSS) Support" value="Active & Enabled"/>)}
|
|
487
|
-
{isMatch('Network Inspector Interceptor') && (<InfoRow label="Network Interceptor Status" value="Intercepting XHR & Fetch" badge={{ text: 'MONITORING', color: AppColors.purple, bg: `${AppColors.purple}18` }} isLast/>)}
|
|
586
|
+
{isMatch('WebSocket Protocol', 'Active & Enabled') && (<InfoRow label="WebSocket (WSS) Support" value="Active & Enabled"/>)}
|
|
587
|
+
{isMatch('Network Inspector Interceptor', 'Intercepting XHR & Fetch') && (<InfoRow label="Network Interceptor Status" value="Intercepting XHR & Fetch" badge={{ text: 'MONITORING', color: AppColors.purple, bg: `${AppColors.purple}18` }} isLast/>)}
|
|
488
588
|
</View>)}
|
|
489
589
|
|
|
490
590
|
|
|
491
|
-
{(activeSubTab === 'display' || search.length > 0) && (<View style={styles.sectionCard}>
|
|
591
|
+
{(activeSubTab === 'display' || search.length > 0) && hasDisplayMatch && (<View style={styles.sectionCard}>
|
|
492
592
|
<Text style={styles.sectionTitle}>DISPLAY & SCREEN GEOMETRY</Text>
|
|
493
|
-
{isMatch('Window Resolution') && (<InfoRow label="Window Logical Size" value={`${windowDims.width.toFixed(0)} × ${windowDims.height.toFixed(0)} pt`}/>)}
|
|
494
|
-
{isMatch('Screen Physical Size') && (<InfoRow label="Physical Screen Size" value={`${(screenDims.width * pixelRatio).toFixed(0)} × ${(screenDims.height * pixelRatio).toFixed(0)} px`}/>)}
|
|
495
|
-
{isMatch('Pixel Density') && (<InfoRow label="Pixel Ratio (DPI Scale)" value={`@${pixelRatio}x (${Math.round(pixelRatio * 160)} dpi)`} badge={{ text: `@${pixelRatio}x`, color: AppColors.purple, bg: `${AppColors.purple}18` }}/>)}
|
|
496
|
-
{isMatch('Font Scale') && (<InfoRow label="User Font Scale" value={`${fontScale}x (${fontScale === 1 ? 'Default' : fontScale > 1 ? 'Enlarged' : 'Compact'})`}/>)}
|
|
497
|
-
{isMatch('Form Factor') && (<InfoRow label="Device Form Factor" value={isTablet ? 'Tablet' : 'Smartphone'} badge={{
|
|
593
|
+
{isMatch('Window Resolution', `${windowDims.width.toFixed(0)} × ${windowDims.height.toFixed(0)} pt`) && (<InfoRow label="Window Logical Size" value={`${windowDims.width.toFixed(0)} × ${windowDims.height.toFixed(0)} pt`}/>)}
|
|
594
|
+
{isMatch('Screen Physical Size', `${(screenDims.width * pixelRatio).toFixed(0)} × ${(screenDims.height * pixelRatio).toFixed(0)} px`) && (<InfoRow label="Physical Screen Size" value={`${(screenDims.width * pixelRatio).toFixed(0)} × ${(screenDims.height * pixelRatio).toFixed(0)} px`}/>)}
|
|
595
|
+
{isMatch('Pixel Density', `@${pixelRatio}x (${Math.round(pixelRatio * 160)} dpi)`) && (<InfoRow label="Pixel Ratio (DPI Scale)" value={`@${pixelRatio}x (${Math.round(pixelRatio * 160)} dpi)`} badge={{ text: `@${pixelRatio}x`, color: AppColors.purple, bg: `${AppColors.purple}18` }}/>)}
|
|
596
|
+
{isMatch('Font Scale', `${fontScale}x`) && (<InfoRow label="User Font Scale" value={`${fontScale}x (${fontScale === 1 ? 'Default' : fontScale > 1 ? 'Enlarged' : 'Compact'})`}/>)}
|
|
597
|
+
{isMatch('Form Factor', isTablet ? 'Tablet' : 'Smartphone') && (<InfoRow label="Device Form Factor" value={isTablet ? 'Tablet' : 'Smartphone'} badge={{
|
|
498
598
|
text: isTablet ? 'TABLET' : 'PHONE',
|
|
499
599
|
color: isTablet ? AppColors.blue500 : AppColors.purple,
|
|
500
600
|
bg: isTablet ? `${AppColors.blue500}18` : `${AppColors.purple}18`,
|
|
501
601
|
}}/>)}
|
|
502
|
-
{isMatch('Orientation') && (<InfoRow label="Screen Orientation" value={isLandscape ? 'Landscape' : 'Portrait'}/>)}
|
|
503
|
-
{isMatch('Status Bar Height') && (<InfoRow label="Status Bar Inset" value={`${statusBarHeight} pt`} isLast/>)}
|
|
602
|
+
{isMatch('Orientation', isLandscape ? 'Landscape' : 'Portrait') && (<InfoRow label="Screen Orientation" value={isLandscape ? 'Landscape' : 'Portrait'}/>)}
|
|
603
|
+
{isMatch('Status Bar Height', `${statusBarHeight} pt`) && (<InfoRow label="Status Bar Inset" value={`${statusBarHeight} pt`} isLast/>)}
|
|
504
604
|
</View>)}
|
|
505
605
|
|
|
506
606
|
|
|
507
|
-
{(activeSubTab === 'runtime' || search.length > 0) && (<View style={styles.sectionCard}>
|
|
607
|
+
{(activeSubTab === 'runtime' || search.length > 0) && hasRuntimeMatch && (<View style={styles.sectionCard}>
|
|
508
608
|
<Text style={styles.sectionTitle}>RUNTIME & APPLICATION</Text>
|
|
509
|
-
{isMatch('App Name') && (<InfoRow label="Application Name" value={fullDeviceData.runtime.appName}/>)}
|
|
510
|
-
{isMatch('Bundle ID') && (<InfoRow label="Bundle Identifier / Package" value={fullDeviceData.identifiers.bundleId}/>)}
|
|
511
|
-
{isMatch('App Version') && (<InfoRow label="Application Version" value={`v${fullDeviceData.runtime.appVersion} (${fullDeviceData.runtime.appBuild})`}/>)}
|
|
512
|
-
{isMatch('React Native') && (<InfoRow label="React Native Framework" value={`v${reactNativeVersion}`} badge={{ text: 'RN', color: AppColors.sky500, bg: `${AppColors.sky500}18` }}/>)}
|
|
513
|
-
{isMatch('In-App Inspector Version') && (<InfoRow label="In-App Inspector Library" value={`v${LIB_VERSION}`} badge={{ text: 'LATEST', color: AppColors.purple, bg: `${AppColors.purple}18` }}/>)}
|
|
514
|
-
{isMatch('Hermes Engine') && (<InfoRow label="Hermes JavaScript Engine" value={isHermes ? 'Enabled (AOT Bytecode)' : 'Disabled (JSC)'} badge={{
|
|
609
|
+
{isMatch('App Name', fullDeviceData.runtime.appName) && (<InfoRow label="Application Name" value={fullDeviceData.runtime.appName}/>)}
|
|
610
|
+
{isMatch('Bundle ID', fullDeviceData.identifiers.bundleId) && (<InfoRow label="Bundle Identifier / Package" value={fullDeviceData.identifiers.bundleId}/>)}
|
|
611
|
+
{isMatch('App Version', `v${fullDeviceData.runtime.appVersion} (${fullDeviceData.runtime.appBuild})`) && (<InfoRow label="Application Version" value={`v${fullDeviceData.runtime.appVersion} (${fullDeviceData.runtime.appBuild})`}/>)}
|
|
612
|
+
{isMatch('React Native', `v${reactNativeVersion}`) && (<InfoRow label="React Native Framework" value={`v${reactNativeVersion}`} badge={{ text: 'RN', color: AppColors.sky500, bg: `${AppColors.sky500}18` }}/>)}
|
|
613
|
+
{isMatch('In-App Inspector Version', `v${LIB_VERSION}`) && (<InfoRow label="In-App Inspector Library" value={`v${LIB_VERSION}`} badge={{ text: 'LATEST', color: AppColors.purple, bg: `${AppColors.purple}18` }}/>)}
|
|
614
|
+
{isMatch('Hermes Engine', isHermes ? 'Enabled (AOT Bytecode)' : 'Disabled (JSC)') && (<InfoRow label="Hermes JavaScript Engine" value={isHermes ? 'Enabled (AOT Bytecode)' : 'Disabled (JSC)'} badge={{
|
|
515
615
|
text: isHermes ? 'HERMES' : 'JSC',
|
|
516
616
|
color: isHermes ? AppColors.purple : AppColors.grayText,
|
|
517
617
|
bg: isHermes ? `${AppColors.purple}18` : `${AppColors.grayText}18`,
|
|
518
618
|
}}/>)}
|
|
519
|
-
{isMatch('New Architecture') && (<InfoRow label="Bridgeless TurboModules (New Arch)" value={isTurboModule ? 'Enabled' : 'Legacy Bridge'} badge={{
|
|
619
|
+
{isMatch('New Architecture', isTurboModule ? 'Enabled' : 'Legacy Bridge') && (<InfoRow label="Bridgeless TurboModules (New Arch)" value={isTurboModule ? 'Enabled' : 'Legacy Bridge'} badge={{
|
|
520
620
|
text: isTurboModule ? 'NEW ARCH' : 'LEGACY',
|
|
521
621
|
color: isTurboModule ? AppColors.emerald500 : AppColors.blue500,
|
|
522
622
|
bg: isTurboModule ? `${AppColors.emerald500}18` : `${AppColors.blue500}18`,
|
|
523
623
|
}}/>)}
|
|
524
|
-
{isMatch('Build Type') && (<InfoRow label="Build Configuration" value={__DEV__ ? 'Debug (__DEV__ = true)' : 'Release / Production'} badge={{
|
|
624
|
+
{isMatch('Build Type', __DEV__ ? 'Debug (__DEV__ = true)' : 'Release / Production') && (<InfoRow label="Build Configuration" value={__DEV__ ? 'Debug (__DEV__ = true)' : 'Release / Production'} badge={{
|
|
525
625
|
text: __DEV__ ? 'DEBUG' : 'RELEASE',
|
|
526
626
|
color: __DEV__ ? AppColors.warningIconGold : AppColors.emerald500,
|
|
527
627
|
bg: __DEV__ ? `${AppColors.warningIconGold}18` : `${AppColors.emerald500}18`,
|
|
528
628
|
}}/>)}
|
|
529
|
-
{isMatch('Timezone') && (<InfoRow label="System Timezone" value={fullDeviceData.runtime.timezone}/>)}
|
|
530
|
-
{isMatch('Locale') && (<InfoRow label="System Language & Locale" value={fullDeviceData.runtime.locale}/>)}
|
|
531
|
-
{isMatch('Session Uptime') && (<InfoRow label="Inspector Session Uptime" value={deviceUptime} isLast/>)}
|
|
629
|
+
{isMatch('Timezone', fullDeviceData.runtime.timezone) && (<InfoRow label="System Timezone" value={fullDeviceData.runtime.timezone}/>)}
|
|
630
|
+
{isMatch('Locale', fullDeviceData.runtime.locale) && (<InfoRow label="System Language & Locale" value={fullDeviceData.runtime.locale}/>)}
|
|
631
|
+
{isMatch('Session Uptime', deviceUptime) && (<InfoRow label="Inspector Session Uptime" value={deviceUptime} isLast/>)}
|
|
532
632
|
</View>)}
|
|
533
633
|
|
|
534
634
|
|
|
535
|
-
{(activeSubTab === 'security' || search.length > 0) && (<View style={styles.sectionCard}>
|
|
635
|
+
{(activeSubTab === 'security' || search.length > 0) && hasSecurityMatch && (<View style={styles.sectionCard}>
|
|
536
636
|
<Text style={styles.sectionTitle}>DEVICE IDENTIFIERS & SECURITY</Text>
|
|
537
|
-
{isMatch('Pseudo-UDID') && (<InfoRow label="Deterministic Pseudo-UDID" value={pseudoUDID} subtext="Stable hardware signature hash for testing & diagnostics" badge={{ text: 'PERSISTENT', color: AppColors.purple, bg: `${AppColors.purple}18` }}/>)}
|
|
538
|
-
{isMatch('Bundle ID') && (<InfoRow label="Application Bundle ID" value={fullDeviceData.identifiers.bundleId}/>)}
|
|
539
|
-
{isMatch('Root / Jailbreak') && (<InfoRow label="Root / Jailbreak Heuristic" value="Clean (Standard Sandbox)" badge={{ text: 'SECURE', color: AppColors.emerald500, bg: `${AppColors.emerald500}18` }}/>)}
|
|
540
|
-
{isMatch('Simulator / Emulator') && (<InfoRow label="Emulator / Physical Device" value={Platform.constants?.Model?.includes?.('sdk') ||
|
|
637
|
+
{isMatch('Pseudo-UDID', pseudoUDID) && (<InfoRow label="Deterministic Pseudo-UDID" value={pseudoUDID} subtext="Stable hardware signature hash for testing & diagnostics" badge={{ text: 'PERSISTENT', color: AppColors.purple, bg: `${AppColors.purple}18` }}/>)}
|
|
638
|
+
{isMatch('Bundle ID', fullDeviceData.identifiers.bundleId) && (<InfoRow label="Application Bundle ID" value={fullDeviceData.identifiers.bundleId}/>)}
|
|
639
|
+
{isMatch('Root / Jailbreak', 'Clean (Standard Sandbox)') && (<InfoRow label="Root / Jailbreak Heuristic" value="Clean (Standard Sandbox)" badge={{ text: 'SECURE', color: AppColors.emerald500, bg: `${AppColors.emerald500}18` }}/>)}
|
|
640
|
+
{isMatch('Simulator / Emulator', Platform.constants?.Model?.includes?.('sdk') || Platform.constants?.Model?.includes?.('Emulator') || Platform.constants?.Model?.includes?.('Simulator') ? 'Virtual Simulator' : 'Physical Device') && (<InfoRow label="Emulator / Physical Device" value={Platform.constants?.Model?.includes?.('sdk') ||
|
|
541
641
|
Platform.constants?.Model?.includes?.('Emulator') ||
|
|
542
642
|
Platform.constants?.Model?.includes?.('Simulator')
|
|
543
643
|
? 'Virtual Simulator'
|
|
544
644
|
: 'Physical Device'}/>)}
|
|
545
|
-
{isMatch('Sandbox Integrity') && (<InfoRow label="App Sandbox File Isolation" value="Enforced by OS Kernel" isLast/>)}
|
|
645
|
+
{isMatch('Sandbox Integrity', 'Enforced by OS Kernel') && (<InfoRow label="App Sandbox File Isolation" value="Enforced by OS Kernel" isLast/>)}
|
|
546
646
|
</View>)}
|
|
547
647
|
|
|
548
648
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useMemo } from 'react';
|
|
2
|
-
import { Alert, Animated, Linking, Platform, Pressable, ScrollView, Text, useWindowDimensions, View, } from 'react-native';
|
|
2
|
+
import { Alert, Animated, Linking, Platform, Pressable, ScrollView, Text, TouchableOpacity, useWindowDimensions, View, } from 'react-native';
|
|
3
3
|
import LinearGradient from 'react-native-linear-gradient';
|
|
4
4
|
import { useInspector } from './InspectorContext';
|
|
5
5
|
import TouchableScale from '../TouchableScale';
|
|
@@ -764,7 +764,7 @@ const InspectorHeader = React.memo(() => {
|
|
|
764
764
|
<SettingsIcon color={AppColors.white} size={isNarrow ? 12 : 14}/>
|
|
765
765
|
</TouchableScale>)}
|
|
766
766
|
|
|
767
|
-
<
|
|
767
|
+
<TouchableOpacity onPress={closeModal} hitSlop={{ top: 12, bottom: 12, left: 12, right: 12 }} activeOpacity={0.6} style={[
|
|
768
768
|
styles.closeButtonSquare,
|
|
769
769
|
{
|
|
770
770
|
width: buttonSize,
|
|
@@ -773,7 +773,7 @@ const InspectorHeader = React.memo(() => {
|
|
|
773
773
|
},
|
|
774
774
|
]}>
|
|
775
775
|
<CloseWhite size={isNarrow ? 12 : 14}/>
|
|
776
|
-
</
|
|
776
|
+
</TouchableOpacity>
|
|
777
777
|
</View>
|
|
778
778
|
</View>
|
|
779
779
|
</View>
|
|
@@ -26,6 +26,7 @@ import Toast from '../Toast';
|
|
|
26
26
|
import styles from '../../styles';
|
|
27
27
|
import { AppColors } from '../../styles/AppColors';
|
|
28
28
|
import NavigationTracker from './NavigationTracker';
|
|
29
|
+
import { isLocalDebugEnvironment } from '../../helpers';
|
|
29
30
|
const MainScreen = () => {
|
|
30
31
|
const { visible, modalAnimationType, closeModal, modalHeightPercent, selected, selectedEvent, selectedLog, selectedReduxSlice, selectedReduxAction, selectedCrash, settingsPage, activeTab, isReady, enabled, useNativeFab, hasNavigationContext, setNavState, } = useInspector();
|
|
31
32
|
const isDetailActive = (activeTab === 'apis' && selected != null) ||
|
|
@@ -71,18 +72,18 @@ const MainScreen = () => {
|
|
|
71
72
|
enabled &&
|
|
72
73
|
!visible &&
|
|
73
74
|
!useNativeFab && <FabLauncher />}
|
|
74
|
-
<Modal visible={visible} animationType={modalAnimationType} transparent statusBarTranslucent={true}>
|
|
75
|
-
|
|
75
|
+
<Modal visible={visible} animationType={modalAnimationType} transparent statusBarTranslucent={true} onRequestClose={closeModal}>
|
|
76
|
+
<ErrorBoundary onClose={closeModal}>
|
|
76
77
|
<View style={styles.modalBackdrop}>
|
|
77
78
|
<Pressable style={styles.modalBackdropPressable} onPress={closeModal}/>
|
|
78
79
|
<View style={[
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
80
|
+
styles.modalContentCard,
|
|
81
|
+
{
|
|
82
|
+
height: `${modalHeightPercent}%`,
|
|
83
|
+
borderTopLeftRadius: modalHeightPercent >= 100 ? 0 : 20,
|
|
84
|
+
borderTopRightRadius: modalHeightPercent >= 100 ? 0 : 20,
|
|
85
|
+
},
|
|
86
|
+
]}>
|
|
86
87
|
<StatusBar translucent backgroundColor="transparent" barStyle="light-content"/>
|
|
87
88
|
|
|
88
89
|
<InspectorHeader />
|
|
@@ -94,22 +95,22 @@ const MainScreen = () => {
|
|
|
94
95
|
{isReady ? (<View style={{ flex: 1 }}>
|
|
95
96
|
|
|
96
97
|
<Animated.View style={[
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
98
|
+
{
|
|
99
|
+
flex: 1,
|
|
100
|
+
opacity: tabAnim,
|
|
101
|
+
transform: [
|
|
102
|
+
{
|
|
103
|
+
translateY: tabAnim.interpolate({
|
|
104
|
+
inputRange: [0, 1],
|
|
105
|
+
outputRange: [6, 0],
|
|
106
|
+
}),
|
|
107
|
+
},
|
|
108
|
+
],
|
|
109
|
+
},
|
|
110
|
+
(isDetailActive || settingsPage !== null) && {
|
|
111
|
+
pointerEvents: 'none',
|
|
112
|
+
},
|
|
113
|
+
]}>
|
|
113
114
|
{activeTab === 'apis' && <NetworkTab />}
|
|
114
115
|
{activeTab === 'logs' && <ConsoleTab />}
|
|
115
116
|
{activeTab === 'analytics' && <AnalyticsTab />}
|
|
@@ -119,49 +120,51 @@ const MainScreen = () => {
|
|
|
119
120
|
{activeTab === 'crash' && <CrashTab />}
|
|
120
121
|
{activeTab === 'device' && <DeviceInfoTab />}
|
|
121
122
|
{activeTab === 'storage' && <StorageTab />}
|
|
122
|
-
{
|
|
123
|
+
{Platform.OS === 'android' &&
|
|
124
|
+
isLocalDebugEnvironment() &&
|
|
125
|
+
activeTab === 'debugging' && <DebuggingTab />}
|
|
123
126
|
</Animated.View>
|
|
124
127
|
|
|
125
128
|
|
|
126
129
|
{isDetailActive && (<Animated.View style={[
|
|
127
|
-
StyleSheet.absoluteFill,
|
|
128
|
-
{
|
|
129
|
-
backgroundColor: AppColors.contentBg,
|
|
130
|
-
opacity: detailAnim,
|
|
131
|
-
transform: [
|
|
132
|
-
{
|
|
133
|
-
translateX: detailAnim.interpolate({
|
|
134
|
-
inputRange: [0, 1],
|
|
135
|
-
outputRange: [32, 0],
|
|
136
|
-
}),
|
|
137
|
-
},
|
|
138
|
-
],
|
|
139
|
-
},
|
|
140
|
-
]}>
|
|
141
|
-
{activeTab === 'apis' && selected != null && (<NetworkDetail />)}
|
|
142
|
-
{activeTab === 'analytics' && selectedEvent != null && (<AnalyticsDetail event={selectedEvent}/>)}
|
|
143
|
-
{activeTab === 'logs' && selectedLog != null && (<LogDetail />)}
|
|
144
|
-
{activeTab === 'redux' && <ReduxDetail />}
|
|
145
|
-
{activeTab === 'crash' && selectedCrash != null && (<CrashDetail />)}
|
|
146
|
-
</Animated.View>)}
|
|
147
|
-
</View>) : (<MainScreenSkeleton />)}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
{settingsPage !== null && (<Animated.View style={[
|
|
151
130
|
StyleSheet.absoluteFill,
|
|
152
131
|
{
|
|
153
|
-
backgroundColor: AppColors.
|
|
154
|
-
opacity:
|
|
132
|
+
backgroundColor: AppColors.contentBg,
|
|
133
|
+
opacity: detailAnim,
|
|
155
134
|
transform: [
|
|
156
135
|
{
|
|
157
|
-
|
|
136
|
+
translateX: detailAnim.interpolate({
|
|
158
137
|
inputRange: [0, 1],
|
|
159
|
-
outputRange: [
|
|
138
|
+
outputRange: [32, 0],
|
|
160
139
|
}),
|
|
161
140
|
},
|
|
162
141
|
],
|
|
163
142
|
},
|
|
164
143
|
]}>
|
|
144
|
+
{activeTab === 'apis' && selected != null && (<NetworkDetail />)}
|
|
145
|
+
{activeTab === 'analytics' && selectedEvent != null && (<AnalyticsDetail event={selectedEvent}/>)}
|
|
146
|
+
{activeTab === 'logs' && selectedLog != null && (<LogDetail />)}
|
|
147
|
+
{activeTab === 'redux' && <ReduxDetail />}
|
|
148
|
+
{activeTab === 'crash' && selectedCrash != null && (<CrashDetail />)}
|
|
149
|
+
</Animated.View>)}
|
|
150
|
+
</View>) : (<MainScreenSkeleton />)}
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
{settingsPage !== null && (<Animated.View style={[
|
|
154
|
+
StyleSheet.absoluteFill,
|
|
155
|
+
{
|
|
156
|
+
backgroundColor: AppColors.grayBackground,
|
|
157
|
+
opacity: settingsAnim,
|
|
158
|
+
transform: [
|
|
159
|
+
{
|
|
160
|
+
translateY: settingsAnim.interpolate({
|
|
161
|
+
inputRange: [0, 1],
|
|
162
|
+
outputRange: [24, 0],
|
|
163
|
+
}),
|
|
164
|
+
},
|
|
165
|
+
],
|
|
166
|
+
},
|
|
167
|
+
]}>
|
|
165
168
|
<SettingsPanel />
|
|
166
169
|
</Animated.View>)}
|
|
167
170
|
</View>
|
|
@@ -173,7 +176,7 @@ const MainScreen = () => {
|
|
|
173
176
|
<NpmUpdateToast />
|
|
174
177
|
</View>
|
|
175
178
|
</View>
|
|
176
|
-
</ErrorBoundary>
|
|
179
|
+
</ErrorBoundary>
|
|
177
180
|
{hasNavigationContext && (<NavigationTracker onStateChange={setNavState}/>)}
|
|
178
181
|
</Modal>
|
|
179
182
|
</>);
|