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

Commit 8bc730d7 authored by Mady Mellor's avatar Mady Mellor Committed by Android (Google) Code Review
Browse files

Merge "Update visuals of drop target" into main

parents 6cc1b209 34f7a698
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -18,15 +18,15 @@
    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android">
    <item android:id="@+id/indicator_solid">
        <shape android:shape="rectangle">
            <solid android:color="@androidprv:color/materialColorPrimaryContainer" />
            <solid android:color="@androidprv:color/materialColorPrimaryFixed" />
            <corners android:radius="28dp" />
        </shape>
    </item>
    <item android:id="@+id/indicator_stroke">
        <shape android:shape="rectangle">
            <corners android:radius="28dp" />
            <stroke android:width="1dp"
                android:color="@androidprv:color/materialColorPrimaryContainer"/>
            <stroke android:width="2dp"
                android:color="@androidprv:color/materialColorPrimaryFixed"/>
        </shape>
    </item>
</layer-list>
+2 −0
Original line number Diff line number Diff line
@@ -304,6 +304,8 @@
    <dimen name="bubble_transform_area_width">140dp</dimen>
    <!-- Width of the box at the corner of the screen where drag leads to app moving to bubble -->
    <dimen name="bubble_transform_area_height">140dp</dimen>
    <!-- How much elevation a bubble ui needs when dragged, must be above drop target & dismiss. -->
    <dimen name="dragged_bubble_elevation">3dp</dimen>

    <!-- Bottom and end margin for compat buttons. -->
    <dimen name="compat_button_margin">24dp</dimen>
+2 −2
Original line number Diff line number Diff line
@@ -39,9 +39,9 @@
    <dimen name="drag_zone_v_split_from_expanded_view_height_fold_short">100dp</dimen>

    <!-- Bubble drop target dimensions -->
    <dimen name="drop_target_elevation">1dp</dimen>
    <dimen name="drop_target_elevation">2dp</dimen>
    <dimen name="drop_target_radius">28dp</dimen>
    <dimen name="drop_target_stroke">1dp</dimen>
    <dimen name="drop_target_stroke">2dp</dimen>
    <dimen name="drop_target_full_screen_padding">20dp</dimen>
    <dimen name="drop_target_desktop_window_padding_small">100dp</dimen>
    <dimen name="drop_target_desktop_window_padding_large">130dp</dimen>
+3 −3
Original line number Diff line number Diff line
@@ -30,15 +30,15 @@ import com.android.wm.shell.shared.R
class DropTargetView(context: Context) : View(context) {

    private val rectPaint = Paint(Paint.ANTI_ALIAS_FLAG).apply {
        color = context.getColor(com.android.internal.R.color.materialColorPrimaryContainer)
        color = context.getColor(com.android.internal.R.color.materialColorPrimaryFixed)
        style = Paint.Style.FILL
        alpha = (0.35f * 255).toInt()
    }

    private val strokePaint = Paint(Paint.ANTI_ALIAS_FLAG).apply {
        color = context.getColor(com.android.internal.R.color.materialColorPrimaryContainer)
        color = context.getColor(com.android.internal.R.color.materialColorPrimaryFixed)
        style = Paint.Style.STROKE
        strokeWidth = 1.dpToPx()
        strokeWidth = 2.dpToPx()
    }

    private val cornerRadius = 28.dpToPx()
+10 −0
Original line number Diff line number Diff line
@@ -17,9 +17,11 @@
package com.android.wm.shell.bubbles.bar

import android.annotation.SuppressLint
import android.content.Context
import android.view.MotionEvent
import android.view.View
import androidx.annotation.VisibleForTesting
import com.android.wm.shell.R
import com.android.wm.shell.bubbles.BubblePositioner
import com.android.wm.shell.shared.bubbles.BubbleBarLocation
import com.android.wm.shell.shared.bubbles.DismissView
@@ -32,6 +34,7 @@ import com.android.wm.shell.shared.magnetictarget.MagnetizedObject
/** Controller for handling drag interactions with [BubbleBarExpandedView] */
@SuppressLint("ClickableViewAccessibility")
class BubbleBarExpandedViewDragController(
    private val context: Context,
    private val expandedView: BubbleBarExpandedView,
    private val dismissView: DismissView,
    private val animationHelper: BubbleBarAnimationHelper,
@@ -54,6 +57,8 @@ class BubbleBarExpandedViewDragController(
        MagnetizedObject.magnetizeView(expandedView)
    private val magnetizedDismissTarget: MagnetizedObject.MagneticTarget

    private val draggedBubbleElevation: Float

    init {
        magnetizedExpandedView.magnetListener = MagnetListener()
        magnetizedExpandedView.animateStuckToTarget =
@@ -70,6 +75,8 @@ class BubbleBarExpandedViewDragController(
            MagnetizedObject.MagneticTarget(dismissView.circle, dismissView.circle.width)
        magnetizedExpandedView.addTarget(magnetizedDismissTarget)

        draggedBubbleElevation = context.resources.getDimension(
            R.dimen.dragged_bubble_elevation)
        val dragMotionEventHandler = HandleDragListener()

        expandedView.handleView.setOnTouchListener { view, event ->
@@ -103,6 +110,7 @@ class BubbleBarExpandedViewDragController(
        override fun onDown(v: View, ev: MotionEvent): Boolean {
            // While animating, don't allow new touch events
            if (expandedView.isAnimating) return false
            expandedView.z = draggedBubbleElevation
            if (dropTargetManager != null && dragZoneFactory != null) {
                val draggedObject = DraggedObject.ExpandedView(
                    if (bubblePositioner.isBubbleBarOnLeft) {
@@ -154,11 +162,13 @@ class BubbleBarExpandedViewDragController(
            velX: Float,
            velY: Float,
        ) {
            v.translationZ = 0f
            finishDrag()
        }

        override fun onCancel(v: View, ev: MotionEvent, viewInitialX: Float, viewInitialY: Float) {
            isStuckToDismiss = false
            v.translationZ = 0f
            finishDrag()
        }

Loading