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

Commit dcc2374d authored by Jordan Demeulenaere's avatar Jordan Demeulenaere
Browse files

Fix the Compose footer actions paddings

This CL fixes the paddings of the footer actions when using the Compose
implementation. See the end of http://b/299104543#comment12 for details.

Bug: 299104543
Test: Manual, observed that the visual background of the footer actions
 are the same in the View and Compose implementation, both on phone and
 tablets
Change-Id: I444398f04d49920642a2ac44dafabd829f39afc4
parent 658d6e0e
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -137,6 +137,7 @@ fun FooterActions(
            )
        }

    val horizontalPadding = dimensionResource(R.dimen.qs_content_horizontal_padding)
    Row(
        modifier
            .fillMaxWidth()
@@ -150,6 +151,8 @@ fun FooterActions(
            .padding(
                top = dimensionResource(R.dimen.qs_footer_actions_top_padding),
                bottom = dimensionResource(R.dimen.qs_footer_actions_bottom_padding),
                start = horizontalPadding,
                end = horizontalPadding,
            )
            .layout { measurable, constraints ->
                // All buttons have a 4dp padding to increase their touch size. To be consistent
+3 −0
Original line number Diff line number Diff line
@@ -233,4 +233,7 @@
    removed later.
    -->
    <item type="id" name="tag_smartspace_view" />

    <!-- Tag set on the Compose implementation of the QS footer actions. -->
    <item type="id" name="tag_compose_qs_footer_actions" />
</resources>
+9 −5
Original line number Diff line number Diff line
@@ -235,6 +235,9 @@ public class QSContainerImpl extends FrameLayout implements Dumpable {
                quickStatusBarHeaderController.setContentMargins(mContentHorizontalPadding,
                        mContentHorizontalPadding);
            } else {
                // Set the horizontal paddings unless the view is the Compose implementation of the
                // footer actions.
                if (view.getTag(R.id.tag_compose_qs_footer_actions) == null) {
                    view.setPaddingRelative(
                            mContentHorizontalPadding,
                            view.getPaddingTop(),
@@ -243,6 +246,7 @@ public class QSContainerImpl extends FrameLayout implements Dumpable {
                }
            }
        }
    }

    /**
     * Clip QS bottom using a concave shape.
+5 −0
Original line number Diff line number Diff line
@@ -303,6 +303,11 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
        // to all views except for qs_footer_actions, so we set it to the Compose view.
        composeView.setId(R.id.qs_footer_actions);

        // Set this tag so that QSContainerImpl does not add horizontal paddings to this Compose
        // implementation of the footer actions. They will be set in Compose instead so that the
        // background fills the full screen width.
        composeView.setTag(R.id.tag_compose_qs_footer_actions, true);

        // Set the same elevation as the View implementation, otherwise the footer actions will be
        // drawn below the scroll view with QS grid and clicks won't get through on small devices
        // where there isn't enough vertical space to show all the tiles and the footer actions.