diff --git a/core/java/com/android/internal/app/ChooserListAdapter.java b/core/java/com/android/internal/app/ChooserListAdapter.java
index 14a2d379ced61..a3b2defe532a1 100644
--- a/core/java/com/android/internal/app/ChooserListAdapter.java
+++ b/core/java/com/android/internal/app/ChooserListAdapter.java
@@ -30,6 +30,7 @@ import android.content.pm.LabeledIntent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.pm.ShortcutInfo;
+import android.graphics.drawable.Drawable;
import android.os.AsyncTask;
import android.os.UserHandle;
import android.os.UserManager;
@@ -253,6 +254,16 @@ public class ChooserListAdapter extends ResolverListAdapter {
holder.text.setBackground(null);
holder.itemView.setBackground(holder.defaultItemViewBackground);
}
+
+ // If the target is grouped show an indicator
+ if (info instanceof MultiDisplayResolveInfo) {
+ Drawable bkg = mContext.getDrawable(R.drawable.chooser_group_background);
+ holder.text.setPaddingRelative(0, 0, bkg.getIntrinsicWidth() /* end */, 0);
+ holder.text.setBackground(bkg);
+ } else {
+ holder.text.setBackground(null);
+ holder.text.setPaddingRelative(0, 0, 0, 0);
+ }
}
void updateAlphabeticalList() {
diff --git a/core/res/res/drawable/chooser_group_background.xml b/core/res/res/drawable/chooser_group_background.xml
new file mode 100644
index 0000000000000..2bf9337557ed7
--- /dev/null
+++ b/core/res/res/drawable/chooser_group_background.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
diff --git a/core/res/res/drawable/ic_chooser_group_arrow.xml b/core/res/res/drawable/ic_chooser_group_arrow.xml
new file mode 100644
index 0000000000000..d42bb97bbb370
--- /dev/null
+++ b/core/res/res/drawable/ic_chooser_group_arrow.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index a52ba809d7c41..ade0447e33aac 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -2745,6 +2745,8 @@
+
+