Class Requirements
- java.lang.Object
-
- com.google.android.exoplayer2.scheduler.Requirements
-
- All Implemented Interfaces:
Parcelable
public final class Requirements extends Object implements Parcelable
Defines a set of device state requirements.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceRequirements.RequirementFlagsRequirement flags.-
Nested classes/interfaces inherited from interface android.os.Parcelable
Parcelable.ClassLoaderCreator<T extends Object>, Parcelable.Creator<T extends Object>
-
-
Field Summary
Fields Modifier and Type Field Description static Parcelable.Creator<Requirements>CREATORstatic intDEVICE_CHARGINGRequirement that the device is charging.static intDEVICE_IDLERequirement that the device is idle.static intDEVICE_STORAGE_NOT_LOWRequirement that the device's internal storage is not low.static intNETWORKRequirement that the device has network connectivity.static intNETWORK_UNMETEREDRequirement that the device has a network connection that is unmetered.-
Fields inherited from interface android.os.Parcelable
CONTENTS_FILE_DESCRIPTOR, PARCELABLE_WRITE_RETURN_VALUE
-
-
Constructor Summary
Constructors Constructor Description Requirements(@com.google.android.exoplayer2.scheduler.Requirements.RequirementFlags int requirements)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancheckRequirements(Context context)Returns whether the requirements are met.intdescribeContents()booleanequals(Object o)RequirementsfilterRequirements(int requirementsFilter)Filters the requirements, returning the subset that are enabled by the provided filter.@com.google.android.exoplayer2.scheduler.Requirements.RequirementFlags intgetNotMetRequirements(Context context)Returns requirements that are not met, or 0.@com.google.android.exoplayer2.scheduler.Requirements.RequirementFlags intgetRequirements()Returns the requirements.inthashCode()booleanisChargingRequired()Returns whether the device is required to be charging.booleanisIdleRequired()Returns whether the device is required to be idle.booleanisNetworkRequired()Returns whether network connectivity is required.booleanisStorageNotLowRequired()Returns whether the device is required to not be low on internal storage.booleanisUnmeteredNetworkRequired()Returns whether un-metered network connectivity is required.voidwriteToParcel(Parcel dest, int flags)
-
-
-
Field Detail
-
NETWORK
public static final int NETWORK
Requirement that the device has network connectivity.- See Also:
- Constant Field Values
-
NETWORK_UNMETERED
public static final int NETWORK_UNMETERED
Requirement that the device has a network connection that is unmetered.- See Also:
- Constant Field Values
-
DEVICE_IDLE
public static final int DEVICE_IDLE
Requirement that the device is idle.- See Also:
- Constant Field Values
-
DEVICE_CHARGING
public static final int DEVICE_CHARGING
Requirement that the device is charging.- See Also:
- Constant Field Values
-
DEVICE_STORAGE_NOT_LOW
public static final int DEVICE_STORAGE_NOT_LOW
Requirement that the device's internal storage is not low. Note that this requirement is not affected by the status of external storage.- See Also:
- Constant Field Values
-
CREATOR
public static final Parcelable.Creator<Requirements> CREATOR
-
-
Constructor Detail
-
Requirements
public Requirements(@RequirementFlags @com.google.android.exoplayer2.scheduler.Requirements.RequirementFlags int requirements)
- Parameters:
requirements- A combination of requirement flags.
-
-
Method Detail
-
getRequirements
@RequirementFlags public @com.google.android.exoplayer2.scheduler.Requirements.RequirementFlags int getRequirements()
Returns the requirements.
-
filterRequirements
public Requirements filterRequirements(int requirementsFilter)
Filters the requirements, returning the subset that are enabled by the provided filter.- Parameters:
requirementsFilter- The enabledRequirements.RequirementFlags.- Returns:
- The filtered requirements. If the filter does not cause a change in the requirements then this instance will be returned.
-
isNetworkRequired
public boolean isNetworkRequired()
Returns whether network connectivity is required.
-
isUnmeteredNetworkRequired
public boolean isUnmeteredNetworkRequired()
Returns whether un-metered network connectivity is required.
-
isChargingRequired
public boolean isChargingRequired()
Returns whether the device is required to be charging.
-
isIdleRequired
public boolean isIdleRequired()
Returns whether the device is required to be idle.
-
isStorageNotLowRequired
public boolean isStorageNotLowRequired()
Returns whether the device is required to not be low on internal storage.
-
checkRequirements
public boolean checkRequirements(Context context)
Returns whether the requirements are met.- Parameters:
context- Any context.- Returns:
- Whether the requirements are met.
-
getNotMetRequirements
@RequirementFlags public @com.google.android.exoplayer2.scheduler.Requirements.RequirementFlags int getNotMetRequirements(Context context)
Returns requirements that are not met, or 0.- Parameters:
context- Any context.- Returns:
- The requirements that are not met, or 0.
-
describeContents
public int describeContents()
- Specified by:
describeContentsin interfaceParcelable
-
writeToParcel
public void writeToParcel(Parcel dest, int flags)
- Specified by:
writeToParcelin interfaceParcelable
-
-