Fix covering annotations logic

The previous code was only working in some cases by a combination
of state variables not being reset and good luck.

The new logic clears and re-applies a annotation iff:
* the initial annotation was non-covering
* OR the initial annotation was null
* OR the initial annotation is not comparable to the current annotation

Bug: 63386
Change-Id: Idd5cce0715acf61d8d39fd9180cf54ee5715d9bd