From 84da207455469338abdafb9b2c77198b1c40d04c Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 2 Aug 2012 10:28:42 +0200 Subject: [PATCH] Fix numpad hiding while sending dtmfs --- src/org/linphone/InCallActivity.java | 16 ++++++++++++++++ src/org/linphone/ui/Digit.java | 5 +++++ 2 files changed, 21 insertions(+) diff --git a/src/org/linphone/InCallActivity.java b/src/org/linphone/InCallActivity.java index 7f87fab8d..d1704ba0b 100644 --- a/src/org/linphone/InCallActivity.java +++ b/src/org/linphone/InCallActivity.java @@ -55,6 +55,7 @@ public class InCallActivity extends FragmentActivity implements OnClickListener { private final static int SECONDS_BEFORE_HIDING_CONTROLS = 3000; + private static InCallActivity instance = null; private Handler mHandler = new Handler(); private Handler controlsHandler = new Handler(); private Runnable mControls; @@ -66,9 +67,18 @@ public class InCallActivity extends FragmentActivity implements private LinearLayout mControlsLayout; private Numpad numpad; + public static InCallActivity instance() { + return instance; + } + + public static boolean isInstanciated() { + return instance != null; + } + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + instance = this; setContentView(R.layout.incall); isVideoEnabled = getIntent().getExtras() != null && getIntent().getExtras().getBoolean("VideoEnabled"); @@ -634,6 +644,12 @@ public class InCallActivity extends FragmentActivity implements super.onPause(); } + @Override + protected void onDestroy() { + instance = null; + super.onDestroy(); + } + @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (LinphoneUtils.onKeyVolumeAdjust(keyCode)) return true; diff --git a/src/org/linphone/ui/Digit.java b/src/org/linphone/ui/Digit.java index 4535583b5..b2846470a 100644 --- a/src/org/linphone/ui/Digit.java +++ b/src/org/linphone/ui/Digit.java @@ -18,6 +18,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package org.linphone.ui; +import org.linphone.InCallActivity; import org.linphone.LinphoneManager; import org.linphone.LinphoneService; import org.linphone.R; @@ -119,6 +120,10 @@ public class Digit extends Button implements AddressAware { if (!mPlayDtmf) return false; if (!linphoneServiceReady()) return true; + if (InCallActivity.isInstanciated()) { + InCallActivity.instance().resetControlsHidingCallBack(); + } + LinphoneCore lc = LinphoneManager.getLc(); if (event.getAction() == MotionEvent.ACTION_DOWN && !mIsDtmfStarted) { LinphoneManager.getInstance().playDtmf(getContext().getContentResolver(), mKeyCode);