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 interface
Requirements.RequirementFlags
Requirement 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>
CREATOR
static int
DEVICE_CHARGING
Requirement that the device is charging.static int
DEVICE_IDLE
Requirement that the device is idle.static int
DEVICE_STORAGE_NOT_LOW
Requirement that the device's internal storage is not low.static int
NETWORK
Requirement that the device has network connectivity.static int
NETWORK_UNMETERED
Requirement 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 boolean
checkRequirements(Context context)
Returns whether the requirements are met.int
describeContents()
boolean
equals(Object o)
Requirements
filterRequirements(int requirementsFilter)
Filters the requirements, returning the subset that are enabled by the provided filter.@com.google.android.exoplayer2.scheduler.Requirements.RequirementFlags int
getNotMetRequirements(Context context)
Returns requirements that are not met, or 0.@com.google.android.exoplayer2.scheduler.Requirements.RequirementFlags int
getRequirements()
Returns the requirements.int
hashCode()
boolean
isChargingRequired()
Returns whether the device is required to be charging.boolean
isIdleRequired()
Returns whether the device is required to be idle.boolean
isNetworkRequired()
Returns whether network connectivity is required.boolean
isStorageNotLowRequired()
Returns whether the device is required to not be low on internal storage.boolean
isUnmeteredNetworkRequired()
Returns whether un-metered network connectivity is required.void
writeToParcel(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:
describeContents
in interfaceParcelable
-
writeToParcel
public void writeToParcel(Parcel dest, int flags)
- Specified by:
writeToParcel
in interfaceParcelable
-
-