Merge "Fixed a crash when dragging down on the NotificationShelf" into sc-v2-dev am: 6334c5c03b

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16620088

Change-Id: I35956e2598911dcd75dbb8d40ac559273309af36
This commit is contained in:
Lucas Dupin
2022-01-12 21:47:21 +00:00
committed by Automerger Merge Worker
2 changed files with 48 additions and 4 deletions

View File

@@ -34,7 +34,7 @@ class LSShadeTransitionLogger @Inject constructor(
private val displayMetrics: DisplayMetrics
) {
fun logUnSuccessfulDragDown(startingChild: View?) {
val entry = (startingChild as ExpandableNotificationRow?)?.entry
val entry = (startingChild as? ExpandableNotificationRow)?.entry
buffer.log(TAG, LogLevel.INFO, {
str1 = entry?.key ?: "no entry"
}, {
@@ -49,7 +49,7 @@ class LSShadeTransitionLogger @Inject constructor(
}
fun logDragDownStarted(startingChild: ExpandableView?) {
val entry = (startingChild as ExpandableNotificationRow?)?.entry
val entry = (startingChild as? ExpandableNotificationRow)?.entry
buffer.log(TAG, LogLevel.INFO, {
str1 = entry?.key ?: "no entry"
}, {
@@ -58,7 +58,7 @@ class LSShadeTransitionLogger @Inject constructor(
}
fun logDraggedDownLockDownShade(startingChild: View?) {
val entry = (startingChild as ExpandableNotificationRow?)?.entry
val entry = (startingChild as? ExpandableNotificationRow)?.entry
buffer.log(TAG, LogLevel.INFO, {
str1 = entry?.key ?: "no entry"
}, {
@@ -67,7 +67,7 @@ class LSShadeTransitionLogger @Inject constructor(
}
fun logDraggedDown(startingChild: View?, dragLengthY: Int) {
val entry = (startingChild as ExpandableNotificationRow?)?.entry
val entry = (startingChild as? ExpandableNotificationRow)?.entry
buffer.log(TAG, LogLevel.INFO, {
str1 = entry?.key ?: "no entry"
}, {

View File

@@ -0,0 +1,44 @@
package com.android.systemui.statusbar
import android.testing.AndroidTestingRunner
import android.util.DisplayMetrics
import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase
import com.android.systemui.log.LogBuffer
import com.android.systemui.statusbar.notification.row.ExpandableView
import com.android.systemui.statusbar.phone.LSShadeTransitionLogger
import com.android.systemui.statusbar.phone.LockscreenGestureLogger
import com.android.systemui.util.mockito.mock
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mock
import org.mockito.junit.MockitoJUnit
@RunWith(AndroidTestingRunner::class)
@SmallTest
class LSShadeTransitionLoggerTest : SysuiTestCase() {
lateinit var logger: LSShadeTransitionLogger
@Mock
lateinit var gestureLogger: LockscreenGestureLogger
@Mock
lateinit var displayMetrics: DisplayMetrics
@JvmField @Rule
val mockito = MockitoJUnit.rule()
@Before
fun setup() {
logger = LSShadeTransitionLogger(
LogBuffer("Test", 10, 10, mock()),
gestureLogger,
displayMetrics)
}
@Test
fun testLogDragDownStarted() {
val view: ExpandableView = mock()
// log a non-null, non row, ensure no crash
logger.logDragDownStarted(view)
}
}