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

Commit e93184d7 authored by Ivan Tkachenko's avatar Ivan Tkachenko
Browse files

Add manage menu to bubble bar expanded view

* Added bubble bar menu view asnd menu view item
* Added bubble bar menu view controller to setup and manage menu presentation
* Added show/hide menu animations
* Added manage menu actions:
	* Don't bubble conversation
	* Open App Settings
	* Close bubble

Test: manual, TBD
Flag: WM_BUBBLE_BAR
Bug: 273307221
Change-Id: I1c858dfdcc06d0e9f656a24c6994dadba9c834bd
parent 6bcaace5
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2020 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.
  -->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true">
        <ripple android:color="#99999999">
            <item android:drawable="@drawable/bubble_manage_menu_bg" />
        </ripple>
    </item>
    <item android:drawable="@drawable/bubble_manage_menu_bg" />
</selector>
 No newline at end of file
+25 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2023 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
  -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportWidth="24"
    android:viewportHeight="24">
  <path
      android:pathData="M18.59,16.41L20,15L12,7L4,15L5.41,16.41L12,9.83"
      android:fillColor="#5F6368"/>
</vector>
+41 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2023 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.wm.shell.bubbles.bar.BubbleBarMenuItemView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="@dimen/bubble_bar_manage_menu_item_height"
    android:gravity="center_vertical"
    android:paddingStart="@dimen/bubble_menu_padding"
    android:paddingEnd="@dimen/bubble_menu_padding"
    android:background="@drawable/bubble_manage_menu_row">

    <ImageView
        android:id="@+id/bubble_bar_menu_item_icon"
        android:layout_width="@dimen/bubble_bar_manage_menu_item_icon_size"
        android:layout_height="@dimen/bubble_bar_manage_menu_item_icon_size"
        android:contentDescription="@null"/>

    <TextView
        android:id="@+id/bubble_bar_menu_item_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="16dp"
        android:textColor="?android:attr/textColorPrimary"
        android:textAppearance="@*android:style/TextAppearance.DeviceDefault" />

</com.android.wm.shell.bubbles.bar.BubbleBarMenuItemView>
 No newline at end of file
+77 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2023 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.wm.shell.bubbles.bar.BubbleBarMenuView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:minWidth="@dimen/bubble_bar_manage_menu_min_width"
    android:orientation="vertical"
    android:elevation="@dimen/bubble_manage_menu_elevation"
    android:paddingTop="@dimen/bubble_bar_manage_menu_padding_top"
    android:paddingHorizontal="@dimen/bubble_bar_manage_menu_padding"
    android:paddingBottom="@dimen/bubble_bar_manage_menu_padding"
    android:clipToPadding="false">

    <LinearLayout
        android:id="@+id/bubble_bar_manage_menu_bubble_section"
        android:layout_width="match_parent"
        android:layout_height="@dimen/bubble_bar_manage_menu_item_height"
        android:orientation="horizontal"
        android:gravity="center_vertical"
        android:paddingStart="14dp"
        android:paddingEnd="12dp"
        android:background="@drawable/bubble_manage_menu_section"
        android:elevation="@dimen/bubble_manage_menu_elevation">

        <ImageView
            android:id="@+id/bubble_bar_manage_menu_bubble_icon"
            android:layout_width="@dimen/bubble_menu_icon_size"
            android:layout_height="@dimen/bubble_menu_icon_size"
            android:contentDescription="@null" />

        <TextView
            android:id="@+id/bubble_bar_manage_menu_bubble_title"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="8dp"
            android:layout_weight="1"
            android:textColor="?android:attr/textColorPrimary"
            android:textAppearance="@*android:style/TextAppearance.DeviceDefault" />

        <ImageView
            android:id="@+id/bubble_bar_manage_menu_dismiss_icon"
            android:layout_width="@dimen/bubble_bar_manage_menu_dismiss_icon_size"
            android:layout_height="@dimen/bubble_bar_manage_menu_dismiss_icon_size"
            android:layout_marginStart="8dp"
            android:contentDescription="@null"
            android:src="@drawable/ic_expand_less"
            app:tint="?android:attr/textColorPrimary" />

    </LinearLayout>

    <LinearLayout
        android:id="@+id/bubble_bar_manage_menu_actions_section"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_marginTop="@dimen/bubble_bar_manage_menu_section_spacing"
        android:background="@drawable/bubble_manage_menu_bg"
        android:elevation="@dimen/bubble_manage_menu_elevation" />

</com.android.wm.shell.bubbles.bar.BubbleBarMenuView>
 No newline at end of file
+1 −0
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@
    <color name="bubbles_icon_tint">@color/GM2_grey_700</color>
    <color name="bubble_bar_expanded_view_handle_light">#EBffffff</color>
    <color name="bubble_bar_expanded_view_handle_dark">#99000000</color>
    <color name="bubble_bar_expanded_view_menu_close">#DC362E</color>

    <!-- PiP -->
    <color name="pip_custom_close_bg">#D93025</color>
Loading