/// <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));
                }
            }
        }
Beispiel #3
0
        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!");
        }
Beispiel #4
0
        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;
 }