Exemple #1
0
  @Override
  public void onStartInputView(EditorInfo editorInfo, boolean restarting) {
    if (restarting) {
      return;
    }

    // The initialCapsMode docs say that you should generally just take a non-zero value to mean
    // "start out in caps mode":
    // http://developer.android.com/reference/android/view/inputmethod/EditorInfo.html#initialCapsMode
    mode.setShifted(editorInfo.initialCapsMode != 0);

    if ((editorInfo.inputType & InputType.TYPE_MASK_CLASS) != InputType.TYPE_CLASS_TEXT) {
      mode.setNumeric();
    }
  }
Exemple #2
0
  @Override
  public View onCreateInputView() {
    popupKeyboardView = new PopupKeyboardView(this);
    popupKeyboardWindow = new PopupWindow(popupKeyboardView);

    view = new ExactypeView(this);
    mode.addModeChangeListener(view);

    feedbackWindow = new FeedbackWindow(this, view);

    vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);

    return view;
  }
Exemple #3
0
  public void onKeyTapped(final char tappedKey) {
    popupKeyboardWindow.dismiss();
    enqueue(
        new Runnable() {
          @Override
          public void run() {
            Timer timer = new Timer();

            final InputConnection inputConnection = getCurrentInputConnection();
            if (inputConnection == null) {
              return;
            }

            inputConnection.commitText(Character.toString(tappedKey), 1);
            Timber.d("PERF: Committing a char took %s", timer);
            LoggingUtils.logCustom(
                new CustomEvent(PERF_EVENT).putCustomAttribute("Commit char ms", timer.getMs()));
          }
        });

    mode.register(ExactypeMode.Event.INSERT_CHAR);
  }
Exemple #4
0
 public void onKeyboardModeSwitchRequested() {
   mode.register(ExactypeMode.Event.NEXT_MODE);
 }
Exemple #5
0
  public void onLongPress(float x, float y) {
    feedbackWindow.show(x, y);

    mode.register(ExactypeMode.Event.LONG_PRESS);
  }