Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 461f055f authored by Alex Stetson's avatar Alex Stetson
Browse files

Allow for disabled chip animation configuration

- Add config for different form factors to disable chip animation and go
  directly to the persistent dot
- Pass status event to notifyTransitionToPersistentDot when animation is
  disabled (since currentlyDisplayedEvent will always be null)

Bug: 289425128
Test: manual
Change-Id: I876b0ee17fe8dc4840f7732173d3b02f52488f7f
parent 6ba2bfd4
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -775,6 +775,9 @@
    <!-- Flag to enable privacy dot views, it shall be true for normal case -->
    <bool name="config_enablePrivacyDot">true</bool>

    <!-- Flag to enable privacy chip animation, it shall be true for normal case -->
    <bool name="config_enablePrivacyChipAnimation">true</bool>

    <!-- Class for the communal source connector to be used -->
    <string name="config_communalSourceConnector" translatable="false"></string>

+3 −1
Original line number Diff line number Diff line
@@ -164,7 +164,9 @@ constructor(
        }

        private fun isChipAnimationEnabled(): Boolean {
            return DeviceConfig.getBoolean(NAMESPACE_PRIVACY, CHIP_ANIMATION_ENABLED, true)
            val defaultValue =
                context.resources.getBoolean(R.bool.config_enablePrivacyChipAnimation)
            return DeviceConfig.getBoolean(NAMESPACE_PRIVACY, CHIP_ANIMATION_ENABLED, defaultValue)
        }
    }
}
+4 −4
Original line number Diff line number Diff line
@@ -243,7 +243,7 @@ constructor(
        if (!event.showAnimation && event.forceVisible) {
            // If animations are turned off, we'll transition directly to the dot
            animationState.value = SHOWING_PERSISTENT_DOT
            notifyTransitionToPersistentDot()
            notifyTransitionToPersistentDot(event)
            return
        }

@@ -335,7 +335,7 @@ constructor(
        }
        animators.add(chipAnimationController.onSystemEventAnimationFinish(hasPersistentDot))
        if (hasPersistentDot) {
            val dotAnim = notifyTransitionToPersistentDot()
            val dotAnim = notifyTransitionToPersistentDot(currentlyDisplayedEvent)
            if (dotAnim != null) {
                animators.add(dotAnim)
            }
@@ -344,12 +344,12 @@ constructor(
        return AnimatorSet().also { it.playTogether(animators) }
    }

    private fun notifyTransitionToPersistentDot(): Animator? {
    private fun notifyTransitionToPersistentDot(event: StatusEvent?): Animator? {
        logger?.logTransitionToPersistentDotCallbackInvoked()
        val anims: List<Animator> =
            listeners.mapNotNull {
                it.onSystemStatusAnimationTransitionToPersistentDot(
                    currentlyDisplayedEvent?.contentDescription
                    event?.contentDescription
                )
            }
        if (anims.isNotEmpty()) {