Crimes of Passion

Bobby Grady (John Laughlin) is an ordinary middle-class electronics store owner who occasionally moonlights doing surveillance work. He attends a group therapy session because his wife, Amy (Annie Potts), has lost interest in sex and he fears their marriage is in trouble.
Grady is soon approached by the owner of a fashion design house to spy on an employee, Joanna Crane (Kathleen Turner), who is suspected of selling clothing patterns to his competitors. Grady discovers the accusations are unfounded, but also finds out that Joanna is moonlighting as a prostitute using the name China Blue, and shedding her business attire for provocative clothing and a platinum wig.
Grady keeps quiet about Joanna's double life. After having an erotic encounter with her in her China Blue persona, Grady begins seeing her on a regular basis, first professionally, then romantically. However, their involvement is complicated by his guilt and her intimacy issues â not to mention her clientele of regular patrons and their bizarre sexual fetishes.
Among them is the "Reverend" Peter Shayne (Anthony Perkins), who alternately spends his time delivering soapbox sermons on the street, visiting peep shows while sniffing amyl nitrite, and patronizing prostitutes. Shayne has been seeing China Blue as a customer and declares a misguided need to "save" her. (When he says, "Save your soul, whore!", she replies, "Save your money, shithead.") Underscoring Shayne's contradictory nature is the cache of sex toys he carries in a small doctor's bag with his Bible.
Grady admits he may leave his wife and children, but Joanna feels put-upon and depressed. She seeks solace in turning tricks because the encounters are not fraught with emotional entanglements. She dominates a young policeman in an S&amp;M session, penetrating him with his nightstick, and endures a botched three-way in a limousine. A session with a dying man whose wife wants China Blue to give him sexual gratification one last time inspires Joanna to reveal her real first name, suggesting for the first time that she is the proverbial "hooker with a heart of gold."
Shayne grows increasingly psychotic: he carries a sharpened metallic vibrator he nicknames "Superman" and starts stalking Joanna. He moves into a seedy motel next door to her nighttime place of business and watches her activities through a peephole. He also sets up a shrine with candles and numerous photos of her. Sensing that he is mentally unhinged, Joanna no longer wishes to see him, but Shayne follows her home to her actual apartment. Once there, he begs her to kill him.
Grady comes there to tell Joanna that he has left home. He hears shouting from her apartment, breaks down her door and finds someone he assumes is Joanna, cowering in terror, not realizing it is actually Shayne in her China Blue disguise. Joanna, now wearing Shayne's clothing, leaps from the shadows and stabs Shayne with the "Superman" vibrator before he can attack Grady with a large pair of scissors. Shayne dies, convinced that his sacrifice has "saved" them both.
The film ends with Grady addressing his group therapist about his new relationship with a woman named Joanna.

Question: Who heard Joanna shouting from her apartment?
Answer: Grady