Uploaded image for project: 'Titanium SDK/CLI'
  1. Titanium SDK/CLI
  2. TIMOB-23966

Android: Unable to send a feature event with a number as the data objects key

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: Release 6.0.0, Release 5.5.1
    • Fix Version/s: Release 6.0.0
    • Component/s: Android
    • Labels:
    • Environment:

      OS: Microsoft Windows 10 Pro 10.0.14393
      Appc core: 6.0.0-54
      Appc NPM: 4.2.8-7
      Ti SDK: 6.0.0.v20160925202930
      Appc Studio: 4.8.0.201609232005
      Galaxy Note 3 5.0

    • Story Points:
      5
    • Sprint:
      2016 Sprint 20 SDK

      Description

      Description

      When sending a feature event on Android, if a key in the data object is a number an error will be thrown. The code works find on iOS and Windows

      [WARN]  W/System.err: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
      [WARN]  W/System.err:   at org.appcelerator.titanium.util.TiConvert.toJSON(TiConvert.java:723)
      [WARN]  W/System.err:   at ti.modules.titanium.analytics.AnalyticsModule.featureEvent(AnalyticsModule.java:98)
      [WARN]  W/System.err:   at org.appcelerator.kroll.runtime.v8.V8Function.nativeInvoke(Native Method)
      [WARN]  W/System.err:   at org.appcelerator.kroll.runtime.v8.V8Function.callSync(V8Function.java:57)
      [WARN]  W/System.err:   at org.appcelerator.kroll.runtime.v8.V8Function.call(V8Function.java:43)
      [WARN]  W/System.err:   at ti.modules.titanium.TitaniumModule$Timer.run(TitaniumModule.java:147)
      [WARN]  W/System.err:   at android.os.Handler.handleCallback(Handler.java:739)
      [WARN]  W/System.err:   at android.os.Handler.dispatchMessage(Handler.java:95)
      [WARN]  W/System.err:   at android.os.Looper.loop(Looper.java:145)
      [WARN]  W/System.err:   at android.app.ActivityThread.main(ActivityThread.java:5938)
      [WARN]  W/System.err:   at java.lang.reflect.Method.invoke(Native Method)
      [WARN]  W/System.err:   at java.lang.reflect.Method.invoke(Method.java:372)
      [WARN]  W/System.err:   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400)
      [WARN]  W/System.err:   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1195)
      

      var data = {'1':'d'}
      var result = Ti.Analytics.featureEvent('levels', data);
      

      Steps to reproduce
      1. Add the above code to an existing app.js
      2. Build for android
      Actual result

      An error will be thrown

      Expected result

      No error should be thrown

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                gmathews Gary Mathews
                Reporter:
                eharris Ewan Harris
              • Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Backbone Issue Sync

                  • Titanium SDK/CLI <> Titanium Mobile
                    Synced with:
                    TIMOB-10150
                    Sync status:
                    ERROR
                    Last received:
                    Last sent:

                    Git Source Code