diff options
| author | 2022-10-07 14:01:38 +0000 | |
|---|---|---|
| committer | 2022-10-07 14:01:38 +0000 | |
| commit | 2dc3063f34a9e2dc73cbe1b2db3897b5c80a0fb9 (patch) | |
| tree | e125892834b79ade3f163c996598aae32373dc6f | |
| parent | 6f4ad539f64a27780c48ccdc756f02f1bdd5d76a (diff) | |
| parent | 24bc25037a929bf0b2a98c3ba36085e6433d24c1 (diff) | |
Merge "[Partial screensharing] Handle clicking on recent apps" into tm-qpr-dev am: 24bc25037a
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20063885
Change-Id: Idfe8280cca1fc42ba0b8aa46a3788f3d419a23c4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2 files changed, 14 insertions, 5 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaProjectionAppSelectorActivity.kt b/packages/SystemUI/src/com/android/systemui/media/MediaProjectionAppSelectorActivity.kt index c6bd777fbd7a..ea5780622822 100644 --- a/packages/SystemUI/src/com/android/systemui/media/MediaProjectionAppSelectorActivity.kt +++ b/packages/SystemUI/src/com/android/systemui/media/MediaProjectionAppSelectorActivity.kt @@ -16,6 +16,7 @@ package com.android.systemui.media import android.app.ActivityOptions +import android.app.IActivityTaskManager import android.content.Intent import android.media.projection.IMediaProjection import android.media.projection.MediaProjectionManager.EXTRA_MEDIA_PROJECTION @@ -46,6 +47,7 @@ import javax.inject.Inject class MediaProjectionAppSelectorActivity( private val activityLauncher: AsyncActivityLauncher, + private val activityTaskManager: IActivityTaskManager, private val controller: MediaProjectionAppSelectorController, private val recentTasksAdapterFactory: RecentTasksAdapter.Factory, /** This is used to override the dependency in a screenshot test */ @@ -56,9 +58,10 @@ class MediaProjectionAppSelectorActivity( @Inject constructor( activityLauncher: AsyncActivityLauncher, + activityTaskManager: IActivityTaskManager, controller: MediaProjectionAppSelectorController, recentTasksAdapterFactory: RecentTasksAdapter.Factory, - ) : this(activityLauncher, controller, recentTasksAdapterFactory, null) + ) : this(activityLauncher, activityTaskManager, controller, recentTasksAdapterFactory, null) private var recentsRoot: ViewGroup? = null private var recentsProgress: View? = null @@ -176,8 +179,14 @@ class MediaProjectionAppSelectorActivity( recycler.adapter = recentTasksAdapterFactory.create(recentTasks, this) } - override fun onRecentClicked(task: RecentTask, view: View) { - // TODO(b/240924732) Handle clicking on a recent task + override fun onRecentAppClicked(task: RecentTask, view: View) { + val launchCookie = Binder() + val activityOptions = ActivityOptions.makeScaleUpAnimation(view, /* startX= */ 0, + /* startY= */ 0, view.width, view.height) + activityOptions.launchCookie = launchCookie + + activityTaskManager.startActivityFromRecents(task.taskId, activityOptions.toBundle()) + onTargetActivityLaunched(launchCookie) } private fun onTargetActivityLaunched(launchToken: IBinder) { diff --git a/packages/SystemUI/src/com/android/systemui/mediaprojection/appselector/view/RecentTasksAdapter.kt b/packages/SystemUI/src/com/android/systemui/mediaprojection/appselector/view/RecentTasksAdapter.kt index ec9cfa88f34d..51b4012f88c5 100644 --- a/packages/SystemUI/src/com/android/systemui/mediaprojection/appselector/view/RecentTasksAdapter.kt +++ b/packages/SystemUI/src/com/android/systemui/mediaprojection/appselector/view/RecentTasksAdapter.kt @@ -43,7 +43,7 @@ class RecentTasksAdapter @AssistedInject constructor( override fun onBindViewHolder(holder: RecentTaskViewHolder, position: Int) { val task = items[position] holder.bind(task, onClick = { - listener.onRecentClicked(task, holder.itemView) + listener.onRecentAppClicked(task, holder.itemView) }) } @@ -54,7 +54,7 @@ class RecentTasksAdapter @AssistedInject constructor( } interface RecentTaskClickListener { - fun onRecentClicked(task: RecentTask, view: View) + fun onRecentAppClicked(task: RecentTask, view: View) } @AssistedFactory |