I found the issue: when i load the wallpaper in preview mode it creates an instance.
If i click "Set Wallpaper" android will try to carry to over the instance to the actual background , which is where it appears as just a black empty space and hangs.
what is do is in the onDestroy() method calll System.exit(0) , which forces a new instance to be loaded.
It works for now , but i worry it is probably a hack.