[DO NOT MERGE] Allow manually specified time
Additionally, disable layout animation from test Bug: 229771520 Test: Automated Change-Id: I2518d293f5b03e7bea7a45d8ef24ec6a998b5d30
This commit is contained in:
@@ -44,9 +44,13 @@ import platform.test.screenshot.DeviceEmulationSpec
|
||||
import platform.test.screenshot.MaterialYouColorsRule
|
||||
import platform.test.screenshot.ScreenshotTestRule
|
||||
import platform.test.screenshot.getEmulatedDevicePathConfig
|
||||
import platform.test.screenshot.matchers.BitmapMatcher
|
||||
|
||||
/** A rule for View screenshot diff unit tests. */
|
||||
class ViewScreenshotTestRule(emulationSpec: DeviceEmulationSpec) : TestRule {
|
||||
class ViewScreenshotTestRule(
|
||||
emulationSpec: DeviceEmulationSpec,
|
||||
private val matcher: BitmapMatcher = UnitTestBitmapMatcher
|
||||
) : TestRule {
|
||||
private val colorsRule = MaterialYouColorsRule()
|
||||
private val deviceEmulationRule = DeviceEmulationRule(emulationSpec)
|
||||
private val screenshotRule =
|
||||
@@ -59,7 +63,6 @@ class ViewScreenshotTestRule(emulationSpec: DeviceEmulationSpec) : TestRule {
|
||||
.around(deviceEmulationRule)
|
||||
.around(screenshotRule)
|
||||
.around(activityRule)
|
||||
private val matcher = UnitTestBitmapMatcher
|
||||
|
||||
override fun apply(base: Statement, description: Description): Statement {
|
||||
return delegateRule.apply(base, description)
|
||||
|
||||
@@ -69,6 +69,8 @@ class AnimatableClockView @JvmOverloads constructor(
|
||||
private var textAnimator: TextAnimator? = null
|
||||
private var onTextAnimatorInitialized: Runnable? = null
|
||||
|
||||
var timeOverrideInMillis: Long? = null
|
||||
|
||||
val dozingWeight: Int
|
||||
get() = if (useBoldedVersion()) dozingWeightInternal + 100 else dozingWeightInternal
|
||||
|
||||
@@ -125,7 +127,7 @@ class AnimatableClockView @JvmOverloads constructor(
|
||||
}
|
||||
|
||||
fun refreshTime() {
|
||||
time.timeInMillis = System.currentTimeMillis()
|
||||
time.timeInMillis = timeOverrideInMillis ?: System.currentTimeMillis()
|
||||
contentDescription = DateFormat.format(descFormat, time)
|
||||
val formattedText = DateFormat.format(format, time)
|
||||
// Setting text actually triggers a layout pass (because the text view is set to
|
||||
|
||||
@@ -88,6 +88,7 @@ public class KeyguardClockSwitch extends RelativeLayout {
|
||||
|
||||
private int mClockSwitchYAmount;
|
||||
@VisibleForTesting boolean mChildrenAreLaidOut = false;
|
||||
@VisibleForTesting boolean mAnimateOnLayout = true;
|
||||
|
||||
public KeyguardClockSwitch(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
@@ -305,7 +306,7 @@ public class KeyguardClockSwitch extends RelativeLayout {
|
||||
super.onLayout(changed, l, t, r, b);
|
||||
|
||||
if (mDisplayedClockSize != null && !mChildrenAreLaidOut) {
|
||||
post(() -> updateClockViews(mDisplayedClockSize == LARGE, /* animate */ true));
|
||||
post(() -> updateClockViews(mDisplayedClockSize == LARGE, mAnimateOnLayout));
|
||||
}
|
||||
|
||||
mChildrenAreLaidOut = true;
|
||||
|
||||
Reference in New Issue
Block a user