I have registered a BroadcastReceiver in my Engine:
IntentFilter filter = new IntentFilter("com.your.package.REFRESH");
receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
draw();
}
};
registerReceiver(receiver, filter);
And then, when you change the variables/drawables, call this, on the actual context:
context.sendBroadcast(new Intent("com.your.package.REFRESH"));
In the draw() method your redraw your wallpaper.