This means that CGM will try to execute at some point between windowStartDelaySeconds and windowEndDelaySeconds after registering it, but also take into account the indicated network status.
For example, if you use .setExecutionWindow(30, 40) and use .setRequiredNetwork(Task.NETWORK_STATE_CONNECTED) , this means that the task will be executed at some point between 30 and 40 seconds after registration , only if you are connected to the network.
So yes, it can be executed before windowEndDelaySeconds , but it also depends on the state of the network.
source share