summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/plugin/src/com/android/systemui/plugins/clocks/ClockFaceLayout.kt49
-rw-r--r--packages/SystemUI/plugin/src/com/android/systemui/plugins/clocks/ClockPreviewConfig.kt1
2 files changed, 30 insertions, 20 deletions
diff --git a/packages/SystemUI/plugin/src/com/android/systemui/plugins/clocks/ClockFaceLayout.kt b/packages/SystemUI/plugin/src/com/android/systemui/plugins/clocks/ClockFaceLayout.kt
index a075d0d5b249..37b611f3c6b9 100644
--- a/packages/SystemUI/plugin/src/com/android/systemui/plugins/clocks/ClockFaceLayout.kt
+++ b/packages/SystemUI/plugin/src/com/android/systemui/plugins/clocks/ClockFaceLayout.kt
@@ -111,28 +111,37 @@ class DefaultClockFaceLayout(val view: View) : ClockFaceLayout {
connect(lockscreenClockViewLargeId, START, PARENT_ID, START)
connect(lockscreenClockViewLargeId, END, PARENT_ID, END)
- // In preview, we'll show UDFPS icon for UDFPS devices
- // and nothing for non-UDFPS devices,
- // and we're not planning to add this vide in clockHostView
- // so we only need position of device entry icon to constrain clock
- // Copied calculation codes from applyConstraints in DefaultDeviceEntrySection
- clockPreviewConfig.lockId?.let { lockId ->
- connect(lockscreenClockViewLargeId, BOTTOM, lockId, TOP)
+ clockPreviewConfig.udfpsTop?.let {
+ val screenHeight = context.resources.displayMetrics.heightPixels
+ connect(
+ lockscreenClockViewLargeId,
+ BOTTOM,
+ PARENT_ID,
+ BOTTOM,
+ (screenHeight - it).toInt(),
+ )
}
?: run {
- val bottomPaddingPx = context.getDimen("lock_icon_margin_bottom")
- val defaultDensity =
- DisplayMetrics.DENSITY_DEVICE_STABLE.toFloat() /
- DisplayMetrics.DENSITY_DEFAULT.toFloat()
- val lockIconRadiusPx = (defaultDensity * 36).toInt()
- val clockBottomMargin = bottomPaddingPx + 2 * lockIconRadiusPx
- connect(
- lockscreenClockViewLargeId,
- BOTTOM,
- PARENT_ID,
- BOTTOM,
- clockBottomMargin,
- )
+ // Copied calculation codes from applyConstraints in
+ // DefaultDeviceEntrySection
+ clockPreviewConfig.lockId?.let { lockId ->
+ connect(lockscreenClockViewLargeId, BOTTOM, lockId, TOP)
+ }
+ ?: run {
+ val bottomPaddingPx = context.getDimen("lock_icon_margin_bottom")
+ val defaultDensity =
+ DisplayMetrics.DENSITY_DEVICE_STABLE.toFloat() /
+ DisplayMetrics.DENSITY_DEFAULT.toFloat()
+ val lockIconRadiusPx = (defaultDensity * 36).toInt()
+ val clockBottomMargin = bottomPaddingPx + 2 * lockIconRadiusPx
+ connect(
+ lockscreenClockViewLargeId,
+ BOTTOM,
+ PARENT_ID,
+ BOTTOM,
+ clockBottomMargin,
+ )
+ }
}
val smallClockViewId = context.getId("lockscreen_clock_view")
diff --git a/packages/SystemUI/plugin/src/com/android/systemui/plugins/clocks/ClockPreviewConfig.kt b/packages/SystemUI/plugin/src/com/android/systemui/plugins/clocks/ClockPreviewConfig.kt
index c705c51a00d5..abc8e150bfd2 100644
--- a/packages/SystemUI/plugin/src/com/android/systemui/plugins/clocks/ClockPreviewConfig.kt
+++ b/packages/SystemUI/plugin/src/com/android/systemui/plugins/clocks/ClockPreviewConfig.kt
@@ -25,6 +25,7 @@ data class ClockPreviewConfig(
val isShadeLayoutWide: Boolean,
val isSceneContainerFlagEnabled: Boolean = false,
val lockId: Int? = null,
+ val udfpsTop: Float? = null,
) {
fun getSmallClockTopPadding(
statusBarHeight: Int = SystemBarUtils.getStatusBarHeight(context)