Merge "[flexiglass] Implementation of the Shade scene UI." into udc-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
026dfde8c6
@@ -17,15 +17,19 @@
|
|||||||
|
|
||||||
package com.android.systemui.notifications.ui.composable
|
package com.android.systemui.notifications.ui.composable
|
||||||
|
|
||||||
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.Spacer
|
import androidx.compose.foundation.layout.Spacer
|
||||||
import androidx.compose.foundation.layout.defaultMinSize
|
import androidx.compose.foundation.layout.defaultMinSize
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
|
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||||
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.draw.clip
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
@@ -34,10 +38,26 @@ fun Notifications(
|
|||||||
) {
|
) {
|
||||||
// TODO(b/272779828): implement.
|
// TODO(b/272779828): implement.
|
||||||
Column(
|
Column(
|
||||||
modifier = modifier.fillMaxWidth().defaultMinSize(minHeight = 300.dp).padding(4.dp),
|
modifier =
|
||||||
|
modifier
|
||||||
|
.fillMaxWidth()
|
||||||
|
.defaultMinSize(minHeight = 300.dp)
|
||||||
|
.clip(RoundedCornerShape(32.dp))
|
||||||
|
.background(MaterialTheme.colorScheme.surface)
|
||||||
|
.padding(16.dp),
|
||||||
) {
|
) {
|
||||||
Text("Notifications", modifier = Modifier.align(Alignment.CenterHorizontally))
|
Text(
|
||||||
|
text = "Notifications",
|
||||||
|
modifier = Modifier.align(Alignment.CenterHorizontally),
|
||||||
|
style = MaterialTheme.typography.titleLarge,
|
||||||
|
color = MaterialTheme.colorScheme.onSurface,
|
||||||
|
)
|
||||||
Spacer(modifier = Modifier.weight(1f))
|
Spacer(modifier = Modifier.weight(1f))
|
||||||
Text("Shelf", modifier = Modifier.align(Alignment.CenterHorizontally))
|
Text(
|
||||||
|
text = "Shelf",
|
||||||
|
modifier = Modifier.align(Alignment.CenterHorizontally),
|
||||||
|
style = MaterialTheme.typography.titleSmall,
|
||||||
|
color = MaterialTheme.colorScheme.onSurface,
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,15 +17,19 @@
|
|||||||
|
|
||||||
package com.android.systemui.qs.footer.ui.compose
|
package com.android.systemui.qs.footer.ui.compose
|
||||||
|
|
||||||
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.Spacer
|
import androidx.compose.foundation.layout.Spacer
|
||||||
import androidx.compose.foundation.layout.defaultMinSize
|
import androidx.compose.foundation.layout.defaultMinSize
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
|
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||||
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.draw.clip
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
@@ -34,10 +38,26 @@ fun QuickSettings(
|
|||||||
) {
|
) {
|
||||||
// TODO(b/272780058): implement.
|
// TODO(b/272780058): implement.
|
||||||
Column(
|
Column(
|
||||||
modifier = modifier.fillMaxWidth().defaultMinSize(minHeight = 300.dp).padding(4.dp),
|
modifier =
|
||||||
|
modifier
|
||||||
|
.fillMaxWidth()
|
||||||
|
.defaultMinSize(minHeight = 300.dp)
|
||||||
|
.clip(RoundedCornerShape(32.dp))
|
||||||
|
.background(MaterialTheme.colorScheme.primary)
|
||||||
|
.padding(16.dp),
|
||||||
) {
|
) {
|
||||||
Text("Quick settings", modifier = Modifier.align(Alignment.CenterHorizontally))
|
Text(
|
||||||
|
text = "Quick settings",
|
||||||
|
modifier = Modifier.align(Alignment.CenterHorizontally),
|
||||||
|
style = MaterialTheme.typography.titleLarge,
|
||||||
|
color = MaterialTheme.colorScheme.onPrimary,
|
||||||
|
)
|
||||||
Spacer(modifier = Modifier.weight(1f))
|
Spacer(modifier = Modifier.weight(1f))
|
||||||
Text("QS footer actions", modifier = Modifier.align(Alignment.CenterHorizontally))
|
Text(
|
||||||
|
text = "QS footer actions",
|
||||||
|
modifier = Modifier.align(Alignment.CenterHorizontally),
|
||||||
|
style = MaterialTheme.typography.titleSmall,
|
||||||
|
color = MaterialTheme.colorScheme.onPrimary,
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,18 +16,19 @@
|
|||||||
|
|
||||||
package com.android.systemui.shade.ui.composable
|
package com.android.systemui.shade.ui.composable
|
||||||
|
|
||||||
|
import androidx.compose.foundation.clickable
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Box
|
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
import androidx.compose.material3.Button
|
import androidx.compose.foundation.layout.height
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.material3.Text
|
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import com.android.systemui.dagger.qualifiers.Application
|
import com.android.systemui.dagger.qualifiers.Application
|
||||||
|
import com.android.systemui.notifications.ui.composable.Notifications
|
||||||
|
import com.android.systemui.qs.footer.ui.compose.QuickSettings
|
||||||
import com.android.systemui.scene.shared.model.Direction
|
import com.android.systemui.scene.shared.model.Direction
|
||||||
import com.android.systemui.scene.shared.model.SceneKey
|
import com.android.systemui.scene.shared.model.SceneKey
|
||||||
import com.android.systemui.scene.shared.model.SceneModel
|
import com.android.systemui.scene.shared.model.SceneModel
|
||||||
@@ -62,12 +63,7 @@ class ShadeScene(
|
|||||||
override fun Content(
|
override fun Content(
|
||||||
containerName: String,
|
containerName: String,
|
||||||
modifier: Modifier,
|
modifier: Modifier,
|
||||||
) {
|
) = ShadeScene(viewModel, modifier)
|
||||||
ShadeScene(
|
|
||||||
viewModel = viewModel,
|
|
||||||
modifier = modifier,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun destinationScenes(
|
private fun destinationScenes(
|
||||||
up: SceneKey,
|
up: SceneKey,
|
||||||
@@ -84,23 +80,15 @@ private fun ShadeScene(
|
|||||||
viewModel: ShadeSceneViewModel,
|
viewModel: ShadeSceneViewModel,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
) {
|
) {
|
||||||
// TODO(b/280887022): implement the real UI.
|
Column(
|
||||||
|
horizontalAlignment = Alignment.CenterHorizontally,
|
||||||
Box(modifier = modifier) {
|
verticalArrangement = Arrangement.spacedBy(16.dp),
|
||||||
Column(
|
modifier =
|
||||||
horizontalAlignment = Alignment.CenterHorizontally,
|
Modifier.fillMaxSize()
|
||||||
modifier = Modifier.align(Alignment.Center)
|
.clickable(onClick = { viewModel.onContentClicked() })
|
||||||
) {
|
.padding(horizontal = 16.dp, vertical = 48.dp)
|
||||||
Text("Shade", style = MaterialTheme.typography.headlineMedium)
|
) {
|
||||||
Row(
|
QuickSettings(modifier = modifier.height(160.dp))
|
||||||
horizontalArrangement = Arrangement.spacedBy(8.dp),
|
Notifications(modifier = modifier.weight(1f))
|
||||||
) {
|
|
||||||
Button(
|
|
||||||
onClick = { viewModel.onContentClicked() },
|
|
||||||
) {
|
|
||||||
Text("Open some content")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user