115a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root/* 215a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * Copyright (C) 2009 The Android Open Source Project 315a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * 415a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * Licensed under the Apache License, Version 2.0 (the "License"); 515a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * you may not use this file except in compliance with the License. 615a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * You may obtain a copy of the License at 715a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * 815a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * http://www.apache.org/licenses/LICENSE-2.0 915a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * 1015a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * Unless required by applicable law or agreed to in writing, software 1115a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * distributed under the License is distributed on an "AS IS" BASIS, 1215a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1315a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * See the License for the specific language governing permissions and 1415a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * limitations under the License. 1515a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root */ 1615a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root 17c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Projectpackage android.inputmethodservice; 18c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project 19c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Projectimport android.content.Context; 20c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Projectimport android.util.AttributeSet; 21c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Projectimport android.widget.Button; 22c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project 2315a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root/** 24c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project * Specialization of {@link Button} that ignores the window not being focused. 25c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project */ 26c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Projectclass ExtractButton extends Button { 27c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project public ExtractButton(Context context) { 28c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project super(context, null); 29c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project } 30c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project 31c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project public ExtractButton(Context context, AttributeSet attrs) { 32c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project super(context, attrs, com.android.internal.R.attr.buttonStyle); 33c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project } 34c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project 35617feb99a06e7ffb3894e86a286bf30e085f321aAlan Viverette public ExtractButton(Context context, AttributeSet attrs, int defStyleAttr) { 36617feb99a06e7ffb3894e86a286bf30e085f321aAlan Viverette this(context, attrs, defStyleAttr, 0); 37617feb99a06e7ffb3894e86a286bf30e085f321aAlan Viverette } 38617feb99a06e7ffb3894e86a286bf30e085f321aAlan Viverette 39617feb99a06e7ffb3894e86a286bf30e085f321aAlan Viverette public ExtractButton(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { 40617feb99a06e7ffb3894e86a286bf30e085f321aAlan Viverette super(context, attrs, defStyleAttr, defStyleRes); 41c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project } 42c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project 43c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project /** 44c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project * Pretend like the window this view is in always has focus, so it will 45c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project * highlight when selected. 46c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project */ 47c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project @Override public boolean hasWindowFocus() { 485ee36c48be8d36c5f4025202e8ede561c9ad3abaAdam Powell return isEnabled() && getVisibility() == VISIBLE ? true : false; 49c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project } 50c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project} 51