* #30591: key event hooked, sent to daemon
diff --git a/src/com/savoirfairelinux/sflphone/fragments/DialingFragment.java b/src/com/savoirfairelinux/sflphone/fragments/DialingFragment.java
index 2e3b030..94d9270 100644
--- a/src/com/savoirfairelinux/sflphone/fragments/DialingFragment.java
+++ b/src/com/savoirfairelinux/sflphone/fragments/DialingFragment.java
@@ -35,10 +35,14 @@
import android.app.Fragment;
import android.content.Context;
import android.os.Bundle;
+import android.os.RemoteException;
+import android.util.Log;
+import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
+import android.view.View.OnKeyListener;
import android.view.View.OnTouchListener;
import android.view.ViewGroup;
import android.view.inputmethod.EditorInfo;
@@ -151,9 +155,31 @@
@Override
public void onResume() {
super.onResume();
+ textField.setOnKeyListener(dtmfKeyListener);
}
@Override
+ public void onPause() {
+ super.onPause();
+ textField.setOnKeyListener(null);
+ }
+
+ OnKeyListener dtmfKeyListener = new OnKeyListener() {
+
+ @Override
+ public boolean onKey(View v, int keyCode, KeyEvent event) {
+ if (event.getAction() == KeyEvent.ACTION_UP) {
+ try {
+ mCallbacks.getService().playDtmf(KeyEvent.keyCodeToString(keyCode));
+ } catch (RemoteException e) {
+ e.printStackTrace();
+ }
+ }
+ return false;
+ }
+ };
+
+ @Override
public void onStart() {
super.onStart();
}