Remove sub-text from slice builder

We would like to remove all sub-text from Settings Search. But slice
view does not support API to configure the sub-text visibility.
Therefore, the only way is to remove the sub-text from slices directly.

Since Settings slices are also invoked by other apps, we can not
directly remove the sub-text.

Finally, we decide to check the caller's uid. If it comes from Settings
Search, we will return the slice without the sub-text.

Bug: 143118037
Test: visual, robotests
Change-Id: Iac72f1683a2c930592634e0599058890d86f669d
This commit is contained in:
Yanting Yang
2020-03-20 12:04:09 +08:00
parent 5c3f71859e
commit 96127fe621
7 changed files with 101 additions and 77 deletions

View File

@@ -241,16 +241,19 @@ public class SliceBuilderUtils {
final SliceAction sliceAction = getToggleAction(context, sliceData,
toggleController.isChecked());
final Set<String> keywords = buildSliceKeywords(sliceData);
final RowBuilder rowBuilder = new RowBuilder()
.setTitle(sliceData.getTitle())
.setPrimaryAction(
SliceAction.createDeeplink(contentIntent, icon,
ListBuilder.ICON_IMAGE, sliceData.getTitle()))
.addEndItem(sliceAction);
if (!Utils.isSettingsIntelligence(context)) {
rowBuilder.setSubtitle(subtitleText);
}
return new ListBuilder(context, sliceData.getUri(), ListBuilder.INFINITY)
.setAccentColor(color)
.addRow(new RowBuilder()
.setTitle(sliceData.getTitle())
.setSubtitle(subtitleText)
.setPrimaryAction(
SliceAction.createDeeplink(contentIntent, icon,
ListBuilder.ICON_IMAGE, sliceData.getTitle()))
.addEndItem(sliceAction))
.addRow(rowBuilder)
.setKeywords(keywords)
.build();
}
@@ -262,16 +265,19 @@ public class SliceBuilderUtils {
final CharSequence subtitleText = getSubtitleText(context, controller, sliceData);
@ColorInt final int color = Utils.getColorAccentDefaultColor(context);
final Set<String> keywords = buildSliceKeywords(sliceData);
final RowBuilder rowBuilder = new RowBuilder()
.setTitle(sliceData.getTitle())
.setPrimaryAction(
SliceAction.createDeeplink(contentIntent, icon,
ListBuilder.ICON_IMAGE,
sliceData.getTitle()));
if (!Utils.isSettingsIntelligence(context)) {
rowBuilder.setSubtitle(subtitleText);
}
return new ListBuilder(context, sliceData.getUri(), ListBuilder.INFINITY)
.setAccentColor(color)
.addRow(new RowBuilder()
.setTitle(sliceData.getTitle())
.setSubtitle(subtitleText)
.setPrimaryAction(
SliceAction.createDeeplink(contentIntent, icon,
ListBuilder.ICON_IMAGE,
sliceData.getTitle())))
.addRow(rowBuilder)
.setKeywords(keywords)
.build();
}
@@ -301,7 +307,6 @@ public class SliceBuilderUtils {
}
final InputRangeBuilder inputRangeBuilder = new InputRangeBuilder()
.setTitle(sliceData.getTitle())
.setSubtitle(subtitleText)
.setPrimaryAction(primaryAction)
.setMax(sliderController.getMax())
.setMin(sliderController.getMin())
@@ -311,6 +316,9 @@ public class SliceBuilderUtils {
inputRangeBuilder.setTitleItem(icon, ListBuilder.ICON_IMAGE);
color = CustomSliceable.COLOR_NOT_TINTED;
}
if (!Utils.isSettingsIntelligence(context)) {
inputRangeBuilder.setSubtitle(subtitleText);
}
return new ListBuilder(context, sliceData.getUri(), ListBuilder.INFINITY)
.setAccentColor(color)
@@ -330,14 +338,17 @@ public class SliceBuilderUtils {
final CharSequence subtitleText = getSubtitleText(context, controller, sliceData);
@ColorInt final int color = Utils.getColorAccentDefaultColor(context);
final Set<String> keywords = buildSliceKeywords(sliceData);
final RowBuilder rowBuilder = new RowBuilder()
.setTitle(sliceData.getTitle())
.setPrimaryAction(primaryAction)
.addEndItem(copyableAction);
if (!Utils.isSettingsIntelligence(context)) {
rowBuilder.setSubtitle(subtitleText);
}
return new ListBuilder(context, sliceData.getUri(), ListBuilder.INFINITY)
.setAccentColor(color)
.addRow(new RowBuilder()
.setTitle(sliceData.getTitle())
.setSubtitle(subtitleText)
.setPrimaryAction(primaryAction)
.addEndItem(copyableAction))
.addRow(rowBuilder)
.setKeywords(keywords)
.build();
}
@@ -418,14 +429,17 @@ public class SliceBuilderUtils {
final SliceAction primaryAction = SliceAction.createDeeplink(
getContentPendingIntent(context, data),
icon, ListBuilder.ICON_IMAGE, title);
final RowBuilder rowBuilder = new RowBuilder()
.setTitle(title)
.setTitleItem(icon, ListBuilder.ICON_IMAGE)
.setPrimaryAction(primaryAction);
if (!Utils.isSettingsIntelligence(context)) {
rowBuilder.setSubtitle(subtitle);
}
return new ListBuilder(context, data.getUri(), ListBuilder.INFINITY)
.setAccentColor(color)
.addRow(new RowBuilder()
.setTitle(title)
.setTitleItem(icon, ListBuilder.ICON_IMAGE)
.setSubtitle(subtitle)
.setPrimaryAction(primaryAction))
.addRow(rowBuilder)
.setKeywords(keywords)
.build();
}