RatingCompat

public final class RatingCompat implements Parcelable


A class to encapsulate rating information used as content metadata. A rating is defined by its rating style (see RATING_HEART, RATING_THUMB_UP_DOWN, RATING_3_STARS, RATING_4_STARS, RATING_5_STARS or RATING_PERCENTAGE) and the actual rating value (which may be defined as "unrated"), both of which are defined when the rating instance is constructed through one of the factory methods.

Summary

Constants

static final Parcelable.Creator<RatingCompat>
static final int

A rating style with 0 to 3 stars.

static final int

A rating style with 0 to 4 stars.

static final int

A rating style with 0 to 5 stars.

static final int

A rating style with a single degree of rating, "heart" vs "no heart".

static final int

Indicates a rating style is not supported.

static final int

A rating style expressed as a percentage.

static final int

A rating style for "thumb up" vs "thumb down".

Public methods

int
static RatingCompat
fromRating(Object ratingObj)

Creates an instance from a framework android.media.Rating object.

float

Return the percentage-based rating value.

Object

Gets the underlying framework android.media.Rating object.

int

Return the rating style.

float

Return the star-based rating value.

boolean

Return whether the rating is "heart selected".

boolean

Return whether there is a rating value available.

boolean

Return whether the rating is "thumb up".

static RatingCompat
newHeartRating(boolean hasHeart)

Return a Rating instance with a heart-based rating.

static RatingCompat
newPercentageRating(float percent)

Return a Rating instance with a percentage-based rating.

static RatingCompat
newStarRating(int starRatingStyle, float starRating)

Return a Rating instance with a star-based rating.

static RatingCompat
newThumbRating(boolean thumbIsUp)

Return a Rating instance with a thumb-based rating.

static RatingCompat
newUnratedRating(int ratingStyle)

Return a Rating instance with no rating.

String
void
writeToParcel(Parcel dest, int flags)

Inherited Constants

From android.os.Parcelable
static final int
static final int

Constants

CREATOR

Added in 1.1.0
public static final Parcelable.Creator<RatingCompatCREATOR

RATING_3_STARS

Added in 1.1.0
public static final int RATING_3_STARS = 3

A rating style with 0 to 3 stars.

RATING_4_STARS

Added in 1.1.0
public static final int RATING_4_STARS = 4

A rating style with 0 to 4 stars.

RATING_5_STARS

Added in 1.1.0
public static final int RATING_5_STARS = 5

A rating style with 0 to 5 stars.

RATING_HEART

Added in 1.1.0
public static final int RATING_HEART = 1

A rating style with a single degree of rating, "heart" vs "no heart". Can be used to indicate the content referred to is a favorite (or not).

RATING_NONE

Added in 1.1.0
public static final int RATING_NONE = 0

Indicates a rating style is not supported. A Rating will never have this type, but can be used by other classes to indicate they do not support Rating.

RATING_PERCENTAGE

Added in 1.1.0
public static final int RATING_PERCENTAGE = 6

A rating style expressed as a percentage.

RATING_THUMB_UP_DOWN

Added in 1.1.0
public static final int RATING_THUMB_UP_DOWN = 2

A rating style for "thumb up" vs "thumb down".

Public methods

describeContents

Added in 1.1.0
public int describeContents()

fromRating

Added in 1.1.0
public static RatingCompat fromRating(Object ratingObj)

Creates an instance from a framework android.media.Rating object.

This method is only supported on API 19+.

Parameters
Object ratingObj

A android.media.Rating object, or null if none.

Returns
RatingCompat

An equivalent RatingCompat object, or null if none.

getPercentRating

Added in 1.1.0
public float getPercentRating()

Return the percentage-based rating value.

Returns
float

a rating value greater or equal to 0.0f, or a negative value if the rating style is not percentage-based, or if it is unrated.

getRating

Added in 1.1.0
public Object getRating()

Gets the underlying framework android.media.Rating object.

This method is only supported on API 19+.

Returns
Object

An equivalent android.media.Rating object, or null if none.

getRatingStyle

Added in 1.1.0
public int getRatingStyle()

Return the rating style.

getStarRating

Added in 1.1.0
public float getStarRating()

Return the star-based rating value.

Returns
float

a rating value greater or equal to 0.0f, or a negative value if the rating style is not star-based, or if it is unrated.

hasHeart

Added in 1.1.0
public boolean hasHeart()

Return whether the rating is "heart selected".

Returns
boolean

true if the rating is "heart selected", false if the rating is "heart unselected", if the rating style is not RATING_HEART or if it is unrated.

isRated

Added in 1.1.0
public boolean isRated()

Return whether there is a rating value available.

Returns
boolean

true if the instance was not created with newUnratedRating.

isThumbUp

Added in 1.1.0
public boolean isThumbUp()

Return whether the rating is "thumb up".

Returns
boolean

true if the rating is "thumb up", false if the rating is "thumb down", if the rating style is not RATING_THUMB_UP_DOWN or if it is unrated.

newHeartRating

Added in 1.1.0
public static RatingCompat newHeartRating(boolean hasHeart)

Return a Rating instance with a heart-based rating. Create and return a new Rating instance with a rating style of RATING_HEART, and a heart-based rating.

Parameters
boolean hasHeart

true for a "heart selected" rating, false for "heart unselected".

Returns
RatingCompat

a new Rating instance.

newPercentageRating

Added in 1.1.0
public static RatingCompat newPercentageRating(float percent)

Return a Rating instance with a percentage-based rating. Create and return a new Rating instance with a RATING_PERCENTAGE rating style, and a rating of the given percentage.

Parameters
float percent

the value of the rating

Returns
RatingCompat

null if the rating is out of range, a new Rating instance otherwise.

newStarRating

Added in 1.1.0
public static RatingCompat newStarRating(int starRatingStyle, float starRating)

Return a Rating instance with a star-based rating. Create and return a new Rating instance with one of the star-base rating styles and the given integer or fractional number of stars. Non integer values can for instance be used to represent an average rating value, which might not be an integer number of stars.

Parameters
int starRatingStyle

one of RATING_3_STARS, RATING_4_STARS, RATING_5_STARS.

float starRating

a number ranging from 0.0f to 3.0f, 4.0f or 5.0f according to the rating style.

Returns
RatingCompat

null if the rating style is invalid, or the rating is out of range, a new Rating instance otherwise.

newThumbRating

Added in 1.1.0
public static RatingCompat newThumbRating(boolean thumbIsUp)

Return a Rating instance with a thumb-based rating. Create and return a new Rating instance with a RATING_THUMB_UP_DOWN rating style, and a "thumb up" or "thumb down" rating.

Parameters
boolean thumbIsUp

true for a "thumb up" rating, false for "thumb down".

Returns
RatingCompat

a new Rating instance.

newUnratedRating

Added in 1.1.0
public static RatingCompat newUnratedRating(int ratingStyle)

Return a Rating instance with no rating. Create and return a new Rating instance with no rating known for the given rating style.

Returns
RatingCompat

null if an invalid rating style is passed, a new Rating instance otherwise.

toString

public String toString()

writeToParcel

Added in 1.1.0
public void writeToParcel(Parcel dest, int flags)