Authorities have charged a 30-year-old Sudanese asylum seeker with attempted murder after the attack, which left the man fighting for his life and ignited public anger that spilled onto the streets.