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:
Shan Huang
2021-05-31 22:47:08 +08:00
parent 2c52d52f6d
commit 55b29be932
2 changed files with 19 additions and 2 deletions

View File

@@ -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
}
}

View File

@@ -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