Fix code design error to prevent possible FC's

this commit should begin with uuuuuups ;)

Till now this code design error had no negative effect on
functionality because the situation is not given to force the
possible FC (so no one discovered till now this design derp).
Last days I programmed another new feature and
ran into this stackoverflow FC.....and I really wondered why.
Seems to be that I dreamed today about that....and woke up
with the solution that I am an idiot. I did it one time wrong
(no idea why....on half of other files I did it right) and due copy
paste this error went also into some other files. Whatever to rebuild
the preferencescreen that you can call it on every place without
running into an stackoverflow (eg would happen if you call the old
method from a preferencechange) it should be a preference screen method
with returning at the end the preferencescreen.

Beside that I introduced  boolean mCheckPreferences to prevent
unneeded writings on provider.Settings. Just a performance
change and a bit help for color resets.

corrected on all files where this problem is + one cleanup

sorry again for this code design error

cheers

Change-Id: Ie59939dbf8b6d46800e341542b80b55993011d7b