/**
   * Begin edit text.
   *
   * @param view the view
   */
  private void beginEditText(final DrawableHighlightView view) {
    mLogger.info("beginEditText", view);

    EditText editText = null;

    if (view == topHv) {
      editText = editTopText;
    } else if (view == bottomHv) {
      editText = editBottomText;
    }

    if (editText != null) {
      mEditTextWatcher.view = null;
      editText.removeTextChangedListener(mEditTextWatcher);

      final EditableDrawable editable = (EditableDrawable) view.getContent();
      final String oldText = (String) editable.getText();
      editText.setText(oldText);
      editText.setSelection(editText.length());
      editText.setImeOptions(EditorInfo.IME_ACTION_DONE);
      editText.requestFocusFromTouch();

      Handler handler = new Handler();
      ResultReceiver receiver = new ResultReceiver(handler);

      if (!mInputManager.showSoftInput(editText, 0, receiver)) {
        mInputManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0); // TODO: verify
      }

      mEditTextWatcher.view = view;
      editText.setOnEditorActionListener(this);
      editText.addTextChangedListener(mEditTextWatcher);

      ((ImageViewDrawableOverlay) mImageView).setSelectedHighlightView(view);
      ((EditableDrawable) view.getContent())
          .setText(((EditableDrawable) view.getContent()).getText());
      view.forceUpdate();
    }
  }
  /**
   * End edit text.
   *
   * @param view the view
   */
  private void endEditText(final DrawableHighlightView view) {

    mLogger.info("endEditText", view);

    mEditTextWatcher.view = null;
    EditText editText = null;

    if (view == topHv) editText = editTopText;
    else if (view == bottomHv) editText = editBottomText;

    if (editText != null) {
      editText.removeTextChangedListener(mEditTextWatcher);

      if (mInputManager.isActive(editText)) {
        mInputManager.hideSoftInputFromWindow(editText.getWindowToken(), 0);
      }
      editText.clearFocus();
    }

    // this will send the focus to the bottom panel
    // but also creating a bad visual effect
    // mOptionView.requestFocus();
  }