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

Commit 55b29be9 authored by Shan Huang's avatar Shan Huang
Browse files

Add logging to wired charging ripple

Test: atest WiredChargingRippleControllerTest, checking logged events via test-drive
Bug: 182719493

Change-Id: Ic6f0af336830112840357bee3b5b9737a8a31a26
parent 2c52d52f
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -25,6 +25,8 @@ import android.util.DisplayMetrics
import android.view.View
import android.view.WindowManager
import com.android.internal.annotations.VisibleForTesting
import com.android.internal.logging.UiEvent
import com.android.internal.logging.UiEventLogger
import com.android.settingslib.Utils
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.statusbar.FeatureFlags
@@ -55,7 +57,8 @@ class WiredChargingRippleController @Inject constructor(
    featureFlags: FeatureFlags,
    private val context: Context,
    private val windowManager: WindowManager,
    private val systemClock: SystemClock
    private val systemClock: SystemClock,
    private val uiEventLogger: UiEventLogger
) {
    private var pluggedIn: Boolean? = null
    private val rippleEnabled: Boolean = featureFlags.isChargingRippleEnabled &&
@@ -164,6 +167,7 @@ class WiredChargingRippleController @Inject constructor(
            }
        })
        windowManager.addView(rippleView, windowLayoutParams)
        uiEventLogger.log(WiredChargingRippleEvent.CHARGING_RIPPLE_PLAYED)
    }

    private fun layoutRipple() {
@@ -203,4 +207,11 @@ class WiredChargingRippleController @Inject constructor(
            pw.println("Usage: adb shell cmd statusbar charging-ripple")
        }
    }

    enum class WiredChargingRippleEvent(private val _id: Int) : UiEventLogger.UiEventEnum {
        @UiEvent(doc = "Wired charging ripple effect played")
        CHARGING_RIPPLE_PLAYED(829);

        override fun getId() = _id
    }
}
+7 −1
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.testing.AndroidTestingRunner
import android.view.View
import android.view.WindowManager
import androidx.test.filters.SmallTest
import com.android.internal.logging.UiEventLogger
import com.android.systemui.SysuiTestCase
import com.android.systemui.statusbar.FeatureFlags
import com.android.systemui.statusbar.commandline.CommandRegistry
@@ -50,6 +51,7 @@ class WiredChargingRippleControllerTest : SysuiTestCase() {
    @Mock private lateinit var configurationController: ConfigurationController
    @Mock private lateinit var rippleView: ChargingRippleView
    @Mock private lateinit var windowManager: WindowManager
    @Mock private lateinit var uiEventLogger: UiEventLogger
    private val systemClock = FakeSystemClock()

    @Before
@@ -58,7 +60,7 @@ class WiredChargingRippleControllerTest : SysuiTestCase() {
        `when`(featureFlags.isChargingRippleEnabled).thenReturn(true)
        controller = WiredChargingRippleController(
                commandRegistry, batteryController, configurationController,
                featureFlags, context, windowManager, systemClock)
                featureFlags, context, windowManager, systemClock, uiEventLogger)
        controller.rippleView = rippleView // Replace the real ripple view with a mock instance
    }

@@ -87,6 +89,10 @@ class WiredChargingRippleControllerTest : SysuiTestCase() {
        // Verify ripple removed
        runnableCaptor.value.run()
        verify(windowManager).removeView(rippleView)

        // Verify event logged
        verify(uiEventLogger).log(
                WiredChargingRippleController.WiredChargingRippleEvent.CHARGING_RIPPLE_PLAYED)
    }

    @Test