Really you can use both, especially in your example. There isn't a difference.
I'm not sure if there is a real rule, but "in" + place often refers to the physical space and doesn't necessarily tell us about the activity that you are doing.
If the person uses the name of the restaurant, the most natural way to say it would be with "at".
"I was at 'The Happy Chicken' the other night when Tony came in." I would assume that you were eating there not just standing there. I think that same idea is applied to the place "restaurant" as well.
"I was standing in the restaurant during the rain storm because I didn't want to get wet." (I can't use "at" here. It would mean "outside of" or "in front of" the restaurant.) I want to tell you about my relation to the physical space (inside) and not what I was doing.
"I don't want to eat in the restaurant. See if the waiter can get us a table on the balcony."
"I don't want to eat at that restaurant. The floors are dirty and it stinks."
"I am always uncomfortable ordering wine in a restaurant." (I'm "in" a particular situation."
Boy, prepositions are no fun!