Skip to content

v1.0.1

Choose a tag to compare

@sh3lan93 sh3lan93 released this 03 Oct 19:56
· 6 commits to main since this release
ef2b57e

馃殌 Features

  • Introduce TrackScreenOnce composable for reliable screen tracking

    • New helper composable that wraps tracking calls in LaunchedEffect(Unit)
    • Guarantees single execution even during multiple recompositions
    • Includes comprehensive instrumented tests to verify behavior
  • Introduce TrackScreenHelper for ASM-injected code

    • Simplifies ASM bytecode generation for Activity/Fragment tracking
    • Replaces ~50 lines of complex bytecode with a simple static method call
    • Handles parameter collection from TrackedScreenParamsProvider
    • Reduces stack size requirements and improves maintainability

馃殰 Refactoring

  • Use TrackScreenOnce for Composable screen tracking

    • ASM bytecode injection now calls TrackScreenOnce() instead of direct tracking
    • Prevents duplicate events on recomposition
  • Simplify tracking method injection with a helper class

    • For Activities/Fragments: Now injects call to TrackScreenHelper.trackScreen()
    • Removed complex inline parameter collection bytecode
  • Remove unused variables and code cleanup

    • Removed unused variables in AnalyticsClassVisitorFactory
    • Removed unused class properties in AnalyticsClassVisitor
  • Relocate TrackingAnnotationInfo and remove AnnotationScanner

    • Extracted TrackingAnnotationInfo into its own file for better separation of concerns

馃摎 Documentation

  • Add extensive KDoc documentation to AnalyticsClassVisitorFactory
    • Documented all public and internal APIs
    • Explained the two-pass transformation strategy
    • Added detailed documentation for all visitor classes and helper methods