Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 800ca4ac authored by Beverly's avatar Beverly
Browse files

Add boolean to check never occurring zen schedule rule validity

Bug: 111167252
Test: manual
Change-Id: If105898ae4299b1b24dfeb8476f8c35ff4b33ba4
parent 6cfbbf57
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -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)