M., of course, I don't know you or how much you do for your son on a regular basis, but I thnk it might be worth it for you to start thinking of your son in a different way after what happened here.
Perhaps you do too much for him. Perhaps you give him too much money, make things too easy for him, coddle him too much. Like selling the phone for him.
I doubt that you have been expecting for him to act like a man up until now. Do you call him a lot? Does he only call you when he wants something? Do you drop what you're doing to help when he asks?
Real life doesn't work that way. Real life has expectations, and sometimes harsh ones. If you are taking care of him so that he doesn't see these difficulties, he won't "grow up". And he definitely needs to grow up.
I would step back from him at this point and let him miss you some. I wouldn't give, give, give anymore. And I would tell him that he will need to make sure that he has a job when he finishes college and a place to live because he will not be coming home to live with you. When he asks why, tell him that the best way to learn to be a man is to be on his own. Say it without apology and tell him that you know he will be successful if he puts his mind to it. And then go about your business.
Right now your son is acting very spoiled. Whether you've actually fostered this or not, I don't know, but now is the time to fix this by not continuing to enable his lazy and poor behavior. Just because you aren't going to tell him you know how he has been talking about you doesn't mean you don't change the way you deal with him. And really, you are doing him the biggest favor for his future, mom. He has to grow up. If you don't make him grow up, he will act immature about his jobs and disrespect his bosses, and lose jobs and opportunities. You need to say no and make him "work" (not selling phones for him, not solving his problems, etc) so that when he has a real job, he will take his responsibilities seriously and not get fired.
If you do meet the girlfriend, be warm and caring towards her. If he throws barbs, ignore them. If the girl is smart, she will realize that the way he treats his mother is an indication of how he will treat his WIFE, and she won't put up with it. Where girlfriends are concerned, it is always a smart course of action to be kind and caring, and then keep your nose out of their business. Never say anything negative about the girlfriend. It won't do any good to do that, AND he'll just go tell her what you said and probably put a bad spin on it. And if she ends up marrying your son in the future, she will always remember what you said...