/// <summary> /// 接收事件 /// </summary> /// <param name="autoAccessibilityService">无障碍服务</param> /// <param name="e">无障碍服务事件</param> public void Event(AccessibilityService autoAccessibilityService, AccessibilityEvent e) { /** * TYPE_WINDOW_STATE_CHANGED * 打开popupwindow,菜单,对话框时候会触发 * * TYPE_WINDOWS_CHANGED * 窗口的变化 * * TYPE_WINDOW_CONTENT_CHANGED * 更加精确的代表了基于当前event.source中的子view的内容变化 * * TYPE_NOTIFICATION_STATE_CHANGED * 基本窗口view的变化都可以使用这个type来监听 */ SetLatestComponent(e.PackageName, e.ClassName); }
/// <summary> /// 无障碍服务发送的消息,进行分类处理,这里是处理的通知。 /// </summary> /// <param name="autoAccessibilityService"></param> /// <param name="e"></param> public void Event(AccessibilityService autoAccessibilityService, AccessibilityEvent e) { if (e == null) { return; } if (e.ParcelableData == null) { return; } if (string.IsNullOrWhiteSpace(e.PackageName)) { return; } if (e.ParcelableData is Android.App.Notification notification) { //通知栏操作 AutoGlobal.Instance?.NotificationMonitorEvent?.OnNotification(Node.Notification.Create(notification, e.PackageName)); } else { //当前 autolua 的包名 var appPackageName = AppUtils.GetAppContext?.PackageName ?? string.Empty; if (string.IsNullOrWhiteSpace(appPackageName)) { return; } //toast 是 autolua发出的,不监听。 if (e.PackageName == appPackageName) { return; } if (e.Text.Any()) { var list = e.Text.Select(x => x.ToString()).ToList(); AutoGlobal.Instance?.ToastMonitorEvent?.OnToast(new Toast(e.PackageName, list)); } } }
static void Main() { for (int i = 0; i < 8; i++) { for (int j = 0; j < 8; j++) { IKnightMover knightMover = new KnightMover(); IChessboardService chessboardService = new ChessboardService(); IAccessibilityService accessibilityService = new AccessibilityService(); IMoveChooser moveChooser = new MoveChooser(accessibilityService); IGameController gameController = new GameController(accessibilityService, chessboardService, moveChooser, knightMover); bool isGameWon = gameController.PlayGame(new Point(i, j), isEnabledWaitForUserInput: false); if (!isGameWon) { throw new Exception($"Lost game at starting point ({i}, {j})"); } } } Console.Clear(); Console.WriteLine("Game is won from all starting points, good job!"); }
protected override bool AuthorizeCore(HttpContextBase httpContext) { var usrId = httpContext.User.Identity.GetUserId(); return(AccessibilityService.IsInRole(usrId, roleList)); }
public void Dispose() { _accessibilityService = null; }
public AccessibilityGestureService(AccessibilityService AccessibilityService) { _accessibilityService = AccessibilityService; }