summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/customization/src/com/android/systemui/shared/clocks/ComposedDigitalLayerController.kt4
-rw-r--r--packages/SystemUI/customization/src/com/android/systemui/shared/clocks/DefaultClockController.kt2
-rw-r--r--packages/SystemUI/customization/src/com/android/systemui/shared/clocks/FlexClockFaceController.kt5
-rw-r--r--packages/SystemUI/customization/src/com/android/systemui/shared/clocks/SimpleDigitalHandLayerController.kt4
-rw-r--r--packages/SystemUI/customization/src/com/android/systemui/shared/clocks/view/FlexClockView.kt4
-rw-r--r--packages/SystemUI/customization/src/com/android/systemui/shared/clocks/view/SimpleDigitalClockTextView.kt5
-rw-r--r--packages/SystemUI/plugin/src/com/android/systemui/plugins/clocks/ClockAnimations.kt3
-rw-r--r--packages/SystemUI/plugin/src/com/android/systemui/plugins/clocks/ClockLogger.kt7
-rw-r--r--packages/SystemUI/src/com/android/keyguard/ClockEventController.kt7
-rw-r--r--packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardClockInteractor.kt8
-rw-r--r--packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java2
11 files changed, 49 insertions, 2 deletions
diff --git a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/ComposedDigitalLayerController.kt b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/ComposedDigitalLayerController.kt
index 98cf68468151..f90552796e9f 100644
--- a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/ComposedDigitalLayerController.kt
+++ b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/ComposedDigitalLayerController.kt
@@ -137,6 +137,10 @@ class ComposedDigitalLayerController(private val clockCtx: ClockContext) :
override fun onPositionUpdated(distance: Float, fraction: Float) {}
override fun onPickerCarouselSwiping(swipingFraction: Float) {}
+
+ override fun onFidgetTap(x: Float, y: Float) {
+ view.animateFidget(x, y)
+ }
}
override val faceEvents =
diff --git a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/DefaultClockController.kt b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/DefaultClockController.kt
index 74d595ce65e6..f24ad1c10c4a 100644
--- a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/DefaultClockController.kt
+++ b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/DefaultClockController.kt
@@ -284,6 +284,8 @@ class DefaultClockController(
override fun onPositionUpdated(fromLeft: Int, direction: Int, fraction: Float) {}
override fun onPositionUpdated(distance: Float, fraction: Float) {}
+
+ override fun onFidgetTap(x: Float, y: Float) {}
}
inner class LargeClockAnimations(
diff --git a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/FlexClockFaceController.kt b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/FlexClockFaceController.kt
index cfcf201796da..b2dbd6552955 100644
--- a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/FlexClockFaceController.kt
+++ b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/FlexClockFaceController.kt
@@ -230,7 +230,10 @@ class FlexClockFaceController(clockCtx: ClockContext, private val isLargeClock:
override fun onPositionUpdated(distance: Float, fraction: Float) {
layerController.animations.onPositionUpdated(distance, fraction)
- // TODO(b/378128811) port stepping animation
+ }
+
+ override fun onFidgetTap(x: Float, y: Float) {
+ layerController.animations.onFidgetTap(x, y)
}
}
diff --git a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/SimpleDigitalHandLayerController.kt b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/SimpleDigitalHandLayerController.kt
index 1659814b74eb..a5adfa2a1ac6 100644
--- a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/SimpleDigitalHandLayerController.kt
+++ b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/SimpleDigitalHandLayerController.kt
@@ -207,6 +207,10 @@ open class SimpleDigitalHandLayerController(
override fun onPositionUpdated(fromLeft: Int, direction: Int, fraction: Float) {}
override fun onPositionUpdated(distance: Float, fraction: Float) {}
+
+ override fun onFidgetTap(x: Float, y: Float) {
+ view.animateFidget(x, y)
+ }
}
override val faceEvents =
diff --git a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/view/FlexClockView.kt b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/view/FlexClockView.kt
index f0f344a605a9..a9f91e077651 100644
--- a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/view/FlexClockView.kt
+++ b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/view/FlexClockView.kt
@@ -281,6 +281,10 @@ class FlexClockView(clockCtx: ClockContext) : FrameLayout(clockCtx.context) {
}
}
+ fun animateFidget(x: Float, y: Float) {
+ digitalClockTextViewMap.forEach { _, view -> view.animateFidget(x, y) }
+ }
+
private fun updateLocale(locale: Locale) {
isMonoVerticalNumericLineSpacing =
!NON_MONO_VERTICAL_NUMERIC_LINE_SPACING_LANGUAGES.any {
diff --git a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/view/SimpleDigitalClockTextView.kt b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/view/SimpleDigitalClockTextView.kt
index 13f563389e19..c6d31a58bc7d 100644
--- a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/view/SimpleDigitalClockTextView.kt
+++ b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/view/SimpleDigitalClockTextView.kt
@@ -304,6 +304,11 @@ open class SimpleDigitalClockTextView(
updateTextBoundsForTextAnimator()
}
+ fun animateFidget(x: Float, y: Float) {
+ // TODO(b/374306512): Implement Fidget Animation
+ logger.animateFidget(x, y)
+ }
+
fun refreshText() {
lockScreenPaint.getTextBounds(text, 0, text.length, textBounds)
if (this::textAnimator.isInitialized) {
diff --git a/packages/SystemUI/plugin/src/com/android/systemui/plugins/clocks/ClockAnimations.kt b/packages/SystemUI/plugin/src/com/android/systemui/plugins/clocks/ClockAnimations.kt
index 2df14a86e77c..77c18eac289c 100644
--- a/packages/SystemUI/plugin/src/com/android/systemui/plugins/clocks/ClockAnimations.kt
+++ b/packages/SystemUI/plugin/src/com/android/systemui/plugins/clocks/ClockAnimations.kt
@@ -58,4 +58,7 @@ interface ClockAnimations {
* 0.0 -> clock is scaled down in the shade; previewRatio is previewSize / screenSize
*/
fun onPickerCarouselSwiping(swipingFraction: Float)
+
+ /** Runs when an animation when the view is tapped on the lockscreen */
+ fun onFidgetTap(x: Float, y: Float)
}
diff --git a/packages/SystemUI/plugin/src/com/android/systemui/plugins/clocks/ClockLogger.kt b/packages/SystemUI/plugin/src/com/android/systemui/plugins/clocks/ClockLogger.kt
index 6a9bbca1d4e1..9a837446a802 100644
--- a/packages/SystemUI/plugin/src/com/android/systemui/plugins/clocks/ClockLogger.kt
+++ b/packages/SystemUI/plugin/src/com/android/systemui/plugins/clocks/ClockLogger.kt
@@ -90,6 +90,13 @@ class ClockLogger(private val view: View?, buffer: MessageBuffer, tag: String) :
}
}
+ fun animateFidget(x: Float, y: Float) {
+ d({ "animateFidget($str1, $str2)" }) {
+ str1 = x.toString()
+ str2 = y.toString()
+ }
+ }
+
companion object {
// Used when MessageBuffers are not provided by the host application
val DEFAULT_MESSAGE_BUFFER = LogcatOnlyMessageBuffer(LogLevel.INFO)
diff --git a/packages/SystemUI/src/com/android/keyguard/ClockEventController.kt b/packages/SystemUI/src/com/android/keyguard/ClockEventController.kt
index 71b622aa0608..6753b37bf1ec 100644
--- a/packages/SystemUI/src/com/android/keyguard/ClockEventController.kt
+++ b/packages/SystemUI/src/com/android/keyguard/ClockEventController.kt
@@ -564,6 +564,13 @@ constructor(
}
}
+ fun handleFidgetTap(x: Float, y: Float) {
+ clock?.run {
+ smallClock.animations.onFidgetTap(x, y)
+ largeClock.animations.onFidgetTap(x, y)
+ }
+ }
+
private fun handleDoze(doze: Float) {
dozeAmount = doze
clock?.run {
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardClockInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardClockInteractor.kt
index dab4b5f4183c..96e05cb7cd63 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardClockInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardClockInteractor.kt
@@ -177,6 +177,14 @@ constructor(
}
}
+ fun handleFidgetTap(x: Float, y: Float) {
+ if (selectedClockSize.value == ClockSizeSetting.DYNAMIC) {
+ clockEventController.handleFidgetTap(x, y)
+ } else {
+ wallpaperFocalAreaInteractor.setTapPosition(x, y)
+ }
+ }
+
fun animateFoldToAod(foldFraction: Float) {
clock?.let { clock ->
clock.smallClock.animations.fold(foldFraction)
diff --git a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java
index 10d76fbd13a1..69a421473c05 100644
--- a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java
@@ -2095,7 +2095,7 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump
mLockscreenGestureLogger
.log(LockscreenUiEvent.LOCKSCREEN_LOCK_SHOW_HINT);
mKeyguardIndicationController.showActionToUnlock();
- mWallpaperFocalAreaViewModel.setTapPosition(x, y);
+ mKeyguardClockInteractor.handleFidgetTap(x, y);
}
}
break;