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

Commit 8c98666d authored by Jordan Demeulenaere's avatar Jordan Demeulenaere Committed by Android (Google) Code Review
Browse files

Merge changes Ic18aa7c6,I444398f0,Ib6c66ade into main

* changes:
  Revert "Revert "Enable the Compose implementation of the QS footer actions""
  Fix the Compose footer actions paddings
  Set the elevation on the Compose implementation of QS footer actions
parents 9d62188b 550425ee
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>
+1 −1
Original line number Diff line number Diff line
@@ -793,7 +793,7 @@ object Flags {

    /** Enable the Compose implementation of the Quick Settings footer actions. */
    @JvmField
    val COMPOSE_QS_FOOTER_ACTIONS = unreleasedFlag("compose_qs_footer_actions")
    val COMPOSE_QS_FOOTER_ACTIONS = releasedFlag("compose_qs_footer_actions")

    /** Enable the share wifi button in Quick Settings internet dialog. */
    @JvmField
+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.
+11 −0
Original line number Diff line number Diff line
@@ -303,6 +303,17 @@ 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.
        composeView.setElevation(
                composeView.getContext().getResources().getDimension(R.dimen.qs_panel_elevation));

        // Replace the View by the Compose provided one.
        ViewGroup parent = (ViewGroup) footerActionsView.getParent();
        ViewGroup.LayoutParams layoutParams = footerActionsView.getLayoutParams();