aboutsummaryrefslogtreecommitdiff
path: root/src/com/android/tv/data/BaseProgram.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/tv/data/BaseProgram.java')
-rw-r--r--src/com/android/tv/data/BaseProgram.java61
1 files changed, 47 insertions, 14 deletions
diff --git a/src/com/android/tv/data/BaseProgram.java b/src/com/android/tv/data/BaseProgram.java
index 6cb682b8..0fb1e58d 100644
--- a/src/com/android/tv/data/BaseProgram.java
+++ b/src/com/android/tv/data/BaseProgram.java
@@ -93,24 +93,57 @@ public abstract class BaseProgram {
/** Returns the displayed title of the program episode. */
public String getEpisodeDisplayTitle(Context context) {
- if (!TextUtils.isEmpty(getEpisodeNumber())) {
- String episodeTitle = getEpisodeTitle() == null ? "" : getEpisodeTitle();
- if (TextUtils.equals(getSeasonNumber(), "0")) {
+ String episodeNumber = getEpisodeNumber();
+ String episodeTitle = getEpisodeTitle();
+ if (!TextUtils.isEmpty(episodeNumber)) {
+ episodeTitle = episodeTitle == null ? "" : episodeTitle;
+ String seasonNumber = getSeasonNumber();
+ if (TextUtils.isEmpty(seasonNumber) || TextUtils.equals(seasonNumber, "0")) {
// Do not show "S0: ".
- return String.format(
- context.getResources()
- .getString(R.string.display_episode_title_format_no_season_number),
- getEpisodeNumber(),
- episodeTitle);
+ return context.getResources()
+ .getString(
+ R.string.display_episode_title_format_no_season_number,
+ episodeNumber,
+ episodeTitle);
} else {
- return String.format(
- context.getResources().getString(R.string.display_episode_title_format),
- getSeasonNumber(),
- getEpisodeNumber(),
- episodeTitle);
+ return context.getResources()
+ .getString(
+ R.string.display_episode_title_format,
+ seasonNumber,
+ episodeNumber,
+ episodeTitle);
}
}
- return getEpisodeTitle();
+ return episodeTitle;
+ }
+
+ /**
+ * Returns the content description of the program episode, suitable for being spoken by an
+ * accessibility service.
+ */
+ public String getEpisodeContentDescription(Context context) {
+ String episodeNumber = getEpisodeNumber();
+ String episodeTitle = getEpisodeTitle();
+ if (!TextUtils.isEmpty(episodeNumber)) {
+ episodeTitle = episodeTitle == null ? "" : episodeTitle;
+ String seasonNumber = getSeasonNumber();
+ if (TextUtils.isEmpty(seasonNumber) || TextUtils.equals(seasonNumber, "0")) {
+ // Do not list season if it is empty or 0
+ return context.getResources()
+ .getString(
+ R.string.content_description_episode_format_no_season_number,
+ episodeNumber,
+ episodeTitle);
+ } else {
+ return context.getResources()
+ .getString(
+ R.string.content_description_episode_format,
+ seasonNumber,
+ episodeNumber,
+ episodeTitle);
+ }
+ }
+ return episodeTitle;
}
/** Returns the description of the program. */