I modified from own immersive sample (see test.zip). I didn't seriously test it, because, I guess, you will use Erel's sample as layout.
The main function in his code is setSystemUiVisibility (5894).
You need to decrypt flags and to remove flags, relative to immersive and fullscreen.