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

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

Merge "Creates a new grid-based global actions menu on power button hold."

parents 5cccc2bd 166392ff
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ public class FeatureFlagUtils {
    public static final String SAFETY_HUB = "settings_safety_hub";
    public static final String SCREENRECORD_LONG_PRESS = "settings_screenrecord_long_press";
    public static final String AOD_IMAGEWALLPAPER_ENABLED = "settings_aod_imagewallpaper_enabled";
    public static final String GLOBAL_ACTIONS_GRID_ENABLED = "settings_global_actions_grid_enabled";

    private static final Map<String, String> DEFAULT_FLAGS;
    private static final Set<String> OBSERVABLE_FLAGS;
@@ -60,6 +61,7 @@ public class FeatureFlagUtils {
        DEFAULT_FLAGS.put(SAFETY_HUB, "false");
        DEFAULT_FLAGS.put(SCREENRECORD_LONG_PRESS, "false");
        DEFAULT_FLAGS.put(AOD_IMAGEWALLPAPER_ENABLED, "false");
        DEFAULT_FLAGS.put(GLOBAL_ACTIONS_GRID_ENABLED, "false");

        OBSERVABLE_FLAGS = new HashSet<>();
        OBSERVABLE_FLAGS.add(AOD_IMAGEWALLPAPER_ENABLED);
+83 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.globalactions.GlobalActionsGridLayout
    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="bottom|center"
    android:clipChildren="false"
>

    <LinearLayout
        android:layout_height="290dp"
        android:layout_width="412dp"
        android:gravity="bottom"
        android:padding="0dp"
        android:layout_marginBottom="@dimen/global_actions_grid_container_bottom_margin"
    >
        <!-- 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_marginRight="@dimen/global_actions_grid_side_margin"
            android:paddingTop="@dimen/global_actions_grid_top_padding"
            android:paddingLeft="@dimen/global_actions_grid_left_padding"
            android:paddingBottom="@dimen/global_actions_grid_bottom_padding"
            android:paddingRight="@dimen/global_actions_grid_right_padding"
            android:orientation="vertical"
            android:background="?android:attr/colorBackgroundFloating"
            android:translationZ="@dimen/global_actions_translate"
        />

        <Space android:layout_width="match_parent" android:layout_height="2dp"
               android:layout_weight="1" />

        <!-- Grid of action items -->
        <com.android.systemui.globalactions.ListGridLayout
            android:id="@android:id/list"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="right"
            android:orientation="horizontal"
            android:layoutDirection="rtl"
            android:layout_marginRight="@dimen/global_actions_grid_side_margin"
            android:translationZ="@dimen/global_actions_translate"
            android:paddingLeft="@dimen/global_actions_grid_left_padding"
            android:paddingRight="@dimen/global_actions_grid_right_padding"
            android:paddingTop="@dimen/global_actions_grid_top_padding"
            android:paddingBottom="@dimen/global_actions_grid_bottom_padding"
            android:background="?android:attr/colorBackgroundFloating"
        >
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom|right"
                android:visibility="gone"
                android:gravity="bottom"
                android:orientation="vertical"
            />
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom|right"
                android:visibility="gone"
                android:gravity="bottom"
                android:orientation="vertical"
            />
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom|right"
                android:visibility="gone"
                android:gravity="bottom"
                android:orientation="vertical"
            />
        </com.android.systemui.globalactions.ListGridLayout>
    </LinearLayout>

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

<!-- RelativeLayouts have an issue enforcing minimum heights, so just
     work around this for now with LinearLayouts. -->
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="72dp"
    android:layout_height="72dp"
    android:gravity="center"
    android:orientation="vertical"
    android:layout_marginTop="@dimen/global_actions_grid_item_vertical_margin"
    android:layout_marginBottom="@dimen/global_actions_grid_item_vertical_margin"
    android:layout_marginLeft="@dimen/global_actions_grid_item_side_margin"
    android:layout_marginRight="@dimen/global_actions_grid_item_side_margin"
    android:paddingEnd="4dip"
    android:paddingStart="4dip">

    <ImageView
        android:id="@*android:id/icon"
        android:layout_width="24dp"
        android:layout_height="24dp"
        android:layout_gravity="center"
        android:scaleType="center"
        android:alpha="?android:attr/primaryContentAlpha"
    />

    <TextView
        android:id="@*android:id/message"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="top|center_horizontal"
        android:paddingTop="10dp"
        android:gravity="center"
        android:textSize="12sp"
        android:textAppearance="?android:attr/textAppearanceSmall"
    />

    <TextView
        android:id="@*android:id/status"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="top|center_horizontal"
        android:gravity="center"
        android:textColor="?android:attr/textColorTertiary"
        android:textAppearance="?android:attr/textAppearanceSmall"
    />
</LinearLayout>
+12 −0
Original line number Diff line number Diff line
@@ -834,6 +834,18 @@

    <dimen name="global_actions_panel_width">120dp</dimen>

    <dimen name="global_actions_grid_container_bottom_margin">16dp</dimen>

    <dimen name="global_actions_grid_side_margin">4dp</dimen>
    <dimen name="global_actions_grid_separated_panel_width">104dp</dimen>
    <dimen name="global_actions_grid_top_padding">8dp</dimen>
    <dimen name="global_actions_grid_bottom_padding">8dp</dimen>
    <dimen name="global_actions_grid_left_padding">4dp</dimen>
    <dimen name="global_actions_grid_right_padding">4dp</dimen>

    <dimen name="global_actions_grid_item_side_margin">12dp</dimen>
    <dimen name="global_actions_grid_item_vertical_margin">8dp</dimen>

    <dimen name="global_actions_top_padding">120dp</dimen>

    <dimen name="global_actions_padding">12dp</dimen>
+4 −4
Original line number Diff line number Diff line
@@ -26,11 +26,11 @@ import android.widget.LinearLayout;
 * Layout class representing the Global Actions menu which appears when the power button is held.
 */
public abstract class MultiListLayout extends LinearLayout {
    boolean mHasOutsideTouch;
    boolean mHasSeparatedView;
    protected boolean mHasOutsideTouch;
    protected boolean mHasSeparatedView;

    int mExpectedSeparatedItemCount;
    int mExpectedListItemCount;
    protected int mExpectedSeparatedItemCount;
    protected int mExpectedListItemCount;

    public MultiListLayout(Context context, AttributeSet attrs) {
        super(context, attrs);
Loading