public static int schedule(@NonNull JobRequest.Builder baseBuilder, long startMs, long endMs) {
        return schedule(baseBuilder, true, startMs, endMs, false);
    }
public static int schedule ( @ NonNull JobRequest . Builder baseBuilder , long startMs , long endMs ) { return schedule ( baseBuilder , true , startMs , endMs , false ) ; }
Schedules your daily job. A builder is required for this method call. Within the builder, you may specify
additional requirements and/or extras for the job. However, a daily job may not be exact,
periodic or transient. If the requirements are enforced but are not met when the job runs, then the
daily job will only be rescheduled for the next day. The back-off criteria is ignored in this case.
<br>
<br>
Daily jobs should use a unique tag and their classes shouldn't be reused for other jobs.
<br>
<br>
The start and end parameter must be less than one day. The end value may be smaller than the start value,
allowing you to run the job in the evening or morning.
<br>
<br>
Sample usage:
<pre>
// schedule between 1am and 6am
DailyJob.schedule(builder, TimeUnit.HOURS.toMillis(1), TimeUnit.HOURS.toMillis(6));

// schedule between 8pm and 3am
JobRequest.Builder builder = new JobRequest.Builder("MyTag").setRequiresCharging(true);
DailyJob.schedule(builder, TimeUnit.HOURS.toMillis(20), TimeUnit.HOURS.toMillis(3));
</pre>

@param baseBuilder The builder of your daily job.
@param startMs The time of the day when the job is allowed to start in milliseconds.
@param endMs The time of the day when the job is not allowed to start later in milliseconds.
@return The unique ID for this job.