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

Commit f221b8a7 authored by Ats Jenk's avatar Ats Jenk
Browse files

Create drop target for bubble bar

When dragging bubble bar in launcher, show drop target when drag passes
middle of the screen.

Bug: 330585397
Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Test: manual
Change-Id: I52c3e9ac0b7c36e2207640baf75dc44300b522ef
parent 1e6d1112
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?><!--
  ~ Copyright (C) 2024 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"
    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android">
    <item android:alpha="0.35" android:color="?androidprv:attr/materialColorPrimaryContainer" />
</selector>
 No newline at end of file
+24 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?><!--
  ~ Copyright (C) 2024 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.
  -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
    android:shape="rectangle">
    <corners android:radius="@dimen/bubblebar_drop_target_corner_radius" />
    <solid android:color="@color/bubblebar_drop_target_bg_color" />
    <stroke
        android:width="1dp"
        android:color="?androidprv:attr/materialColorPrimaryContainer" />
</shape>
+21 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?><!--
  ~ Copyright (C) 2024 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.
  -->

<View xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="@dimen/bubblebar_size"
    android:layout_height="@dimen/bubblebar_size"
    android:background="@drawable/bg_bubble_bar_drop_target"
    android:elevation="@dimen/bubblebar_elevation" />
 No newline at end of file
+6 −0
Original line number Diff line number Diff line
@@ -417,6 +417,7 @@
    <!-- Container size with pointer included: bubblebar_size + bubblebar_pointer_size -->
    <dimen name="bubblebar_size_with_pointer">80dp</dimen>
    <dimen name="bubblebar_elevation">1dp</dimen>
    <dimen name="bubblebar_drag_elevation">2dp</dimen>
    <dimen name="bubblebar_hotseat_adjustment_threshold">90dp</dimen>

    <dimen name="bubblebar_icon_size">50dp</dimen>
@@ -432,6 +433,11 @@
    <dimen name="bubblebar_dismiss_target_icon_size">24dp</dimen>
    <dimen name="bubblebar_dismiss_target_bottom_margin">50dp</dimen>
    <dimen name="bubblebar_dismiss_floating_gradient_height">548dp</dimen>
    <dimen name="bubblebar_dismiss_zone_width">192dp</dimen>
    <dimen name="bubblebar_dismiss_zone_height">242dp</dimen>

    <!-- Bubble bar drop target -->
    <dimen name="bubblebar_drop_target_corner_radius">36dp</dimen>

    <!-- Launcher splash screen -->
    <!-- Note: keep this value in sync with the WindowManager/Shell dimens.xml -->
+5 −1
Original line number Diff line number Diff line
@@ -98,6 +98,7 @@ import com.android.launcher3.taskbar.TaskbarAutohideSuspendController.AutohideSu
import com.android.launcher3.taskbar.TaskbarTranslationController.TransitionCallback;
import com.android.launcher3.taskbar.allapps.TaskbarAllAppsController;
import com.android.launcher3.taskbar.bubbles.BubbleBarController;
import com.android.launcher3.taskbar.bubbles.BubbleBarPinController;
import com.android.launcher3.taskbar.bubbles.BubbleBarView;
import com.android.launcher3.taskbar.bubbles.BubbleBarViewController;
import com.android.launcher3.taskbar.bubbles.BubbleControllers;
@@ -254,7 +255,10 @@ public class TaskbarActivityContext extends BaseTaskbarContext {
                    new BubbleStashController(this),
                    new BubbleStashedHandleViewController(this, bubbleHandleView),
                    new BubbleDragController(this),
                    new BubbleDismissController(this, mDragLayer)));
                    new BubbleDismissController(this, mDragLayer),
                    new BubbleBarPinController(this, mDragLayer,
                            () -> getDeviceProfile().getDisplayInfo().currentSize)
            ));
        }

        // Construct controllers.
Loading