diff options
| author | 2023-11-15 15:27:11 -0800 | |
|---|---|---|
| committer | 2023-12-14 13:38:33 -0800 | |
| commit | cf71ac0e1ba5b4ac3e11183c9a016439bf539b70 (patch) | |
| tree | bafaa5729d2b3a9c4d788515e7b39a7c08d3fde6 /java/src | |
| parent | 3007d9f481e92ed57ca9e3783719b3d84797ef2c (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.java | 15 |
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); } |