Not sure if this is a pattern, but I've noticed that when I'm on a transcon, I get the whole can without asking. On short flights, sometimes they give me the cup, sometimes I get the can. I assume they hand out the can on the longer flights so they can wait a longer before the second service.