summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/res/layout/combined_qs_header.xml38
-rw-r--r--packages/SystemUI/res/xml/combined_qs_header_scene.xml50
-rw-r--r--packages/SystemUI/res/xml/qqs_header.xml85
-rw-r--r--packages/SystemUI/res/xml/qs_header.xml85
-rw-r--r--packages/SystemUI/res/xml/split_header.xml78
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java8
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/SplitShadeHeaderController.kt46
7 files changed, 201 insertions, 189 deletions
diff --git a/packages/SystemUI/res/layout/combined_qs_header.xml b/packages/SystemUI/res/layout/combined_qs_header.xml
index f0b59d825417..1f10e5dfeed8 100644
--- a/packages/SystemUI/res/layout/combined_qs_header.xml
+++ b/packages/SystemUI/res/layout/combined_qs_header.xml
@@ -14,7 +14,7 @@
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
-<androidx.constraintlayout.widget.ConstraintLayout
+<androidx.constraintlayout.motion.widget.MotionLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/split_shade_status_bar"
@@ -26,7 +26,8 @@
android:paddingLeft="@dimen/qs_panel_padding"
android:paddingRight="@dimen/qs_panel_padding"
android:visibility="gone"
- android:theme="@style/Theme.SystemUI.QuickSettings.Header">
+ android:theme="@style/Theme.SystemUI.QuickSettings.Header"
+ app:layoutDescription="@xml/combined_qs_header_scene">
<androidx.constraintlayout.widget.Guideline
android:layout_width="wrap_content"
@@ -39,76 +40,65 @@
android:id="@+id/clock"
android:layout_width="wrap_content"
android:layout_height="0dp"
- app:layout_constraintHeight_min="@dimen/split_shade_header_min_height"
android:gravity="start|center_vertical"
android:paddingStart="@dimen/status_bar_left_clock_starting_padding"
android:paddingEnd="@dimen/status_bar_left_clock_end_padding"
android:singleLine="true"
android:textAppearance="@style/TextAppearance.QS.Status"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@id/date"
/>
<com.android.systemui.statusbar.policy.DateView
android:id="@+id/date"
android:layout_width="wrap_content"
android:layout_height="0dp"
- app:layout_constraintHeight_min="@dimen/split_shade_header_min_height"
android:layout_gravity="start|center_vertical"
android:gravity="center_vertical"
android:singleLine="true"
android:textAppearance="@style/TextAppearance.QS.Status"
app:datePattern="@string/abbrev_wday_month_day_no_year_alarm"
- app:layout_constraintStart_toEndOf="@id/clock"
- app:layout_constraintEnd_toStartOf="@id/carrier_group"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintHorizontal_bias="0"
/>
<include
android:id="@+id/carrier_group"
layout="@layout/qs_carrier_group"
+ app:layout_constraintHeight_min="@dimen/split_shade_header_min_height"
+ android:minHeight="@dimen/split_shade_header_min_height"
+ app:layout_constraintWidth_min="48dp"
android:layout_width="0dp"
android:layout_height="0dp"
- app:layout_constraintHeight_min="@dimen/split_shade_header_min_height"
app:layout_constrainedWidth="true"
android:layout_gravity="end|center_vertical"
android:layout_marginStart="8dp"
- android:focusable="false"
- android:minHeight="@dimen/split_shade_header_min_height"
- android:minWidth="48dp"
app:layout_constraintStart_toEndOf="@id/date"
app:layout_constraintEnd_toStartOf="@id/statusIcons"
- app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintTop_toTopOf="@id/clock"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="1"
/>
<com.android.systemui.statusbar.phone.StatusIconContainer
android:id="@+id/statusIcons"
- android:layout_width="wrap_content"
- android:layout_height="0dp"
app:layout_constraintHeight_min="@dimen/split_shade_header_min_height"
android:paddingEnd="@dimen/signal_cluster_battery_padding"
+ android:layout_width="wrap_content"
+ android:layout_height="48dp"
app:layout_constraintStart_toEndOf="@id/carrier_group"
app:layout_constraintEnd_toStartOf="@id/batteryRemainingIcon"
- app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintTop_toTopOf="@id/clock"
app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintHorizontal_bias="1"
/>
<com.android.systemui.battery.BatteryMeterView
android:id="@+id/batteryRemainingIcon"
android:layout_width="wrap_content"
- android:layout_height="0dp"
+ android:layout_height="48dp"
app:layout_constraintHeight_min="@dimen/split_shade_header_min_height"
app:textAppearance="@style/TextAppearance.QS.Status"
app:layout_constraintStart_toEndOf="@id/statusIcons"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintTop_toTopOf="@id/clock"
app:layout_constraintBottom_toBottomOf="parent"
/>
-</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file
+</androidx.constraintlayout.motion.widget.MotionLayout> \ No newline at end of file
diff --git a/packages/SystemUI/res/xml/combined_qs_header_scene.xml b/packages/SystemUI/res/xml/combined_qs_header_scene.xml
new file mode 100644
index 000000000000..d61e4a95bb68
--- /dev/null
+++ b/packages/SystemUI/res/xml/combined_qs_header_scene.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2021 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.
+ -->
+<MotionScene
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto">
+
+ <Transition
+ android:id="@+id/header_transition"
+ app:constraintSetEnd="@id/qs_header_constraint"
+ app:constraintSetStart="@id/qqs_header_constraint">
+ <KeyFrameSet>
+ <KeyPosition
+ app:keyPositionType="pathRelative"
+ app:percentX="0"
+ app:framePosition="50"
+ app:motionTarget="@id/date" />
+ </KeyFrameSet>
+ </Transition>
+
+ <Transition
+ android:id="@+id/split_header_transition"
+ app:constraintSetStart="@id/split_header_constraint"
+ app:constraintSetEnd="@id/split_header_constraint"/>
+
+ <!--
+ Placeholder ConstraintSet. They are populated in the controller for this class.
+ This is needed because there's no easy way to just refer to a `ConstraintSet` file. The
+ options are either a layout file or inline the ConstraintSets.
+ -->
+ <ConstraintSet android:id="@id/qqs_header_constraint"/>
+
+ <ConstraintSet android:id="@id/qs_header_constraint"/>
+
+ <ConstraintSet android:id="@id/split_header_constraint" />
+
+</MotionScene>
diff --git a/packages/SystemUI/res/xml/qqs_header.xml b/packages/SystemUI/res/xml/qqs_header.xml
index fdf73d53e905..3d7b549fc54b 100644
--- a/packages/SystemUI/res/xml/qqs_header.xml
+++ b/packages/SystemUI/res/xml/qqs_header.xml
@@ -17,66 +17,45 @@
<ConstraintSet
xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto">
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/qqs_header_constraint"
+>
<Constraint
- android:id="@+id/clock"
- android:layout_width="wrap_content"
- android:layout_height="0dp"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@id/date"
- app:layout_constraintHorizontal_bias="0"
- app:layout_constraintHorizontal_chainStyle="packed"
- />
+ android:id="@+id/clock">
+ <Layout
+ android:layout_width="wrap_content"
+ android:layout_height="0dp"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/date"
+ app:layout_constraintHorizontal_bias="0"
+ app:layout_constraintHorizontal_chainStyle="packed"
+ />
+ </Constraint>
<Constraint
- android:id="@+id/date"
- android:layout_width="wrap_content"
- android:layout_height="0dp"
- app:layout_constraintStart_toEndOf="@id/clock"
- app:layout_constraintEnd_toStartOf="@id/carrier_group"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintHorizontal_bias="0"
- />
+ android:id="@+id/date">
+ <Layout
+ android:layout_width="wrap_content"
+ android:layout_height="0dp"
+ app:layout_constraintStart_toEndOf="@id/clock"
+ app:layout_constraintEnd_toStartOf="@id/carrier_group"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintHorizontal_bias="0"
+ />
+ </Constraint>
<Constraint
- android:id="@+id/carrier_group"
- android:layout_width="0dp"
- android:layout_height="0dp"
- app:layout_constrainedWidth="true"
- android:layout_gravity="end|center_vertical"
- android:layout_marginStart="8dp"
- app:layout_constraintStart_toEndOf="@id/date"
- app:layout_constraintEnd_toStartOf="@id/statusIcons"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintBottom_toBottomOf="parent"
- android:visibility="invisible"
- app:layout_constraintHorizontal_bias="1"
- />
+ android:id="@+id/carrier_group">
+ <CustomAttribute
+ app:attributeName="alpha"
+ app:customFloatValue="0"
+ />
+ </Constraint>
- <Constraint
- android:id="@+id/statusIcons"
- android:layout_width="wrap_content"
- android:layout_height="0dp"
- app:layout_constraintStart_toEndOf="@id/carrier_group"
- app:layout_constraintEnd_toStartOf="@id/batteryRemainingIcon"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintHorizontal_bias="1"
- />
- <Constraint
- android:id="@+id/batteryRemainingIcon"
- android:layout_width="wrap_content"
- android:layout_height="0dp"
- app:layout_constraintStart_toEndOf="@id/statusIcons"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintHorizontal_bias="1"
- />
</ConstraintSet> \ No newline at end of file
diff --git a/packages/SystemUI/res/xml/qs_header.xml b/packages/SystemUI/res/xml/qs_header.xml
index 72e518eab839..6a0ab866966c 100644
--- a/packages/SystemUI/res/xml/qs_header.xml
+++ b/packages/SystemUI/res/xml/qs_header.xml
@@ -17,63 +17,46 @@
<ConstraintSet
xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto">
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/qs_header_constraint"
+>
<Constraint
- android:id="@+id/clock"
- android:layout_width="wrap_content"
- android:layout_height="48dp"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/date"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@id/carrier_group"
- app:layout_constraintHorizontal_bias="0"
- />
+ android:id="@+id/clock">
+ <Layout
+ android:layout_width="wrap_content"
+ android:layout_height="48dp"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@id/date"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/carrier_group"
+ app:layout_constraintHorizontal_bias="0"
+ />
+ </Constraint>
<Constraint
- android:id="@+id/date"
- android:layout_width="wrap_content"
- android:layout_height="48dp"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintBottom_toTopOf="@id/clock"
- app:layout_constraintHorizontal_bias="0"
- />
+ android:id="@+id/date">
+ <Layout
+ android:layout_width="wrap_content"
+ android:layout_height="48dp"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toTopOf="@id/clock"
+ app:layout_constraintHorizontal_bias="0"
+ />
+ <Motion
+ app:motionStagger="0.5"
+ />
+ </Constraint>
<Constraint
- android:id="@+id/carrier_group"
- android:layout_width="0dp"
- android:layout_height="48dp"
- app:layout_constrainedWidth="true"
- android:layout_gravity="end|center_vertical"
- android:layout_marginStart="8dp"
- app:layout_constraintStart_toEndOf="@id/clock"
- app:layout_constraintEnd_toStartOf="@id/statusIcons"
- app:layout_constraintTop_toTopOf="@id/clock"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintHorizontal_bias="1"
- />
+ android:id="@+id/carrier_group">
+ <CustomAttribute
+ app:attributeName="alpha"
+ app:customFloatValue="1"
+ />
+ </Constraint>
- <Constraint
- android:id="@+id/statusIcons"
- android:layout_width="wrap_content"
- android:layout_height="48dp"
- app:layout_constraintStart_toEndOf="@id/carrier_group"
- app:layout_constraintEnd_toStartOf="@id/batteryRemainingIcon"
- app:layout_constraintTop_toTopOf="@id/clock"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintHorizontal_bias="1"
- />
-
- <Constraint
- android:id="@+id/batteryRemainingIcon"
- android:layout_width="wrap_content"
- android:layout_height="48dp"
- app:layout_constraintStart_toEndOf="@id/statusIcons"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="@id/clock"
- app:layout_constraintBottom_toBottomOf="parent"
- />
</ConstraintSet> \ No newline at end of file
diff --git a/packages/SystemUI/res/xml/split_header.xml b/packages/SystemUI/res/xml/split_header.xml
index a3ee1e2fae64..44d42a05cd46 100644
--- a/packages/SystemUI/res/xml/split_header.xml
+++ b/packages/SystemUI/res/xml/split_header.xml
@@ -17,61 +17,41 @@
<ConstraintSet
xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto">
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/split_header_constraint">
<Constraint
- android:id="@+id/clock"
- android:layout_width="wrap_content"
- android:layout_height="0dp"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@id/date"
- />
+ android:id="@+id/clock">
+ <Layout
+ android:layout_width="wrap_content"
+ android:layout_height="0dp"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/date"
+ />
+ </Constraint>
<Constraint
- android:id="@+id/date"
- android:layout_width="wrap_content"
- android:layout_height="0dp"
- app:layout_constraintStart_toEndOf="@id/clock"
- app:layout_constraintEnd_toStartOf="@id/carrier_group"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintHorizontal_bias="0"
- />
+ android:id="@+id/date">
+ <Layout
+ android:layout_width="wrap_content"
+ android:layout_height="0dp"
+ app:layout_constraintStart_toEndOf="@id/clock"
+ app:layout_constraintEnd_toStartOf="@id/carrier_group"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintHorizontal_bias="0"
+ />
+ </Constraint>
<Constraint
- android:id="@+id/carrier_group"
- android:layout_width="0dp"
- android:layout_height="0dp"
- app:layout_constrainedWidth="true"
- android:layout_gravity="end|center_vertical"
- android:layout_marginStart="8dp"
- app:layout_constraintStart_toEndOf="@id/date"
- app:layout_constraintEnd_toStartOf="@id/statusIcons"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintHorizontal_bias="1"
- />
+ android:id="@+id/carrier_group">
+ <PropertySet
+ android:alpha="1"
+ app:customFloatValue="1"
+ />
+ </Constraint>
- <Constraint
- android:id="@+id/statusIcons"
- android:layout_width="wrap_content"
- android:layout_height="0dp"
- app:layout_constraintStart_toEndOf="@id/carrier_group"
- app:layout_constraintEnd_toStartOf="@id/batteryRemainingIcon"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintBottom_toBottomOf="parent"
- />
-
- <Constraint
- android:id="@+id/batteryRemainingIcon"
- android:layout_width="wrap_content"
- android:layout_height="0dp"
- app:layout_constraintStart_toEndOf="@id/statusIcons"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintBottom_toBottomOf="parent"
- />
</ConstraintSet> \ No newline at end of file
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
index 9477e0087d2f..0fc4f4a94bda 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
@@ -309,6 +309,10 @@ public class QuickStatusBarHeader extends FrameLayout {
}
private void updateAnimators() {
+ if (mUseCombinedQSHeader) {
+ mTranslationAnimator = null;
+ return;
+ }
updateAlphaAnimator();
int offset = mTopViewMeasureHeight;
@@ -321,6 +325,10 @@ public class QuickStatusBarHeader extends FrameLayout {
}
private void updateAlphaAnimator() {
+ if (mUseCombinedQSHeader) {
+ mAlphaAnimator = null;
+ return;
+ }
TouchAnimator.Builder builder = new TouchAnimator.Builder()
.addFloat(mSecurityHeaderView, "alpha", 0, 1)
// These views appear on expanding down
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/SplitShadeHeaderController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/SplitShadeHeaderController.kt
index bac4234389aa..c814622ff074 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/SplitShadeHeaderController.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/SplitShadeHeaderController.kt
@@ -17,8 +17,7 @@
package com.android.systemui.statusbar.phone
import android.view.View
-import androidx.constraintlayout.widget.ConstraintLayout
-import androidx.constraintlayout.widget.ConstraintSet
+import androidx.constraintlayout.motion.widget.MotionLayout
import com.android.systemui.R
import com.android.systemui.animation.ShadeInterpolation
import com.android.systemui.battery.BatteryMeterView
@@ -39,6 +38,11 @@ class SplitShadeHeaderController @Inject constructor(
batteryMeterViewController: BatteryMeterViewController
) {
+ companion object {
+ private val HEADER_TRANSITION_ID = R.id.header_transition
+ private val SPLIT_HEADER_TRANSITION_ID = R.id.split_header_transition
+ }
+
private val combinedHeaders = featureFlags.useCombinedQSHeaders()
// TODO(b/194178072) Handle RSSI hiding when multi carrier
private val iconManager: StatusBarIconController.IconManager
@@ -59,6 +63,7 @@ class SplitShadeHeaderController @Inject constructor(
}
field = value
updateVisibility()
+ updatePosition()
}
var splitShadeMode = false
@@ -68,6 +73,7 @@ class SplitShadeHeaderController @Inject constructor(
}
field = value
updateVisibility()
+ updateConstraints()
}
var shadeExpandedFraction = -1f
@@ -83,13 +89,22 @@ class SplitShadeHeaderController @Inject constructor(
if (visible && field != value) {
field = value
updateVisibility()
+ updatePosition()
}
}
- private val constraintSplit = ConstraintSet()
- .apply { load(statusBar.context, R.xml.split_header) }
- private val constraintQQS = ConstraintSet().apply { load(statusBar.context, R.xml.qqs_header) }
- private val constraintQS = ConstraintSet().apply { load(statusBar.context, R.xml.qs_header) }
+ init {
+ if (statusBar is MotionLayout) {
+ val context = statusBar.context
+ val resources = statusBar.resources
+ statusBar.getConstraintSet(R.id.qqs_header_constraint)
+ .load(context, resources.getXml(R.xml.qqs_header))
+ statusBar.getConstraintSet(R.id.qs_header_constraint)
+ .load(context, resources.getXml(R.xml.qs_header))
+ statusBar.getConstraintSet(R.id.split_header_constraint)
+ .load(context, resources.getXml(R.xml.split_header))
+ }
+ }
init {
batteryMeterViewController.init()
@@ -104,6 +119,8 @@ class SplitShadeHeaderController @Inject constructor(
qsCarrierGroupController = qsCarrierGroupControllerBuilder
.setQSCarrierGroup(statusBar.findViewById(R.id.carrier_group))
.build()
+ updateVisibility()
+ updateConstraints()
}
private fun updateVisibility() {
@@ -118,20 +135,25 @@ class SplitShadeHeaderController @Inject constructor(
statusBar.visibility = visibility
visible = visibility == View.VISIBLE
}
- updateConstraints()
}
private fun updateConstraints() {
if (!combinedHeaders) {
return
}
- statusBar as ConstraintLayout
+ statusBar as MotionLayout
if (splitShadeMode) {
- constraintSplit.applyTo(statusBar)
- } else if (qsExpandedFraction == 1f) {
- constraintQS.applyTo(statusBar)
+ statusBar.setTransition(SPLIT_HEADER_TRANSITION_ID)
} else {
- constraintQQS.applyTo(statusBar)
+ statusBar.setTransition(HEADER_TRANSITION_ID)
+ statusBar.transitionToStart()
+ updatePosition()
+ }
+ }
+
+ private fun updatePosition() {
+ if (statusBar is MotionLayout && !splitShadeMode && visible) {
+ statusBar.setProgress(qsExpandedFraction)
}
}