/**
   * Create an instance.
   *
   * @param context A {@link Context}.
   * @param service An interface to the backing service.
   * @hide
   */
  public AccessibilityManager(Context context, IAccessibilityManager service) {
    mHandler = new MyHandler(context.getMainLooper());
    mService = service;

    try {
      final int stateFlags = mService.addClient(mClient);
      setState(stateFlags);
    } catch (RemoteException re) {
      Log.e(LOG_TAG, "AccessibilityManagerService is dead", re);
    }
  }
  private void tryConnectToServiceLocked(IAccessibilityManager service) {
    if (service == null) {
      IBinder iBinder = ServiceManager.getService(Context.ACCESSIBILITY_SERVICE);
      if (iBinder == null) {
        return;
      }
      service = IAccessibilityManager.Stub.asInterface(iBinder);
    }

    try {
      final int stateFlags = service.addClient(mClient, mUserId);
      setStateLocked(stateFlags);
      mService = service;
    } catch (RemoteException re) {
      Log.e(LOG_TAG, "AccessibilityManagerService is dead", re);
    }
  }