diff options
| author | Jorge Ruesga <jorge@ruesga.com> | 2015-08-14 23:47:10 +0200 |
|---|---|---|
| committer | LorDClockaN <davor@losinj.com> | 2015-08-15 22:37:44 +0200 |
| commit | 9c4caac759c00c76207dbcdaf960e877255a1f51 (patch) | |
| tree | 492228c7049c6c5e9637ccdcb5d892afa541cc21 | |
| parent | bbd654f9b68ff57590a1e9fcfbc99af256aebec0 (diff) | |
Mms: fix keyboard hiding
Hide the keyboard only if we are in a recent touch state. This avoid to perform
scrolling detection in cases where the user even doesn't touch the listview
Change-Id: Ia201482928fd690fcccdd9113bbd909f140de99a
JIRA: NIGHTLIES-1673
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
| -rw-r--r-- | src/com/android/mms/ui/ComposeMessageActivity.java | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/com/android/mms/ui/ComposeMessageActivity.java b/src/com/android/mms/ui/ComposeMessageActivity.java index dd517ea8..501f0b7f 100644 --- a/src/com/android/mms/ui/ComposeMessageActivity.java +++ b/src/com/android/mms/ui/ComposeMessageActivity.java @@ -122,9 +122,11 @@ import android.view.KeyEvent; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; +import android.view.MotionEvent; import android.view.View; import android.view.View.OnCreateContextMenuListener; import android.view.View.OnKeyListener; +import android.view.View.OnTouchListener; import android.view.ViewStub; import android.view.WindowManager; import android.view.inputmethod.InputMethodManager; @@ -375,6 +377,8 @@ public class ComposeMessageActivity extends Activity private MessageListView mMsgListView; // ListView for messages in this conversation public MessageListAdapter mMsgListAdapter; // and its corresponding ListAdapter + private long mLastMessageListTouched; + private static final long MINIMUM_TOUCH_DELTA_TIME_TO_HIDE_KB = 200L; private RecipientsEditor mRecipientsEditor; // UI control for editing recipients private View mRecipientsSelector; // UI control for recipients selector @@ -4457,12 +4461,21 @@ public class ComposeMessageActivity extends Activity } } }); + mMsgListView.setOnTouchListener(new OnTouchListener() { + @Override + public boolean onTouch(View v, MotionEvent event) { + mLastMessageListTouched = System.currentTimeMillis(); + return false; + } + }); mMsgListView.setOnScrollListener(new AbsListView.OnScrollListener() { private boolean scrolling = false; @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { - if (mIsKeyboardOpen && scrolling) { + boolean inTouchState = (System.currentTimeMillis() - mLastMessageListTouched) + < MINIMUM_TOUCH_DELTA_TIME_TO_HIDE_KB; + if (mIsKeyboardOpen && scrolling && inTouchState) { final int first = mMsgListView.getFirstVisiblePosition(); final int last = mMsgListView.getLastVisiblePosition(); final int count = mMsgListAdapter.getCount(); |
