Loading packages/SystemUI/src/com/android/systemui/statusbar/charging/WiredChargingRippleController.kt +12 −1 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 && Loading Loading @@ -164,6 +167,7 @@ class WiredChargingRippleController @Inject constructor( } }) windowManager.addView(rippleView, windowLayoutParams) uiEventLogger.log(WiredChargingRippleEvent.CHARGING_RIPPLE_PLAYED) } private fun layoutRipple() { Loading Loading @@ -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 } } packages/SystemUI/tests/src/com/android/systemui/statusbar/charging/WiredChargingRippleControllerTest.kt +7 −1 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 Loading @@ -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 } Loading Loading @@ -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 Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/charging/WiredChargingRippleController.kt +12 −1 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 && Loading Loading @@ -164,6 +167,7 @@ class WiredChargingRippleController @Inject constructor( } }) windowManager.addView(rippleView, windowLayoutParams) uiEventLogger.log(WiredChargingRippleEvent.CHARGING_RIPPLE_PLAYED) } private fun layoutRipple() { Loading Loading @@ -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 } }
packages/SystemUI/tests/src/com/android/systemui/statusbar/charging/WiredChargingRippleControllerTest.kt +7 −1 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 Loading @@ -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 } Loading Loading @@ -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 Loading