void UpdateSignalElements(Model.Sample s) { if (s.ssss == Model.SignalStrengthSampleStatus.Normal) { Screenshot.SignalStrengthSample sss = s.sss.Value; if (sss.netChoice.HasValue) { NetSel = sss.netChoice.Value.ToString("g"); } else { NetSel = "N/A"; } if (sss.detail.HasValue) { Screenshot.SignalDetail sd = sss.detail.Value; ConnectedTo = sd.onWWAN; Bars4G = sd.bars4g.ToString(); Bars3G = sd.bars3g.ToString(); Bars2G = sd.bars2g.ToString(); } else { ConnectedTo = null; NetSel = "N/A"; Bars4G = "N/A"; Bars3G = "N/A"; Bars2G = "N/A"; } if (sss.netChoice.HasValue && sss.detail.HasValue) { ++HashGoodInstances; } else { Debug.WriteLine("Screenshot was unrecognized, but hashes are: sum=" + sss.sumHash + ", det=" + sss.detailHash); hashUnrecogSet.Add(new SSHashes { sumHash = sss.sumHash, detHash = sss.detailHash }); NotifyPropertyChanged("HashUnrecogUnique"); ++HashUnrecogInstances; } } else if (s.ssss == Model.SignalStrengthSampleStatus.TooProximateToPrev) { ++SampleNotCollectedInstances; } else { throw new Exception("Unrecognized screenshot status!"); } }
// *** End of variables tracking screenshot samples *** void SampleAvailable(object sender, Model.Sample s) { UpdateSignalElements(s); UpdateGpsElements(s.gps); UpdateLatencyElements(s.latency); }