From 73120a210baa5d5496755cc50e4b218dd3163d32 Mon Sep 17 00:00:00 2001 From: Jordan Silva Date: Mon, 17 Feb 2025 18:22:51 +0000 Subject: [PATCH] Clean-up unused dependencies from TaskContainer and RecentsDependencies Fix: 397222030 Doc: go/launcher-overview-unified-taskviewmodel Flag: com.android.launcher3.enable_refactor_task_thumbnail Test: OverviewImageTest Test: TaskViewModelTest Test: GetThumbnailPositionUseCaseTest Test: GetThumbnailUseCaseTest Change-Id: Idc1793039b4fc57d666dc19c55b984ba617c67bd --- .../recents/di/RecentsDependencies.kt | 4 +- .../recents/usecase/GetThumbnailUseCase.kt | 26 ------ .../android/quickstep/views/TaskContainer.kt | 11 --- .../usecase/GetThumbnailUseCaseTest.kt | 83 ------------------- 4 files changed, 1 insertion(+), 123 deletions(-) delete mode 100644 quickstep/src/com/android/quickstep/recents/usecase/GetThumbnailUseCase.kt delete mode 100644 quickstep/tests/multivalentTests/src/com/android/quickstep/recents/usecase/GetThumbnailUseCaseTest.kt diff --git a/quickstep/src/com/android/quickstep/recents/di/RecentsDependencies.kt b/quickstep/src/com/android/quickstep/recents/di/RecentsDependencies.kt index 4b3bef38cf..c6b3d6ac00 100644 --- a/quickstep/src/com/android/quickstep/recents/di/RecentsDependencies.kt +++ b/quickstep/src/com/android/quickstep/recents/di/RecentsDependencies.kt @@ -31,7 +31,6 @@ import com.android.quickstep.recents.domain.usecase.GetTaskUseCase import com.android.quickstep.recents.domain.usecase.GetThumbnailPositionUseCase import com.android.quickstep.recents.domain.usecase.IsThumbnailValidUseCase import com.android.quickstep.recents.domain.usecase.OrganizeDesktopTasksUseCase -import com.android.quickstep.recents.usecase.GetThumbnailUseCase import com.android.quickstep.recents.viewmodel.RecentsViewData import com.android.quickstep.task.viewmodel.TaskOverlayViewModel import com.android.systemui.shared.recents.model.Task @@ -42,7 +41,7 @@ import kotlinx.coroutines.SupervisorJob internal typealias RecentsScopeId = String -class RecentsDependencies private constructor(private val appContext: Context) { +class RecentsDependencies private constructor(appContext: Context) { private val scopes = mutableMapOf() init { @@ -185,7 +184,6 @@ class RecentsDependencies private constructor(private val appContext: Context) { IsThumbnailValidUseCase::class.java -> IsThumbnailValidUseCase(rotationStateRepository = inject()) GetTaskUseCase::class.java -> GetTaskUseCase(repository = inject()) - GetThumbnailUseCase::class.java -> GetThumbnailUseCase(taskRepository = inject()) GetSysUiStatusNavFlagsUseCase::class.java -> GetSysUiStatusNavFlagsUseCase() GetThumbnailPositionUseCase::class.java -> GetThumbnailPositionUseCase( diff --git a/quickstep/src/com/android/quickstep/recents/usecase/GetThumbnailUseCase.kt b/quickstep/src/com/android/quickstep/recents/usecase/GetThumbnailUseCase.kt deleted file mode 100644 index b9e9e026bc..0000000000 --- a/quickstep/src/com/android/quickstep/recents/usecase/GetThumbnailUseCase.kt +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (C) 2024 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.quickstep.recents.usecase - -import android.graphics.Bitmap -import com.android.quickstep.recents.data.RecentTasksRepository - -/** Use case for retrieving thumbnail. */ -class GetThumbnailUseCase(private val taskRepository: RecentTasksRepository) { - /** Returns the latest thumbnail associated with [taskId] if loaded, or null otherwise */ - fun run(taskId: Int): Bitmap? = taskRepository.getCurrentThumbnailById(taskId)?.thumbnail -} diff --git a/quickstep/src/com/android/quickstep/views/TaskContainer.kt b/quickstep/src/com/android/quickstep/views/TaskContainer.kt index ce20bf9b9b..7301cfc3ca 100644 --- a/quickstep/src/com/android/quickstep/views/TaskContainer.kt +++ b/quickstep/src/com/android/quickstep/views/TaskContainer.kt @@ -25,8 +25,6 @@ import com.android.launcher3.util.SplitConfigurationOptions import com.android.launcher3.util.TransformingTouchDelegate import com.android.quickstep.TaskOverlayFactory import com.android.quickstep.ViewUtils.addAccessibleChildToList -import com.android.quickstep.recents.di.RecentsDependencies -import com.android.quickstep.recents.di.getScope import com.android.quickstep.recents.ui.mapper.TaskUiStateMapper import com.android.quickstep.recents.ui.viewmodel.TaskData import com.android.quickstep.task.thumbnail.TaskThumbnailView @@ -57,13 +55,6 @@ class TaskContainer( init { if (enableRefactorTaskThumbnail()) { require(snapshotView is TaskThumbnailView) - RecentsDependencies.getScope(snapshotView).apply { - val taskViewScope = RecentsDependencies.getScope(taskView) - linkTo(taskViewScope) - - val taskContainerScope = RecentsDependencies.getScope(this@TaskContainer) - linkTo(taskContainerScope) - } } else { require(snapshotView is TaskThumbnailViewDeprecated) } @@ -116,8 +107,6 @@ class TaskContainer( snapshotView.scaleY = 1f overlay.destroy() if (enableRefactorTaskThumbnail()) { - RecentsDependencies.getInstance().removeScope(snapshotView) - RecentsDependencies.getInstance().removeScope(this) isThumbnailValid = false } else { thumbnailViewDeprecated.setShowSplashForSplitSelection(false) diff --git a/quickstep/tests/multivalentTests/src/com/android/quickstep/recents/usecase/GetThumbnailUseCaseTest.kt b/quickstep/tests/multivalentTests/src/com/android/quickstep/recents/usecase/GetThumbnailUseCaseTest.kt deleted file mode 100644 index 90ef61d931..0000000000 --- a/quickstep/tests/multivalentTests/src/com/android/quickstep/recents/usecase/GetThumbnailUseCaseTest.kt +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright (C) 2024 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.quickstep.recents.usecase - -import android.content.ComponentName -import android.content.Intent -import android.graphics.Bitmap -import android.graphics.Color -import com.android.quickstep.recents.data.FakeTasksRepository -import com.android.systemui.shared.recents.model.Task -import com.android.systemui.shared.recents.model.ThumbnailData -import com.google.common.truth.Truth.assertThat -import org.junit.Test -import org.mockito.kotlin.mock -import org.mockito.kotlin.whenever - -/** Test for [GetThumbnailUseCase] */ -class GetThumbnailUseCaseTest { - private val task = - Task(Task.TaskKey(TASK_ID, 0, Intent(), ComponentName("", ""), 0, 2000)).apply { - colorBackground = Color.BLACK - } - private val thumbnailData = - ThumbnailData( - thumbnail = - mock().apply { - whenever(width).thenReturn(THUMBNAIL_WIDTH) - whenever(height).thenReturn(THUMBNAIL_HEIGHT) - } - ) - - private val tasksRepository = FakeTasksRepository() - private val systemUnderTest = GetThumbnailUseCase(tasksRepository) - - @Test - fun taskNotSeeded_returnsNull() { - assertThat(systemUnderTest.run(TASK_ID)).isNull() - } - - @Test - fun taskNotLoaded_returnsNull() { - tasksRepository.seedTasks(listOf(task)) - - assertThat(systemUnderTest.run(TASK_ID)).isNull() - } - - @Test - fun taskNotVisible_returnsNull() { - tasksRepository.seedTasks(listOf(task)) - tasksRepository.seedThumbnailData(mapOf(TASK_ID to thumbnailData)) - - assertThat(systemUnderTest.run(TASK_ID)).isNull() - } - - @Test - fun taskVisible_returnsThumbnail() { - tasksRepository.seedTasks(listOf(task)) - tasksRepository.seedThumbnailData(mapOf(TASK_ID to thumbnailData)) - tasksRepository.setVisibleTasks(setOf(TASK_ID)) - - assertThat(systemUnderTest.run(TASK_ID)).isEqualTo(thumbnailData.thumbnail) - } - - private companion object { - const val TASK_ID = 0 - const val THUMBNAIL_WIDTH = 100 - const val THUMBNAIL_HEIGHT = 200 - } -}