withRequiresDeviceIdle