factored out notification permission calls