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

Commit dc222847 authored by Aaron Heuckroth's avatar Aaron Heuckroth Committed by Android (Google) Code Review
Browse files

Merge "Add GlobalActionsColumnLayout to replace HardwareUILayout." into qt-dev

parents ef4ddd12 e2d92ace
Loading
Loading
Loading
Loading
+68 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2019 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
  -->

<com.android.systemui.globalactions.GlobalActionsColumnLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@id/global_actions_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:clipToPadding="false"
    android:theme="@style/qs_theme"
    android:gravity="center_horizontal | top"
    android:clipChildren="false"
>
    <LinearLayout
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:padding="0dp"
        android:orientation="horizontal"
        android:clipChildren="false"
        android:clipToPadding="false"
    >
        <!-- Grid of action items -->
        <LinearLayout
            android:id="@android:id/list"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:layout_marginTop="@dimen/global_actions_grid_side_margin"
            android:translationZ="@dimen/global_actions_translate"
            android:paddingLeft="@dimen/global_actions_grid_horizontal_padding"
            android:paddingRight="@dimen/global_actions_grid_horizontal_padding"
            android:paddingTop="@dimen/global_actions_grid_vertical_padding"
            android:paddingBottom="@dimen/global_actions_grid_vertical_padding"
            android:background="?android:attr/colorBackgroundFloating"
        />
        <!-- For separated items-->
        <LinearLayout
            android:id="@+id/separated_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="@dimen/global_actions_grid_side_margin"
            android:layout_marginTop="@dimen/global_actions_grid_side_margin"
            android:paddingLeft="@dimen/global_actions_grid_horizontal_padding"
            android:paddingRight="@dimen/global_actions_grid_horizontal_padding"
            android:paddingTop="@dimen/global_actions_grid_vertical_padding"
            android:paddingBottom="@dimen/global_actions_grid_vertical_padding"
            android:orientation="horizontal"
            android:background="?android:attr/colorBackgroundFloating"
            android:translationZ="@dimen/global_actions_translate"
        />
    </LinearLayout>

</com.android.systemui.globalactions.GlobalActionsColumnLayout>
+68 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2019 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
  -->

<com.android.systemui.globalactions.GlobalActionsColumnLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@id/global_actions_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:clipToPadding="false"
    android:theme="@style/qs_theme"
    android:gravity="center_horizontal | bottom"
    android:clipChildren="false"
>
    <LinearLayout
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:padding="0dp"
        android:orientation="horizontal"
    >
        <!-- Grid of action items -->
        <com.android.systemui.globalactions.ListGridLayout
            android:id="@android:id/list"
            android:layout_gravity="bottom|left"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:layout_marginBottom="@dimen/global_actions_grid_side_margin"
            android:translationZ="@dimen/global_actions_translate"
            android:paddingLeft="@dimen/global_actions_grid_horizontal_padding"
            android:paddingRight="@dimen/global_actions_grid_horizontal_padding"
            android:paddingTop="@dimen/global_actions_grid_vertical_padding"
            android:paddingBottom="@dimen/global_actions_grid_vertical_padding"
            android:background="?android:attr/colorBackgroundFloating"
        />
        <!-- For separated items-->
        <LinearLayout
            android:id="@+id/separated_button"
            android:layout_gravity="top|left"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="@dimen/global_actions_grid_side_margin"
            android:layout_marginBottom="@dimen/global_actions_grid_side_margin"
            android:paddingLeft="@dimen/global_actions_grid_horizontal_padding"
            android:paddingRight="@dimen/global_actions_grid_horizontal_padding"
            android:paddingTop="@dimen/global_actions_grid_vertical_padding"
            android:paddingBottom="@dimen/global_actions_grid_vertical_padding"
            android:orientation="horizontal"
            android:background="?android:attr/colorBackgroundFloating"
            android:translationZ="@dimen/global_actions_translate"
        />
    </LinearLayout>

</com.android.systemui.globalactions.GlobalActionsColumnLayout>
+70 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2019 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
  -->

<com.android.systemui.globalactions.GlobalActionsColumnLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@id/global_actions_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:clipToPadding="false"
    android:theme="@style/qs_theme"
    android:gravity="center_vertical | right"
    android:clipChildren="false"
>
    <LinearLayout
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:gravity="top | right"
        android:orientation="vertical"
        android:padding="0dp"
        android:layout_marginTop="@dimen/global_actions_grid_container_bottom_margin"
        android:layout_marginBottom="@dimen/global_actions_grid_container_bottom_margin"
    >
        <!-- Global actions is right-aligned to be physically near power button -->
        <LinearLayout
            android:id="@android:id/list"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:gravity="right"
            android:translationZ="@dimen/global_actions_translate"
            android:layout_marginRight="@dimen/global_actions_grid_side_margin"
            android:paddingLeft="@dimen/global_actions_grid_horizontal_padding"
            android:paddingRight="@dimen/global_actions_grid_horizontal_padding"
            android:paddingTop="@dimen/global_actions_grid_vertical_padding"
            android:paddingBottom="@dimen/global_actions_grid_vertical_padding"
        />

        <!-- For separated items-->
        <LinearLayout
            android:id="@+id/separated_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="@dimen/global_actions_grid_side_margin"
            android:layout_marginRight="@dimen/global_actions_grid_side_margin"
            android:paddingLeft="@dimen/global_actions_grid_horizontal_padding"
            android:paddingRight="@dimen/global_actions_grid_horizontal_padding"
            android:paddingTop="@dimen/global_actions_grid_vertical_padding"
            android:paddingBottom="@dimen/global_actions_grid_vertical_padding"
            android:orientation="vertical"
            android:gravity="center"
            android:translationZ="@dimen/global_actions_translate"
        />
    </LinearLayout>

</com.android.systemui.globalactions.GlobalActionsColumnLayout>
+0 −10
Original line number Diff line number Diff line
@@ -79,16 +79,6 @@ public class HardwareUiLayout extends MultiListLayout implements Tunable {
        return findViewById(android.R.id.list);
    }

    @Override
    public void removeAllItems() {
        if (mList != null) {
            mList.removeAllViews();
        }
        if (mSeparatedView != null) {
            mSeparatedView.removeAllViews();
        }
    }

    @Override
    protected void onAttachedToWindow() {
        super.onAttachedToWindow();
+19 −5
Original line number Diff line number Diff line
@@ -44,11 +44,6 @@ public abstract class MultiListLayout extends LinearLayout {

    protected abstract ViewGroup getListView();

    /**
     * Removes all child items from the separated and list views, if they exist.
     */
    protected abstract void removeAllItems();

    /**
     * Sets the divided view, which may have a differently-colored background.
     */
@@ -110,6 +105,25 @@ public abstract class MultiListLayout extends LinearLayout {
        onUpdateList();
    }

    protected void removeAllSeparatedViews() {
        ViewGroup separated = getSeparatedView();
        if (separated != null) {
            separated.removeAllViews();
        }
    }

    protected void removeAllListViews() {
        ViewGroup list = getListView();
        if (list != null) {
            list.removeAllViews();
        }
    }

    protected void removeAllItems() {
        removeAllListViews();
        removeAllSeparatedViews();
    }

    protected void onUpdateList() {
        removeAllItems();
        setSeparatedViewVisibility(mAdapter.hasSeparatedItems());
Loading