public override void OnReceive(Context context, Intent intent)
        {
            if (intent != null)
            {
                string action = intent.Action;
                if (ActionProcessActivity == action)
                {
                    if (ActivityIdentificationResponse.ContainDataFromIntent(intent))
                    {
                        ActivityIdentificationResponse activityIdResult = ActivityIdentificationResponse.GetDataFromIntent(intent);
                        if (activityIdResult != null)
                        {
                            MainActivity.SetData(activityIdResult);
                        }
                    }

                    if (ActivityConversionResponse.ContainDataFromIntent(intent))
                    {
                        ActivityConversionResponse activityConversionResponse = ActivityConversionResponse.GetDataFromIntent(intent);
                        if (activityConversionResponse != null)
                        {
                            List <ActivityConversionData> activityConversionDatas = activityConversionResponse.ActivityConversionDatas.ToList();
                            ActivityConversionActivity.SetData(activityConversionDatas);
                        }
                    }
                }
            }
        }
Exemple #2
0
        public void Info(string tag, string msg, ActivityIdentificationResponse response)
        {
            string additionText = msg;

            additionText += "\nActivityIdentificationDatas:";
            foreach (var item in response.ActivityIdentificationDatas)
            {
                additionText += $"\n{item.AIDToString()}";
            }
            Info(tag, additionText);
        }
Exemple #3
0
        public override void onReceive(Context arg0, Intent arg1)
        {
            TestTip.Inst.ShowText("LocationBroadcast onReceive");
            string s = "data";

            ActivityConversionResponse activityTransitionResult = ActivityConversionResponse.getDataFromIntent(arg1);

            if (activityTransitionResult != null && isListenActivityConversion == true)
            {
                List list = activityTransitionResult.getActivityConversionDatas();
                AndroidJavaObject[] obj = list.toArray();
                for (int i = 0; i < obj.Length; i++)
                {
                    ActivityConversionData d = HmsUtil.GetHmsBase <ActivityConversionData>(obj[i]);
                    s += $"activityTransitionEvent[{i}]:" +
                         $"active type: {d.getActivityType()} " +
                         $"active ConversionType: {d.getConversionType()} ";
                }
            }

            if (LocationResult.hasResult(arg1))
            {
                s += "\n";
                LocationResult      locationResult = LocationResult.extractResult(arg1);
                List                ls             = locationResult.getLocations();
                AndroidJavaObject[] obj            = ls.toArray();
                for (int i = 0; i < obj.Length; i++)
                {
                    Location loc = HmsUtil.GetHmsBase <Location>(obj[i]);
                    s += "onLocationResult location[Longitude,Latitude,Accuracy]:" + loc.getLongitude()
                         + "," + loc.getLatitude() + "," + loc.getAccuracy() + "\n";
                }
            }
            ActivityIdentificationResponse activityRecognitionResult = ActivityIdentificationResponse.getDataFromIntent(arg1);

            if (activityEnabled && activityRecognitionResult.obj != null)
            {
                s += "\n";
                List list = activityRecognitionResult.getActivityIdentificationDatas();
                AndroidJavaObject[] obj = list.toArray();
                s += obj.Length.ToString() + "\n";
                for (int i = 0; i < obj.Length; i++)
                {
                    ActivityIdentificationData d = HmsUtil.GetHmsBase <ActivityIdentificationData>(obj[i]);
                    int type  = d.getIdentificationActivity();
                    int value = d.getPossibility();
                    s += "ActivityIdentificationResponse [type,value]:" + type + "," + value + "\n";
                }
            }
            TestTip.Inst.ShowText(s);
        }
        internal static void SetData(ActivityIdentificationResponse activityIdentificationResponse)
        {
            //Most Probable
            ActivityTypeRowModel itemDetail = activityIdentificationResponse.MostActivityIdentification.IdentificationActivity.ToActivityType();

            imgActivityType.SetImageResource(itemDetail.Image);
            txtActivityType.Text = itemDetail.Name.ToUpper() + " \n " + "Time: " + activityIdentificationResponse.Time.UnixTimeStampToDateTime() + " \n " + "Possibility: " + "%" + activityIdentificationResponse.MostActivityIdentification.Possibility;


            //Detected Activities
            List <ActivityIdentificationData> activityIdDatas = activityIdentificationResponse.ActivityIdentificationDatas.ToList();

            if (lstDetectedActivities.Adapter != null && lstDetectedActivities.Adapter.Count > 0)
            {
                var currentItems = ((DetectedActivityAdapter)lstDetectedActivities.Adapter).GetAllItems();
                currentItems.AddRange(activityIdDatas);
                lstDetectedActivities.Adapter = new DetectedActivityAdapter(act, currentItems);
            }
            else
            {
                lstDetectedActivities.Adapter = new DetectedActivityAdapter(act, activityIdDatas);
            }
            ((DetectedActivityAdapter)lstDetectedActivities.Adapter).NotifyDataSetChanged();
        }
        public override void OnReceive(Context context, Intent intent)
        {
            string Tag = "RequestLocationUpdatesWithIntent";

            if (intent == null)
            {
                return;
            }
            string action = intent.Action;

            if (ActionProcessLocation != action)
            {
                return;
            }

            log = Logger.Instance;

            string logMessage = string.Empty;

            ActivityConversionResponse activityConversionResponse = ActivityConversionResponse.GetDataFromIntent(intent);

            if (activityConversionResponse != null && IsListenActivityConversion)
            {
                List <ActivityConversionData> list = activityConversionResponse.ActivityConversionDatas.ToList();
                for (int i = 0; i < list.Count; i++)
                {
                    log.Info(Tag, $"ActivityConversionEvent[{i}]\n{list[i].ACDToString()}");
                }
            }

            ActivityIdentificationResponse activityIdentificationResponse = ActivityIdentificationResponse.GetDataFromIntent(intent);

            if (activityIdentificationResponse != null && IsListenActivityIdentification)
            {
                log.Info(Tag, "activityIdentificationResponse:", activityIdentificationResponse);
                //List<ActivityIdentificationData> list = activityIdentificationResponse.ActivityIdentificationDatas.ToList();
                //log.Info("ActivityIdentification",);
            }
            if (LocationResult.HasResult(intent))
            {
                LocationResult result = LocationResult.ExtractResult(intent);
                if (result != null)
                {
                    List <Location> locations = result.Locations.ToList();
                    if (locations.Count > 0)
                    {
                        logMessage += "[Longitude,Latitude,Accuracy]:";
                        foreach (Location location in locations)
                        {
                            logMessage += $"{System.Environment.NewLine}{location.Longitude}, {location.Latitude}, {location.Accuracy}";
                        }
                    }
                }
            }

            //Processing LocationAvailability information
            if (LocationAvailability.HasLocationAvailability(intent))
            {
                LocationAvailability locationAvailability =
                    LocationAvailability.ExtractLocationAvailability(intent);
                if (locationAvailability != null)
                {
                    logMessage += $"[locationAvailability]: {locationAvailability.IsLocationAvailable}";
                }
            }

            if (logMessage != string.Empty && log != null)
            {
                log.Info(Tag, logMessage);
            }
        }