(bug 43304) Snak type selector for snakview widget

- patch set 3: moved some code around + minor performance optimization

Change-Id: I9a27c2995b08f04566ea09280fd5293795d34c46