Handle the cases where the segment isn't long enough.

1. When the segment has a negative length (after subtracting gaps and
   caps).
2. When the segment isn't long enough for drawing the caps (after
   subtracting gaps).

Also fixed:
  1. For dashed segments, there is no caps. Therefore we should draw
     from `start` to `end`, rather than from `start + capWidth` to `end
     - capWidth`.
  2. Set `mPointRectF` directly from values rather than from
     `mPointRect`.

Flag: android.app.api_rich_ongoing
Fix: 376491336
Bug: 376488208
Bug: 376487227
Bug: 376492598
Test: Post ProgressStyle notifs (as defined in the bugs) and observe the notification.
Change-Id: I6a0a45db4b136e024f41ee5a99e2eb8d27d43799
1 file changed