194b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng/* 294b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng * Copyright (C) 2011 The Android Open Source Project 394b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng * 494b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng * Licensed under the Apache License, Version 2.0 (the "License"); 594b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng * you may not use this file except in compliance with the License. 694b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng * You may obtain a copy of the License at 794b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng * 894b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng * http://www.apache.org/licenses/LICENSE-2.0 994b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng * 1094b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng * Unless required by applicable law or agreed to in writing, software 1194b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng * distributed under the License is distributed on an "AS IS" BASIS, 1294b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1394b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng * See the License for the specific language governing permissions and 1494b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng * limitations under the License. 1594b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng */ 1694b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng 1794b10b530c0fc297e2974e57e094c500d3ee6003Chiao Chengpackage com.android.dialer.dialpad; 1894b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng 1994b10b530c0fc297e2974e57e094c500d3ee6003Chiao Chengimport android.content.Context; 2094b10b530c0fc297e2974e57e094c500d3ee6003Chiao Chengimport android.graphics.Rect; 2194b10b530c0fc297e2974e57e094c500d3ee6003Chiao Chengimport android.text.InputType; 2294b10b530c0fc297e2974e57e094c500d3ee6003Chiao Chengimport android.util.AttributeSet; 2394b10b530c0fc297e2974e57e094c500d3ee6003Chiao Chengimport android.view.MotionEvent; 2494b10b530c0fc297e2974e57e094c500d3ee6003Chiao Chengimport android.view.inputmethod.InputMethodManager; 2594b10b530c0fc297e2974e57e094c500d3ee6003Chiao Chengimport android.widget.EditText; 2694b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng 2794b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng/** 2894b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng * EditText which suppresses IME show up. 2994b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng */ 3094b10b530c0fc297e2974e57e094c500d3ee6003Chiao Chengpublic class DigitsEditText extends EditText { 3194b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng public DigitsEditText(Context context, AttributeSet attrs) { 3294b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng super(context, attrs); 3394b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng setInputType(getInputType() | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); 3494b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng setShowSoftInputOnFocus(false); 3594b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng } 3694b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng 3794b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng @Override 3894b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) { 3994b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng super.onFocusChanged(focused, direction, previouslyFocusedRect); 4094b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng final InputMethodManager imm = ((InputMethodManager) getContext() 4194b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng .getSystemService(Context.INPUT_METHOD_SERVICE)); 4294b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng if (imm != null && imm.isActive(this)) { 4394b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng imm.hideSoftInputFromWindow(getApplicationWindowToken(), 0); 4494b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng } 4594b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng } 4694b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng 4794b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng @Override 4894b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng public boolean onTouchEvent(MotionEvent event) { 4994b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng final boolean ret = super.onTouchEvent(event); 5094b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng // Must be done after super.onTouchEvent() 5194b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng final InputMethodManager imm = ((InputMethodManager) getContext() 5294b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng .getSystemService(Context.INPUT_METHOD_SERVICE)); 5394b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng if (imm != null && imm.isActive(this)) { 5494b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng imm.hideSoftInputFromWindow(getApplicationWindowToken(), 0); 5594b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng } 5694b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng return ret; 5794b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng } 5894b10b530c0fc297e2974e57e094c500d3ee6003Chiao Cheng} 59