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