private static void HandleReachabilitySwitch(string newReachabilityStatusString) { if (newReachabilityStatusString != lastReachabilityStatusString) { if (lastReachabilityStatusString == "None") { // (B) Reporting Gained (2) Breadcrumbs.LeaveReachabilityBreadcrumb( BreadcrumbReachabilityType.Gained, newReachabilityStatusString); } else if (newReachabilityStatusString == "None") { // (B) Reporting Lost (3) Breadcrumbs.LeaveReachabilityBreadcrumb( BreadcrumbReachabilityType.Lost, newReachabilityStatusString); } else { // (C) Reporting Switch (4) Breadcrumbs.LeaveReachabilityBreadcrumb( BreadcrumbReachabilityType.Switch, lastReachabilityStatusString, newReachabilityStatusString); }; lastReachabilityStatusString = newReachabilityStatusString; } ; }
internal static void HandleReachabilityUpDown(string newReachabilityStatusString) { // Checking IndexOf is zero allows "InternetAccess+WiFi" to also match. bool newInternetAccess = (newReachabilityStatusString.IndexOf("InternetAccess") == 0); bool lastInternetAccess = (lastReachabilityStatusString.IndexOf("InternetAccess") == 0); if (newInternetAccess != lastInternetAccess) { // (A) Reporting Up or Down (0 or 1) if (newInternetAccess) { Breadcrumbs.LeaveReachabilityBreadcrumb( BreadcrumbReachabilityType.Up); } else { Breadcrumbs.LeaveReachabilityBreadcrumb( BreadcrumbReachabilityType.Down); }; } ; }