/// <summary>
        /// Handle result when process success
        /// </summary>
        /// <param name="results"></param>
        private void ProcessSuccess(IList <MLSkeleton> results)
        {
            graphicOverlay.Clear();
            SkeletonGraphic skeletonGraphic = new SkeletonGraphic(graphicOverlay, results);

            graphicOverlay.Add(skeletonGraphic);
        }
        public void TransactResult(MLAnalyzer.Result result)
        {
            this.mGraphicOverlay.Clear();

            SparseArray       sparseArray = result.AnalyseList;
            List <MLSkeleton> list        = new List <MLSkeleton>();

            for (int i = 0; i < sparseArray.Size(); i++)
            {
                list.Add((MLSkeleton)sparseArray.ValueAt(i));
            }
            // Remove invalid point.
            List <MLSkeleton> skeletons = SkeletonUtils.GetValidSkeletons(list);
            SkeletonGraphic   graphic   = new SkeletonGraphic(this.mGraphicOverlay, skeletons);

            this.mGraphicOverlay.Add(graphic);

            if (mActivity != null && !mActivity.IsFinishing)
            {
                mActivity.CompareSimilarity(skeletons);
            }
        }