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