Add boolean to check never occurring zen schedule rule validity

Bug: 111167252
Test: manual
Change-Id: If105898ae4299b1b24dfeb8476f8c35ff4b33ba4
This commit is contained in:
Beverly
2018-07-06 12:02:38 -04:00
parent 6cfbbf57ba
commit 800ca4ac0c

View File

@@ -1007,6 +1007,24 @@ public class ZenModeConfig implements Parcelable {
return true;
}
/**
* Returns whether the conditionId is a valid ScheduleCondition.
* If allowNever is true, this will return true even if the ScheduleCondition never occurs.
*/
public static boolean isValidScheduleConditionId(Uri conditionId, boolean allowNever) {
ScheduleInfo info;
try {
info = tryParseScheduleConditionId(conditionId);
} catch (NullPointerException | ArrayIndexOutOfBoundsException e) {
return false;
}
if (info == null || (!allowNever && (info.days == null || info.days.length == 0))) {
return false;
}
return true;
}
public static ScheduleInfo tryParseScheduleConditionId(Uri conditionId) {
final boolean isSchedule = conditionId != null
&& conditionId.getScheme().equals(Condition.SCHEME)