Add logging to wired charging ripple
Test: atest WiredChargingRippleControllerTest, checking logged events via test-drive Bug: 182719493 Change-Id: Ic6f0af336830112840357bee3b5b9737a8a31a26
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user