summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Nick Chameyev <nickchameyev@google.com> 2022-10-07 14:01:38 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2022-10-07 14:01:38 +0000
commit2dc3063f34a9e2dc73cbe1b2db3897b5c80a0fb9 (patch)
treee125892834b79ade3f163c996598aae32373dc6f
parent6f4ad539f64a27780c48ccdc756f02f1bdd5d76a (diff)
parent24bc25037a929bf0b2a98c3ba36085e6433d24c1 (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>
-rw-r--r--packages/SystemUI/src/com/android/systemui/media/MediaProjectionAppSelectorActivity.kt15
-rw-r--r--packages/SystemUI/src/com/android/systemui/mediaprojection/appselector/view/RecentTasksAdapter.kt4
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