Reorganize ellipsis APIs

Here is the problems with existing APIs.
- getLinEllipsisCount stops counting at the LF character.
  This is came from framework implementation but not a good
  behavior to expose to public API. It is good to return the
  end of text instead of LF offset.
- getLineVisibleEnd in framework does not respect ellipsis.
  From the naming of API, it should return the visible end
  offset for the ellipsized line.

To address above problems, propose following changes:
- add getLineVisibleEnd which returns ellipsize start offset
  if ellipsis happens. If not, returns line end without
  trailing whitespaces.
- To get whether ellipsis happens or not, add isLineEllipsized.
- Remove getLineEllipsisOffset since this is equivalent to
  getLineVisibleEnd.
- Remove getLineEllipsisCount since this is equivalent to
  getLineEnd() - getLineVisibleEnd().

Relnote: "Remove getLineEllipsisOffset/getLineEllipsisCount. Use
getLineVisibleEnd/getLineEnd/isLineEllipsized instead."

Bug: 162029805
Test: ./gradlew :compose:ui:ui-text:cAT
Change-Id: I85aa258d57056cbdae2816b14ce1af313023020c
14 files changed