Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 654f1b31 authored by Tony Wickham's avatar Tony Wickham Committed by android-build-merger
Browse files

Merge "Change widget host view background when giving focus to child." into...

Merge "Change widget host view background when giving focus to child." into ub-launcher3-burnaby-polish
am: 4df16533

* commit '4df16533':
  Change widget host view background when giving focus to child.
parents 7c50b31f 4df16533
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2015, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
**     http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->

<!-- Used as the widget host view background when giving focus to a child via keyboard. -->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true">
        <shape android:shape="rectangle">
            <stroke android:color="#fff" android:width="2dp" />
        </shape>
    </item>
</selector>
 No newline at end of file
+9 −4
Original line number Diff line number Diff line
@@ -58,6 +58,8 @@ public class LauncherAppWidgetHostView extends AppWidgetHostView implements Touc
        mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        mDragLayer = ((Launcher) context).getDragLayer();
        setAccessibilityDelegate(LauncherAppState.getInstance().getAccessibilityDelegate());

        setBackgroundResource(R.drawable.widget_internal_focus_bg);
    }

    @Override
@@ -242,6 +244,7 @@ public class LauncherAppWidgetHostView extends AppWidgetHostView implements Touc
    protected void onFocusChanged(boolean gainFocus, int direction, Rect previouslyFocusedRect) {
        if (gainFocus) {
            mChildrenFocused = false;
            dispatchChildFocus(false);
        }
        super.onFocusChanged(gainFocus, direction, previouslyFocusedRect);
    }
@@ -250,6 +253,9 @@ public class LauncherAppWidgetHostView extends AppWidgetHostView implements Touc
    public void requestChildFocus(View child, View focused) {
        super.requestChildFocus(child, focused);
        dispatchChildFocus(focused != null);
        if (focused != null) {
            focused.setFocusableInTouchMode(false);
        }
    }

    @Override
@@ -263,10 +269,9 @@ public class LauncherAppWidgetHostView extends AppWidgetHostView implements Touc
        return mChildrenFocused;
    }

    private void dispatchChildFocus(boolean focused) {
        if (getOnFocusChangeListener() != null) {
            getOnFocusChangeListener().onFocusChange(this, focused || isFocused());
        }
    private void dispatchChildFocus(boolean childIsFocused) {
        // The host view's background changes when selected, to indicate the focus is inside.
        setSelected(childIsFocused);
    }

    @Override