public static Task UnregisterProbeAsync(AndroidAccessibilityProbe probe) { lock (_probes) { _probes.Remove(probe); } return(Task.CompletedTask); }
public static async Task RegisterProbeAsync(AndroidAccessibilityProbe probe) { lock (_probes) { if (probe != null && _probes.Contains(probe) == false) { _probes.Add(probe); } } if (IsServiceEnabled() == false) //while (IsServiceEnabled() == false) { bool continueStarting = await SensusContext.Current.MainThreadSynchronizer.ExecuteThreadSafe(async() => { return(await XamarinApp.Current.MainPage.DisplayAlert("Permission Request", "Please enable the Accessibility Service permission for Sensus", "OK", "Cancel")); }); if (continueStarting) { Intent accessibilitySettings = new Intent(Settings.ActionAccessibilitySettings); accessibilitySettings.AddFlags(ActivityFlags.NewTask); Application.Context.StartActivity(accessibilitySettings); //AndroidSensusServiceHelper serviceHelper = SensusServiceHelper.Get() as AndroidSensusServiceHelper; //_cancellationTokenSource = new CancellationTokenSource(); //serviceHelper.WaitForFocus(_cancellationTokenSource.Token); //_cancellationTokenSource.Dispose(); //_cancellationTokenSource = null; } else { probe.Protocol.CancelStart(); return; } } }