Enum ScreenName

  • All Implemented Interfaces:
    java.io.Serializable , kotlin.Comparable

    
    public enum ScreenName
    extends Enum<ScreenName>
                        

    Identifies a screen within the Incode SDK for analytics and event reporting.

    Wire format. Legacy entries emit their constant name verbatim in ALL_CAPS_SNAKE_CASE and are frozen by contract - BI dashboards depend on the exact string, so do not rename them. New entries pass an explicit dotted wire string as a plain literal, e.g. UXV2_FACE_CAPTURE_TUTORIAL("faceCapture.tutorial"). Literals are used so the wire string can be grepped directly from a dashboard hit; ScreenNameTest guards against typos in the module prefix.

    Always emit analyticsName. Never route .name, toString(), or "$screen" to analytics - they return the Kotlin constant identifier, which is not the wire string for UXv2 entries. Enforced by ScreenNameAnalyticsLintTest.

    • Constructor Detail

    • Method Detail

      • values

         final Array<ScreenName> values()

        Returns an array containing the constants of this enum type, in the order they're declared.

        This method may be used to iterate over the constants.

      • valueOf

         final ScreenName valueOf(String value)

        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

      • getAnalyticsName

         final String getAnalyticsName()

        Analytics wire value for this screen. This is the only string that should be emitted to analytics - prefer it over Enum.name, which would emit the Kotlin constant identifier and break the wire contract for UXv2 entries.

        • For legacy entries (no wireName supplied), this equals the enum name.

        • For UXv2 entries, this is the explicit dotted wire string supplied at construction, e.g. "faceCapture.tutorial".