summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
author Andrey Epin <ayepin@google.com> 2023-11-15 15:27:11 -0800
committer Andrey Epin <ayepin@google.com> 2023-12-14 13:38:33 -0800
commitcf71ac0e1ba5b4ac3e11183c9a016439bf539b70 (patch)
treebafaa5729d2b3a9c4d788515e7b39a7c08d3fde6 /java/src
parent3007d9f481e92ed57ca9e3783719b3d84797ef2c (diff)
MultiDisplayResolveItem to return a selected resolved component name.
Fix: 309169275 Test: atest com.android.intentresolver.chooser.TargetInfoTest Test: confirm the correct behavior with an injected debug logging Change-Id: Idce3fedb3fbed130132b985479152f8f7e641dae
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/intentresolver/chooser/MultiDisplayResolveInfo.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/java/src/com/android/intentresolver/chooser/MultiDisplayResolveInfo.java b/java/src/com/android/intentresolver/chooser/MultiDisplayResolveInfo.java
index b97e6b45..4fe28384 100644
--- a/java/src/com/android/intentresolver/chooser/MultiDisplayResolveInfo.java
+++ b/java/src/com/android/intentresolver/chooser/MultiDisplayResolveInfo.java
@@ -17,9 +17,11 @@
package com.android.intentresolver.chooser;
import android.app.Activity;
+import android.content.ComponentName;
import android.content.Intent;
import android.os.Bundle;
import android.os.UserHandle;
+import android.util.Log;
import androidx.annotation.Nullable;
@@ -121,6 +123,19 @@ public class MultiDisplayResolveInfo extends DisplayResolveInfo {
}
@Override
+ public ComponentName getResolvedComponentName() {
+ if (hasSelected()) {
+ return mTargetInfos.get(mSelected).getResolvedComponentName();
+ }
+ // It is not expected to have this method be called on an unselected multi-display item.
+ // Call super to preserve the legacy (most likely erroneous) behavior.
+ Log.wtf(
+ "ChooserActivity",
+ "retrieving ResolvedComponentName from an unselected MultiDisplayResolveInfo");
+ return super.getResolvedComponentName();
+ }
+
+ @Override
public boolean startAsUser(Activity activity, Bundle options, UserHandle user) {
return mTargetInfos.get(mSelected).startAsUser(activity, options, user);
}