The crux of the issue at the moment is that NYC is trying to have the SCOTUS drop the case as moot on the basis that they (NYC) are thinking about maybe, possibly, sort of changing the way they might or might not enforce the law in the future.
It's a sham. The way it works is, if someone challenges a law as unconstitutional and, by the time the case finds its way up the chain to the SCOTUS the law has been repealed or revised sufficiently that the original problem no longer exists, then the SCOTUS may decide that the case is moot (not worth hearing) because the law no longer exists.
But in this case, NYC has not repealed or revised the law, and they don't intend to. They haven't as yet even changed the way they enforce the law. What they are telling the court is, basically, "Trust us. We're not going to change the stupid, unconstitutional law, but we absolutely promise that we're seriously considering maybe telling the police to enforce it a little differently beginning, oh ... sometime down the road. So let's just all go home and not have a hearing on our stupid law."