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

Commit eddc3f65 authored by Alex Chau's avatar Alex Chau
Browse files

Mark TaskSnapshot from onAnimationCanceled Nullable

- TaskSnapshot from onAnimationCanceled can be null, and our Kotlin assumes it's not and throws NullPointerException. Handle it gracefully instead.
- Even though onAnimationCanceled doesn't provide updated screenshot, we still have the screenshot taken on swipe up as backup to show

Fix: 413581605
Test: Manual (see steps in bug)
Flag: EXEMPT bug fix
Change-Id: Ibb4ceb18d9ae17264f5a7addd46801b5762f51cf
parent 95d0bed6
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -58,7 +58,7 @@ data class ThumbnailData(
                    "ThumbnailData",
                    "Unexpected snapshot without USAGE_GPU_SAMPLED_IMAGE: " +
                        "${snapshot.hardwareBuffer}",
                    ex
                    ex,
                )
            }

@@ -69,10 +69,15 @@ data class ThumbnailData(
        }

        @JvmStatic
        fun wrap(taskIds: IntArray?, snapshots: Array<TaskSnapshot>?): HashMap<Int, ThumbnailData> {
        fun wrap(
            taskIds: IntArray?,
            snapshots: Array<TaskSnapshot?>?,
        ): HashMap<Int, ThumbnailData> {
            return hashMapOf<Int, ThumbnailData>().apply {
                if (taskIds != null && snapshots != null && taskIds.size == snapshots.size) {
                    repeat(snapshots.size) { put(taskIds[it], fromSnapshot(snapshots[it])) }
                    repeat(snapshots.size) {
                        snapshots[it]?.let { snapshot -> put(taskIds[it], fromSnapshot(snapshot)) }
                    }
                }
            }
        }