Loading core/java/com/android/internal/app/ChooserListAdapter.java +6 −0 Original line number Diff line number Diff line Loading @@ -838,6 +838,12 @@ public class ChooserListAdapter extends ResolverListAdapter { return mServiceTargets.get(value).getChooserTarget(); } protected boolean alwaysShowSubLabel() { // Always show a subLabel for visual consistency across list items. Show an empty // subLabel if the subLabel is the same as the label return true; } /** * Rather than fully sorting the input list, this sorting task will put the top k elements * in the head of input list and fill the tail with other elements in undetermined order. Loading core/java/com/android/internal/app/ResolverListAdapter.java +9 −7 Original line number Diff line number Diff line Loading @@ -540,7 +540,7 @@ public class ResolverListAdapter extends BaseAdapter { && !((DisplayResolveInfo) info).hasDisplayLabel()) { getLoadLabelTask((DisplayResolveInfo) info, holder).execute(); } else { holder.bindLabel(info.getDisplayLabel(), info.getExtendedInfo()); holder.bindLabel(info.getDisplayLabel(), info.getExtendedInfo(), alwaysShowSubLabel()); if (info instanceof SelectableTargetInfo) { // direct share targets should append the application name for a better readout DisplayResolveInfo rInfo = ((SelectableTargetInfo) info).getDisplayResolveInfo(); Loading Loading @@ -642,6 +642,10 @@ public class ResolverListAdapter extends BaseAdapter { mIsTabLoaded = true; } protected boolean alwaysShowSubLabel() { return false; } /** * Necessary methods to communicate between {@link ResolverListAdapter} * and {@link ResolverActivity}. Loading Loading @@ -684,18 +688,16 @@ public class ResolverListAdapter extends BaseAdapter { icon = (ImageView) view.findViewById(R.id.icon); } public void bindLabel(CharSequence label, CharSequence subLabel) { public void bindLabel(CharSequence label, CharSequence subLabel, boolean showSubLabel) { if (!TextUtils.equals(text.getText(), label)) { text.setText(label); } // Always show a subLabel for visual consistency across list items. Show an empty // subLabel if the subLabel is the same as the label if (TextUtils.equals(label, subLabel)) { subLabel = null; subLabel = ""; } if (!TextUtils.equals(text2.getText(), subLabel)) { if (showSubLabel || !TextUtils.equals(text2.getText(), subLabel)) { text2.setVisibility(View.VISIBLE); text2.setText(subLabel); } Loading Loading @@ -754,7 +756,7 @@ public class ResolverListAdapter extends BaseAdapter { protected void onPostExecute(CharSequence[] result) { mDisplayResolveInfo.setDisplayLabel(result[0]); mDisplayResolveInfo.setExtendedInfo(result[1]); mHolder.bindLabel(result[0], result[1]); mHolder.bindLabel(result[0], result[1], alwaysShowSubLabel()); } } Loading Loading
core/java/com/android/internal/app/ChooserListAdapter.java +6 −0 Original line number Diff line number Diff line Loading @@ -838,6 +838,12 @@ public class ChooserListAdapter extends ResolverListAdapter { return mServiceTargets.get(value).getChooserTarget(); } protected boolean alwaysShowSubLabel() { // Always show a subLabel for visual consistency across list items. Show an empty // subLabel if the subLabel is the same as the label return true; } /** * Rather than fully sorting the input list, this sorting task will put the top k elements * in the head of input list and fill the tail with other elements in undetermined order. Loading
core/java/com/android/internal/app/ResolverListAdapter.java +9 −7 Original line number Diff line number Diff line Loading @@ -540,7 +540,7 @@ public class ResolverListAdapter extends BaseAdapter { && !((DisplayResolveInfo) info).hasDisplayLabel()) { getLoadLabelTask((DisplayResolveInfo) info, holder).execute(); } else { holder.bindLabel(info.getDisplayLabel(), info.getExtendedInfo()); holder.bindLabel(info.getDisplayLabel(), info.getExtendedInfo(), alwaysShowSubLabel()); if (info instanceof SelectableTargetInfo) { // direct share targets should append the application name for a better readout DisplayResolveInfo rInfo = ((SelectableTargetInfo) info).getDisplayResolveInfo(); Loading Loading @@ -642,6 +642,10 @@ public class ResolverListAdapter extends BaseAdapter { mIsTabLoaded = true; } protected boolean alwaysShowSubLabel() { return false; } /** * Necessary methods to communicate between {@link ResolverListAdapter} * and {@link ResolverActivity}. Loading Loading @@ -684,18 +688,16 @@ public class ResolverListAdapter extends BaseAdapter { icon = (ImageView) view.findViewById(R.id.icon); } public void bindLabel(CharSequence label, CharSequence subLabel) { public void bindLabel(CharSequence label, CharSequence subLabel, boolean showSubLabel) { if (!TextUtils.equals(text.getText(), label)) { text.setText(label); } // Always show a subLabel for visual consistency across list items. Show an empty // subLabel if the subLabel is the same as the label if (TextUtils.equals(label, subLabel)) { subLabel = null; subLabel = ""; } if (!TextUtils.equals(text2.getText(), subLabel)) { if (showSubLabel || !TextUtils.equals(text2.getText(), subLabel)) { text2.setVisibility(View.VISIBLE); text2.setText(subLabel); } Loading Loading @@ -754,7 +756,7 @@ public class ResolverListAdapter extends BaseAdapter { protected void onPostExecute(CharSequence[] result) { mDisplayResolveInfo.setDisplayLabel(result[0]); mDisplayResolveInfo.setExtendedInfo(result[1]); mHolder.bindLabel(result[0], result[1]); mHolder.bindLabel(result[0], result[1], alwaysShowSubLabel()); } } Loading