Пример #1
0
  @Override
  public void setKeyboardFocus(final View view) {
    if (view == null) {
      return;
    }

    final FocusManager currentFocusManager = keyboardManager.getFocusManager();
    if (currentFocusManager != null
        && currentFocusManager.getFocus() != null
        && currentFocusManager.getFocus().getParent() != null) {
      currentFocusManager.getFocus().getParent().markDamaged();
    }

    if (currentFocusManager != null) {
      final View currentFocus = currentFocusManager.getFocus();
      if (currentFocus != null && currentFocus != view) {
        currentFocus.focusLost();
      }
    }

    final FocusManager focusManager = view.getFocusManager();
    if (focusManager != null) {
      focusManager.setFocus(view);
      if (view.getParent() != null) {
        view.getParent().markDamaged();
      }
    }
    if (focusManager == null) {
      LOG.warn("No focus manager for " + view);
    } else {
      keyboardManager.setFocusManager(focusManager);
    }
  }
Пример #2
0
 @Override
 public boolean hasFocus(final View view) {
   final FocusManager focusManager = keyboardManager.getFocusManager();
   return focusManager != null && focusManager.getFocus() == view;
 }
Пример #3
0
 private FocusManager getFocusManager() {
   return overlayView == CLEAR_OVERLAY
       ? keyboardManager.getFocusManager()
       : overlayView.getFocusManager();
 }