package com.uidef.edit; import android.app.NativeActivity; import android.os.Bundle; import android.view.KeyEvent; import android.view.inputmethod.InputMethodManager; import android.content.Context; import java.util.LinkedList; import java.util.Queue; public class DebugActivity extends NativeActivity { private Queue mQueuedUnicodeChars = new LinkedList<>(); static { System.loadLibrary("uidef-tool"); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override public boolean dispatchKeyEvent(KeyEvent event) { if (event.getAction() == KeyEvent.ACTION_DOWN) { int unicodeChar = event.getUnicodeChar(); if (unicodeChar != 0) mQueuedUnicodeChars.add(unicodeChar); } return super.dispatchKeyEvent(event); } public void showSoftInput() { InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(getWindow().getDecorView(), 0); } public int pollUnicodeChar() { Integer c = mQueuedUnicodeChars.poll(); return c != null ? c : 0; } public native String nativeDiagnostic(String dataDir); }