belongs to Maven artifact androidx.recommendation:recommendation:1.0.0-alpha1

ContentRecommendation

public final class ContentRecommendation
extends Object

java.lang.Object
   ↳ androidx.recommendation.app.ContentRecommendation


The ContentRecommendation object encapsulates all application provided data for a single content recommendation item.

Summary

Nested classes

class ContentRecommendation.Builder

Builder class for ContentRecommendation objects. 

@interface ContentRecommendation.ContentMaturity

 

@interface ContentRecommendation.ContentPricing

 

@interface ContentRecommendation.ContentStatus

 

@interface ContentRecommendation.ContentType

 

class ContentRecommendation.IntentData

Object used to encapsulate the data to be used to build the PendingIntent object associated with a given content recommendation, at the time this recommendation gets posted to the home Screen. 

@interface ContentRecommendation.IntentType

 

Constants

String CONTENT_MATURITY_ALL

Value to be used with ContentRecommendation.Builder.setMaturityRating(String) to indicate that the content referred by the notification is suitable for all audiences.

String CONTENT_MATURITY_HIGH

Value to be used with ContentRecommendation.Builder.setMaturityRating(String) to indicate that the content referred by the notification is suitable for audiences of high maturity and above.

String CONTENT_MATURITY_LOW

Value to be used with ContentRecommendation.Builder.setMaturityRating(String) to indicate that the content referred by the notification is suitable for audiences of low maturity and above.

String CONTENT_MATURITY_MEDIUM

Value to be used with ContentRecommendation.Builder.setMaturityRating(String) to indicate that the content referred by the notification is suitable for audiences of medium maturity and above.

String CONTENT_PRICING_FREE

Value to be used with ContentRecommendation.Builder.setPricingInformation(String, String) to indicate that the content referred by the notification item is free to consume.

String CONTENT_PRICING_PREORDER

Value to be used with ContentRecommendation.Builder.setPricingInformation(String, String) to indicate that the content referred by the notification item is available currently as a pre-order, and the price value provided is the purchase price for the item.

String CONTENT_PRICING_PURCHASE

Value to be used with ContentRecommendation.Builder.setPricingInformation(String, String) to indicate that the content referred by the notification item is available for purchase, and the price value provided is the purchase price for the item.

String CONTENT_PRICING_RENTAL

Value to be used with ContentRecommendation.Builder.setPricingInformation(String, String) to indicate that the content referred by the notification item is available as a rental, and the price value provided is the rental price for the item.

String CONTENT_PRICING_SUBSCRIPTION

Value to be used with ContentRecommendation.Builder.setPricingInformation(String, String) to indicate that the content referred by the notification item is available as part of a subscription based service, and the price value provided is the subscription price for the service.

int CONTENT_STATUS_AVAILABLE

Value to be used with ContentRecommendation.Builder.setStatus(int) to indicate that the content referred by the notification is available, but needs to be first purchased, rented, subscribed or downloaded before it can be consumed.

int CONTENT_STATUS_PENDING

Value to be used with ContentRecommendation.Builder.setStatus(int) to indicate that the content referred by the notification is pending, waiting on either a download or purchase operation to complete before it can be consumed.

int CONTENT_STATUS_READY

Value to be used with ContentRecommendation.Builder.setStatus(int) to indicate that the content referred by the notification is available and ready to be consumed immediately.

int CONTENT_STATUS_UNAVAILABLE

Value to be used with ContentRecommendation.Builder.setStatus(int) to indicate that the content referred by the notification is not available.

String CONTENT_TYPE_APP

Value to be used with ContentRecommendation.Builder.setContentTypes(String[]) to indicate that the content referred by the notification item is an application.

String CONTENT_TYPE_BOOK

Value to be used with ContentRecommendation.Builder.setContentTypes(String[]) to indicate that the content referred by the notification item is a book.

String CONTENT_TYPE_COMIC

Value to be used with ContentRecommendation.Builder.setContentTypes(String[]) to indicate that the content referred by the notification item is a comic book.

String CONTENT_TYPE_GAME

Value to be used with ContentRecommendation.Builder.setContentTypes(String[]) to indicate that the content referred by the notification item is a game.

String CONTENT_TYPE_MAGAZINE

Value to be used with ContentRecommendation.Builder.setContentTypes(String[]) to indicate that the content referred by the notification item is a magazine.

String CONTENT_TYPE_MOVIE

Value to be used with ContentRecommendation.Builder.setContentTypes(String[]) to indicate that the content referred by the notification item is a movie.

String CONTENT_TYPE_MUSIC

Value to be used with ContentRecommendation.Builder.setContentTypes(String[]) to indicate that the content referred by the notification item is a song or album.

String CONTENT_TYPE_NEWS

Value to be used with ContentRecommendation.Builder.setContentTypes(String[]) to indicate that the content referred by the notification item is a news item.

String CONTENT_TYPE_PODCAST

Value to be used with ContentRecommendation.Builder.setContentTypes(String[]) to indicate that the content referred by the notification item is a podcast.

String CONTENT_TYPE_RADIO

Value to be used with ContentRecommendation.Builder.setContentTypes(String[]) to indicate that the content referred by the notification item is a radio station.

String CONTENT_TYPE_SERIAL

Value to be used with ContentRecommendation.Builder.setContentTypes(String[]) to indicate that the content referred by the notification item is serial.

String CONTENT_TYPE_SPORTS

Value to be used with ContentRecommendation.Builder.setContentTypes(String[]) to indicate that the content referred by the notification item is sports.

String CONTENT_TYPE_TRAILER

Value to be used with ContentRecommendation.Builder.setContentTypes(String[]) to indicate that the content referred by the notification item is a trailer.

String CONTENT_TYPE_VIDEO

Value to be used with ContentRecommendation.Builder.setContentTypes(String[]) to indicate that the content referred by the notification item is a video clip.

String CONTENT_TYPE_WEBSITE

Value to be used with ContentRecommendation.Builder.setContentTypes(String[]) to indicate that the content referred by the notification item is a website.

int INTENT_TYPE_ACTIVITY

Value to be used with ContentRecommendation.Builder.setContentIntentData(int, Intent, int, Bundle) and ContentRecommendation.Builder.setDismissIntentData(int, Intent, int, Bundle) to indicate that a PendingIntent for an Activity should be created when posting the recommendation to the HomeScreen.

int INTENT_TYPE_BROADCAST

Value to be used with ContentRecommendation.Builder.setContentIntentData(int, Intent, int, Bundle) and ContentRecommendation.Builder.setDismissIntentData(int, Intent, int, Bundle) to indicate that a PendingIntent for a Broadcast should be created when posting the recommendation to the HomeScreen.

int INTENT_TYPE_SERVICE

Value to be used with ContentRecommendation.Builder.setContentIntentData(int, Intent, int, Bundle) and ContentRecommendation.Builder.setDismissIntentData(int, Intent, int, Bundle) to indicate that a PendingIntent for a Service should be created when posting the recommendation to the HomeScreen.

Public methods

boolean equals(Object other)
String getBackgroundImageUri()

Returns a Content URI that can be used to retrieve the background image for this recommendation.

int getBadgeImageResourceId()

Returns the resource id for the recommendation badging icon.

int getColor()

Returns the accent color value to be used in the UI when displaying this content recommendation to the user.

Bitmap getContentImage()

Returns the Bitmap containing the recommendation image.

ContentRecommendation.IntentData getContentIntent()

Returns the data for the Intent that will be issued when the user clicks on the recommendation.

String[] getContentTypes()

Returns an array containing the content types tags that describe the content.

ContentRecommendation.IntentData getDismissIntent()

Returns the data for the Intent that will be issued when the recommendation gets dismissed from the Home Screen, due to an user action.

String[] getGenres()

Returns an array containing the genres that describe the content.

String getGroup()

Returns the String group ID tag for this recommendation.

String getIdTag()

Returns the String Id tag which uniquely identifies this recommendation.

String getMaturityRating()

Returns the maturity level rating for the content.

Notification getNotificationObject(Context context)

Returns a Notification object which contains the content recommendation data encapsulated by this object, which can be used for posting the recommendation via the NotificationManager.

String getPricingType()

Gets the pricing type for the content.

String getPricingValue()

Gets the price value (when applicable) for the content.

String getPrimaryContentType()

Returns the primary content type tag for the recommendation, or null if no content types have been specified.

int getProgressMax()

Returns the maximum value for the progress data of this recommendation.

int getProgressValue()

Returns the progress amount for this recommendation.

long getRunningTime()

Returns the running time for the content.

String getSortKey()

Returns the String sort key for this recommendation.

String getSourceName()

Returns the source application name for this recommendation.

int getStatus()

Returns availability status value for the content.

String getText()

Returns the description text for this recommendation.

String getTitle()

Returns the content title for this recommendation.

boolean hasProgressInfo()

Indicates if this recommendation contains valid progress information.

int hashCode()
boolean isAutoDismiss()

Indicates whether this recommendation should be dismissed automatically.

void setAutoDismiss(boolean autoDismiss)

Sets the flag indicating if this recommendation should be dismissed automatically.

void setGroup(String groupTag)

Sets the String group ID tag for this recommendation.

void setProgress(int max, int progress)

Sets the progress information for the content pointed to by this recommendation.

void setSortKey(String sortKey)

Sets the String sort key for this recommendation.

void setStatus(int status)

Sets the availability status value for the content.

Inherited methods

Constants

CONTENT_MATURITY_ALL

String CONTENT_MATURITY_ALL

Value to be used with ContentRecommendation.Builder.setMaturityRating(String) to indicate that the content referred by the notification is suitable for all audiences.

Constant Value: "android.contentMaturity.all"

CONTENT_MATURITY_HIGH

String CONTENT_MATURITY_HIGH

Value to be used with ContentRecommendation.Builder.setMaturityRating(String) to indicate that the content referred by the notification is suitable for audiences of high maturity and above.

Constant Value: "android.contentMaturity.high"

CONTENT_MATURITY_LOW

String CONTENT_MATURITY_LOW

Value to be used with ContentRecommendation.Builder.setMaturityRating(String) to indicate that the content referred by the notification is suitable for audiences of low maturity and above.

Constant Value: "android.contentMaturity.low"

CONTENT_MATURITY_MEDIUM

String CONTENT_MATURITY_MEDIUM

Value to be used with ContentRecommendation.Builder.setMaturityRating(String) to indicate that the content referred by the notification is suitable for audiences of medium maturity and above.

Constant Value: "android.contentMaturity.medium"

CONTENT_PRICING_FREE

String CONTENT_PRICING_FREE

Value to be used with ContentRecommendation.Builder.setPricingInformation(String, String) to indicate that the content referred by the notification item is free to consume.

Constant Value: "android.contentPrice.free"

CONTENT_PRICING_PREORDER

String CONTENT_PRICING_PREORDER

Value to be used with ContentRecommendation.Builder.setPricingInformation(String, String) to indicate that the content referred by the notification item is available currently as a pre-order, and the price value provided is the purchase price for the item.

Constant Value: "android.contentPrice.preorder"

CONTENT_PRICING_PURCHASE

String CONTENT_PRICING_PURCHASE

Value to be used with ContentRecommendation.Builder.setPricingInformation(String, String) to indicate that the content referred by the notification item is available for purchase, and the price value provided is the purchase price for the item.

Constant Value: "android.contentPrice.purchase"

CONTENT_PRICING_RENTAL

String CONTENT_PRICING_RENTAL

Value to be used with ContentRecommendation.Builder.setPricingInformation(String, String) to indicate that the content referred by the notification item is available as a rental, and the price value provided is the rental price for the item.

Constant Value: "android.contentPrice.rental"

CONTENT_PRICING_SUBSCRIPTION

String CONTENT_PRICING_SUBSCRIPTION

Value to be used with ContentRecommendation.Builder.setPricingInformation(String, String) to indicate that the content referred by the notification item is available as part of a subscription based service, and the price value provided is the subscription price for the service.

Constant Value: "android.contentPrice.subscription"

CONTENT_STATUS_AVAILABLE

int CONTENT_STATUS_AVAILABLE

Value to be used with ContentRecommendation.Builder.setStatus(int) to indicate that the content referred by the notification is available, but needs to be first purchased, rented, subscribed or downloaded before it can be consumed.

Constant Value: 2 (0x00000002)

CONTENT_STATUS_PENDING

int CONTENT_STATUS_PENDING

Value to be used with ContentRecommendation.Builder.setStatus(int) to indicate that the content referred by the notification is pending, waiting on either a download or purchase operation to complete before it can be consumed.

Constant Value: 1 (0x00000001)

CONTENT_STATUS_READY

int CONTENT_STATUS_READY

Value to be used with ContentRecommendation.Builder.setStatus(int) to indicate that the content referred by the notification is available and ready to be consumed immediately.

Constant Value: 0 (0x00000000)

CONTENT_STATUS_UNAVAILABLE

int CONTENT_STATUS_UNAVAILABLE

Value to be used with ContentRecommendation.Builder.setStatus(int) to indicate that the content referred by the notification is not available. This could be content not available in a certain region or incompatible with the device in use.

Constant Value: 3 (0x00000003)

CONTENT_TYPE_APP

String CONTENT_TYPE_APP

Value to be used with ContentRecommendation.Builder.setContentTypes(String[]) to indicate that the content referred by the notification item is an application.

Constant Value: "android.contentType.app"

CONTENT_TYPE_BOOK

String CONTENT_TYPE_BOOK

Value to be used with ContentRecommendation.Builder.setContentTypes(String[]) to indicate that the content referred by the notification item is a book.

Constant Value: "android.contentType.book"

CONTENT_TYPE_COMIC

String CONTENT_TYPE_COMIC

Value to be used with ContentRecommendation.Builder.setContentTypes(String[]) to indicate that the content referred by the notification item is a comic book.

Constant Value: "android.contentType.comic"

CONTENT_TYPE_GAME

String CONTENT_TYPE_GAME

Value to be used with ContentRecommendation.Builder.setContentTypes(String[]) to indicate that the content referred by the notification item is a game.

Constant Value: "android.contentType.game"

CONTENT_TYPE_MAGAZINE

String CONTENT_TYPE_MAGAZINE

Value to be used with ContentRecommendation.Builder.setContentTypes(String[]) to indicate that the content referred by the notification item is a magazine.

Constant Value: "android.contentType.magazine"

CONTENT_TYPE_MOVIE

String CONTENT_TYPE_MOVIE

Value to be used with ContentRecommendation.Builder.setContentTypes(String[]) to indicate that the content referred by the notification item is a movie.

Constant Value: "android.contentType.movie"

CONTENT_TYPE_MUSIC

String CONTENT_TYPE_MUSIC

Value to be used with ContentRecommendation.Builder.setContentTypes(String[]) to indicate that the content referred by the notification item is a song or album.

Constant Value: "android.contentType.music"

CONTENT_TYPE_NEWS

String CONTENT_TYPE_NEWS

Value to be used with ContentRecommendation.Builder.setContentTypes(String[]) to indicate that the content referred by the notification item is a news item.

Constant Value: "android.contentType.news"

CONTENT_TYPE_PODCAST

String CONTENT_TYPE_PODCAST

Value to be used with ContentRecommendation.Builder.setContentTypes(String[]) to indicate that the content referred by the notification item is a podcast.

Constant Value: "android.contentType.podcast"

CONTENT_TYPE_RADIO

String CONTENT_TYPE_RADIO

Value to be used with ContentRecommendation.Builder.setContentTypes(String[]) to indicate that the content referred by the notification item is a radio station.

Constant Value: "android.contentType.radio"

CONTENT_TYPE_SERIAL

String CONTENT_TYPE_SERIAL

Value to be used with ContentRecommendation.Builder.setContentTypes(String[]) to indicate that the content referred by the notification item is serial. It can refer to an entire show, a single season or series, or a single episode.

Constant Value: "android.contentType.serial"

CONTENT_TYPE_SPORTS

String CONTENT_TYPE_SPORTS

Value to be used with ContentRecommendation.Builder.setContentTypes(String[]) to indicate that the content referred by the notification item is sports.

Constant Value: "android.contentType.sports"

CONTENT_TYPE_TRAILER

String CONTENT_TYPE_TRAILER

Value to be used with ContentRecommendation.Builder.setContentTypes(String[]) to indicate that the content referred by the notification item is a trailer.

Constant Value: "android.contentType.trailer"

CONTENT_TYPE_VIDEO

String CONTENT_TYPE_VIDEO

Value to be used with ContentRecommendation.Builder.setContentTypes(String[]) to indicate that the content referred by the notification item is a video clip.

Constant Value: "android.contentType.video"

CONTENT_TYPE_WEBSITE

String CONTENT_TYPE_WEBSITE

Value to be used with ContentRecommendation.Builder.setContentTypes(String[]) to indicate that the content referred by the notification item is a website.

Constant Value: "android.contentType.website"

INTENT_TYPE_ACTIVITY

int INTENT_TYPE_ACTIVITY

Value to be used with ContentRecommendation.Builder.setContentIntentData(int, Intent, int, Bundle) and ContentRecommendation.Builder.setDismissIntentData(int, Intent, int, Bundle) to indicate that a PendingIntent for an Activity should be created when posting the recommendation to the HomeScreen.

Constant Value: 1 (0x00000001)

INTENT_TYPE_BROADCAST

int INTENT_TYPE_BROADCAST

Value to be used with ContentRecommendation.Builder.setContentIntentData(int, Intent, int, Bundle) and ContentRecommendation.Builder.setDismissIntentData(int, Intent, int, Bundle) to indicate that a PendingIntent for a Broadcast should be created when posting the recommendation to the HomeScreen.

Constant Value: 2 (0x00000002)

INTENT_TYPE_SERVICE

int INTENT_TYPE_SERVICE

Value to be used with ContentRecommendation.Builder.setContentIntentData(int, Intent, int, Bundle) and ContentRecommendation.Builder.setDismissIntentData(int, Intent, int, Bundle) to indicate that a PendingIntent for a Service should be created when posting the recommendation to the HomeScreen.

Constant Value: 3 (0x00000003)

Public methods

equals

boolean equals (Object other)

Parameters
other Object

Returns
boolean

getBackgroundImageUri

String getBackgroundImageUri ()

Returns a Content URI that can be used to retrieve the background image for this recommendation.

Returns
String A Content URI pointing to the recommendation background image.

getBadgeImageResourceId

int getBadgeImageResourceId ()

Returns the resource id for the recommendation badging icon.

The resource id represents the icon resource in the source application package.

Returns
int An integer id for the badge icon resource.

getColor

int getColor ()

Returns the accent color value to be used in the UI when displaying this content recommendation to the user.

Returns
int An integer value representing the accent color for this recommendation.

getContentImage

Bitmap getContentImage ()

Returns the Bitmap containing the recommendation image.

Returns
Bitmap A Bitmap containing the recommendation image.

getContentIntent

ContentRecommendation.IntentData getContentIntent ()

Returns the data for the Intent that will be issued when the user clicks on the recommendation.

Returns
ContentRecommendation.IntentData An IntentData object, containing the data for the Intent that gets issued when the recommendation is clicked on.

getContentTypes

String[] getContentTypes ()

Returns an array containing the content types tags that describe the content. The first tag entry is considered the primary type for the content, and is used for content ranking purposes.

Returns
String[] An array of predefined type tags (see the CONTENT_TYPE_* constants) that describe the recommended content.

getDismissIntent

ContentRecommendation.IntentData getDismissIntent ()

Returns the data for the Intent that will be issued when the recommendation gets dismissed from the Home Screen, due to an user action.

Returns
ContentRecommendation.IntentData An IntentData object, containing the data for the Intent that gets issued when the recommendation is dismissed from the Home Screen.

getGenres

String[] getGenres ()

Returns an array containing the genres that describe the content. Genres are open ended String tags.

Returns
String[] An array of genre tags that describe the recommended content.

getGroup

String getGroup ()

Returns the String group ID tag for this recommendation.

Returns
String A String containing the group ID tag for this recommendation.

getIdTag

String getIdTag ()

Returns the String Id tag which uniquely identifies this recommendation.

Returns
String The String Id tag for this recommendation.

getMaturityRating

String getMaturityRating ()

Returns the maturity level rating for the content.

Returns
String returns a predefined tag indicating the maturity level rating for the content (see the CONTENT_MATURITY_* constants).

getNotificationObject

Notification getNotificationObject (Context context)

Returns a Notification object which contains the content recommendation data encapsulated by this object, which can be used for posting the recommendation via the NotificationManager.

Parameters
context Context: A Context that will be used to construct the Notification object which will carry the recommendation data.

Returns
Notification A Notification containing the stored recommendation data.

getPricingType

String getPricingType ()

Gets the pricing type for the content.

Returns
String A predefined tag indicating the pricing type for the content (see the CONTENT_PRICING_* constants).

getPricingValue

String getPricingValue ()

Gets the price value (when applicable) for the content. The value will be provided as a String containing the price in the appropriate currency for the current locale.

Returns
String A string containing a representation of the content price in the current locale and currency.

getPrimaryContentType

String getPrimaryContentType ()

Returns the primary content type tag for the recommendation, or null if no content types have been specified.

Returns
String A predefined type tag (see the CONTENT_TYPE_* constants) indicating the primary content type for the recommendation.

getProgressMax

int getProgressMax ()

Returns the maximum value for the progress data of this recommendation.

Returns
int An integer representing the maximum progress value.

getProgressValue

int getProgressValue ()

Returns the progress amount for this recommendation.

Returns
int An integer representing the recommendation progress amount.

getRunningTime

long getRunningTime ()

Returns the running time for the content.

Returns
long The run length, in seconds, of the content associated with the notification.

getSortKey

String getSortKey ()

Returns the String sort key for this recommendation.

Returns
String A String containing the sort key for this recommendation.

getSourceName

String getSourceName ()

Returns the source application name for this recommendation.

Returns
String A String containing the recommendation source name.

getStatus

int getStatus ()

Returns availability status value for the content. This status indicates whether the content is ready to be consumed on the device, or if the user must first purchase, rent, subscribe to, or download the content.

Returns
int The status value for the content, or -1 is a valid status has not been specified (see the CONTENT_STATUS_* constants for the valid status values).

getText

String getText ()

Returns the description text for this recommendation.

Returns
String A String containing the recommendation description text.

getTitle

String getTitle ()

Returns the content title for this recommendation.

Returns
String A String containing the recommendation content title.

hasProgressInfo

boolean hasProgressInfo ()

Indicates if this recommendation contains valid progress information.

Returns
boolean true if the recommendation contains valid progress data, false otherwise.

hashCode

int hashCode ()

Returns
int

isAutoDismiss

boolean isAutoDismiss ()

Indicates whether this recommendation should be dismissed automatically.

Auto-dismiss notifications are automatically removed from the Home Screen when the user clicks on them.

Returns
boolean true if the recommendation is marked for auto dismissal, or false otherwise.

setAutoDismiss

void setAutoDismiss (boolean autoDismiss)

Sets the flag indicating if this recommendation should be dismissed automatically.

Auto-dismiss notifications are automatically removed from the Home Screen when the user clicks on them.

Parameters
autoDismiss boolean: A boolean indicating if the recommendation should be auto dismissed or not.

setGroup

void setGroup (String groupTag)

Sets the String group ID tag for this recommendation.

Recommendations in the same group are ranked by the Home Screen together, and the sort order within a group is respected. This can be useful if the application has different sources for recommendations, like "trending", "subscriptions", and "new music" categories for YouTube, where the user can be more interested in recommendations from one group than another.

Parameters
groupTag String: A String containing the group ID tag for this recommendation.

setProgress

void setProgress (int max, 
                int progress)

Sets the progress information for the content pointed to by this recommendation.

Parameters
max int: The maximum value for the progress of this content.

progress int: The progress amount for this content. Must be in the range (0 - max).

setSortKey

void setSortKey (String sortKey)

Sets the String sort key for this recommendation.

The sort key must be a String representation of a float number between 0.0 and 1.0, and is used to indicate the relative importance (and sort order) of a single recommendation within its specified group. The recommendations will be ordered in decreasing order of importance within a given group.

Parameters
sortKey String: A String containing the sort key for this recommendation.

setStatus

void setStatus (int status)

Sets the availability status value for the content. This status indicates whether the content is ready to be consumed on the device, or if the user must first purchase, rent, subscribe to, or download the content.

Parameters
status int: The status value for the content. (see the CONTENT_STATUS_* for the valid status values).