Example #1
0
    private static AndroidJavaObject ToAndroidStackTraceItem(this YandexAppMetricaStackTraceItem self)
    {
        if (self == null)
        {
            return(null);
        }

        AndroidJavaObject stackTraceItem;

        using (AndroidJavaObject builder = new AndroidJavaObject("com.yandex.metrica.plugins.StackTraceItem$Builder"))
        {
            if (self.ClassName != null)
            {
                builder.Call <AndroidJavaObject>("withClassName", self.ClassName);
            }

            if (self.FileName != null)
            {
                builder.Call <AndroidJavaObject>("withFileName", self.FileName);
            }

            if (self.Line != null)
            {
                builder.Call <AndroidJavaObject>("withLine", self.Line.ToAndroidInteger());
            }

            if (self.Column != null)
            {
                builder.Call <AndroidJavaObject>("withColumn", self.Column.ToAndroidInteger());
            }

            if (self.MethodName != null)
            {
                builder.Call <AndroidJavaObject>("withMethodName", self.MethodName);
            }

            stackTraceItem = builder.Call <AndroidJavaObject>("build");
        }

        return(stackTraceItem);
    }
Example #2
0
    private static Hashtable ToHashtable(this YandexAppMetricaStackTraceItem self)
    {
        if (self == null)
        {
            return(null);
        }

        Hashtable data = new Hashtable();

        if (self.ClassName != null)
        {
            data["ClassName"] = self.ClassName;
        }

        if (self.MethodName != null)
        {
            data["MethodName"] = self.MethodName;
        }

        if (self.FileName != null)
        {
            data["FileName"] = self.FileName;
        }

        if (self.Line.HasValue)
        {
            data["Line"] = self.Line.Value;
        }

        if (self.Column.HasValue)
        {
            data["Column"] = self.Column.Value;
        }

        return(data);
    }