title: Invalidate GradientDrawable
body: <p>I have the following xml:</p>
  
  <pre><code>&lt;shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"&gt;
  
      &lt;solid android:color="@color/color_primary_dark" /&gt;
      &lt;size android:width="25dp" android:height="25dp" /&gt;
      &lt;stroke android:width="1dp" android:color="@android:color/white" /&gt;
  
  &lt;/shape&gt;
  </code></pre>
  
  <p>And at some point in my application I change the color of this shape like this:</p>
  
  <pre><code>// priority_button has this shape as is src
  (priority_button.drawable as GradientDrawable).setColor(ContextCompat.getColor(this, android.R.color.holo_orange_light))
  </code></pre>
  
  <p>The problem is: if I destroy the activity and then re-open the same activity, this shape stays with the last color that I set (in this case android.R.color.holo_orange_light) and I want to that shape reset to the same color that is defined in the xml (R.color.color_primary_dark).</p>
  
  <p>Since I am setting the color programmatically I think that I am changing the xml itself and when the activity is re-opened, and the views are draw, it gets the xml that I set another color.</p>
  
  <p>Is any way to reset the xml values or something like this?</p>