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 35c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project public ExtractButton(Context context, AttributeSet attrs, int defStyle) { 36c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project super(context, attrs, defStyle); 37c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project } 38c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project 39c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project /** 40c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project * Pretend like the window this view is in always has focus, so it will 41c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project * highlight when selected. 42c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project */ 43c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project @Override public boolean hasWindowFocus() { 445ee36c48be8d36c5f4025202e8ede561c9ad3abaAdam Powell return isEnabled() && getVisibility() == VISIBLE ? true : false; 45c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project } 46c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project} 47