summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2020-06-18 13:16:56 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2020-06-18 13:16:56 +0000
commitae64ae50de3354474b9f296b54630925089effe9 (patch)
treeae86470968e639fe0c23966ce44b10231a110977 /core/java
parent6a3f241eb7fc3fbf59641fc1145aaea311dbc632 (diff)
parentdd6ed8ecbb9cb9e029548cd7897ed104d6d2581d (diff)
Merge "Resolver - Center text with no sublabel" into rvc-dev
Diffstat (limited to 'core/java')
-rw-r--r--core/java/com/android/internal/app/ChooserListAdapter.java6
-rw-r--r--core/java/com/android/internal/app/ResolverListAdapter.java16
2 files changed, 15 insertions, 7 deletions
diff --git a/core/java/com/android/internal/app/ChooserListAdapter.java b/core/java/com/android/internal/app/ChooserListAdapter.java
index 05169023000f..5efd46c4c64a 100644
--- a/core/java/com/android/internal/app/ChooserListAdapter.java
+++ b/core/java/com/android/internal/app/ChooserListAdapter.java
@@ -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.
diff --git a/core/java/com/android/internal/app/ResolverListAdapter.java b/core/java/com/android/internal/app/ResolverListAdapter.java
index fc8cafdc526c..04a186c3207e 100644
--- a/core/java/com/android/internal/app/ResolverListAdapter.java
+++ b/core/java/com/android/internal/app/ResolverListAdapter.java
@@ -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();
@@ -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}.
@@ -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);
}
@@ -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());
}
}