Rebuild outline when setBackground is called.

bug:27505848

Also correctly register damage from profiling bars.

Change-Id: I9550c2742eb833350a077ca48eccf9b584083a1e
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index 55393b1..42c1b3e 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -18084,6 +18084,7 @@
 
         mBackgroundSizeChanged = true;
         invalidate(true);
+        invalidateOutline();
     }
 
     /**
diff --git a/libs/hwui/BakedOpRenderer.cpp b/libs/hwui/BakedOpRenderer.cpp
index bb3ea3f..20f102b 100644
--- a/libs/hwui/BakedOpRenderer.cpp
+++ b/libs/hwui/BakedOpRenderer.cpp
@@ -198,8 +198,9 @@
 
     LOG_ALWAYS_FATAL_IF(mRenderTarget.frameBufferId != 0, "decoration only supported for FBO 0");
     // TODO: Currently assume full FBO damage, due to FrameInfoVisualizer::unionDirty.
-    // Should should scissor safely.
+    // Should should scissor/set mHasDrawn safely.
     mRenderState.scissor().setEnabled(false);
+    mHasDrawn = true;
     Glop glop;
     GlopBuilder(mRenderState, mCaches, &glop)
             .setRoundRectClipState(nullptr)