private void syncWithService() {
    int color = mService.getColor();
    Drawable drawable = mService.getDrawable();

    if (DEBUG)
      Log.v(TAG, "syncWithService color " + Integer.toHexString(color) + " drawable " + drawable);

    if (drawable != null) {
      drawable = drawable.getConstantState().newDrawable(mContext.getResources()).mutate();
    }

    mBackgroundColor = color;
    mBackgroundDrawable = drawable;

    updateImmediate();
  }