A new attribute which can show the dynamic summary
For now, slice view shows screen title by default, but it isn't approprate for some simple cases. ie, device model, phone number, android version etc. So, We create a new attribue which let BasePreferenceController be more flxible. User can choose what they want to show in summary text. Fixes: 74900516 Test: make RunSettingsRoboTests Change-Id: I2788c6edfaf8e656170a507607f22513841a3e0a
This commit is contained in:
@@ -184,12 +184,23 @@ public class SliceBuilderUtils {
|
||||
*/
|
||||
public static CharSequence getSubtitleText(Context context,
|
||||
AbstractPreferenceController controller, SliceData sliceData) {
|
||||
CharSequence summaryText = sliceData.getScreenTitle();
|
||||
final boolean isDynamicSummaryAllowed = sliceData.isDynamicSummaryAllowed();
|
||||
CharSequence summaryText = controller.getSummary();
|
||||
|
||||
// Priority 1 : User prefers showing the dynamic summary in slice view rather than static
|
||||
// summary.
|
||||
if (isDynamicSummaryAllowed && isValidSummary(context, summaryText)) {
|
||||
return summaryText;
|
||||
}
|
||||
|
||||
// Priority 2 : Show screen title.
|
||||
summaryText = sliceData.getScreenTitle();
|
||||
if (isValidSummary(context, summaryText) && !TextUtils.equals(summaryText,
|
||||
sliceData.getTitle())) {
|
||||
return summaryText;
|
||||
}
|
||||
|
||||
// Priority 3 : Show dynamic summary from preference controller.
|
||||
if (controller != null) {
|
||||
summaryText = controller.getSummary();
|
||||
|
||||
@@ -198,11 +209,13 @@ public class SliceBuilderUtils {
|
||||
}
|
||||
}
|
||||
|
||||
// Priority 4 : Show summary from slice data.
|
||||
summaryText = sliceData.getSummary();
|
||||
if (isValidSummary(context, summaryText)) {
|
||||
return summaryText;
|
||||
}
|
||||
|
||||
// Priority 5 : Show empty text.
|
||||
return "";
|
||||
}
|
||||
|
||||
@@ -217,7 +230,7 @@ public class SliceBuilderUtils {
|
||||
.build();
|
||||
}
|
||||
|
||||
public static Intent buildSearchResultPageIntent(Context context, String className, String key,
|
||||
public static Intent buildSearchResultPageIntent(Context context, String className, String key,
|
||||
String screenTitle, int sourceMetricsCategory) {
|
||||
final Bundle args = new Bundle();
|
||||
args.putString(SettingsActivity.EXTRA_FRAGMENT_ARG_KEY, key);
|
||||
|
Reference in New Issue
Block a user