New: Rework and freshen up onboarding tooltips.

Authored by Dbrant on Sep 13 2017, 3:08 AM.


New: Rework and freshen up onboarding tooltips.

Here's what happened:
I noticed a crash that happens when long-pressing any of the buttons in
our toolbars, and started investigating the cause.

The newest Support library was updated internally where it now contains a
layout called "layout/tooltip", which it uses to render popup tooltips
when long-pressing buttons (to show the hint for the button).

However, we actually have a layout called "layout/tooltip" ourselves! This
means that the Support library will actually get our version of the layout
for rendering its tooltip, and of course our layout doesn't contain the
elements that the library expects.

Now, the reason we have this layout is actually to override the tooltip
layout used by the Tooltip library that we depend on. Yes, this library
also expects to find a layout called "layout/tooltip", and we "override"
it so that we can tweak the shape of the tooltip. So, even if we remove
our overridden tooltip layout, the layout in the Tooltip library will
still conflict with the Support library's version.

Well, guess what: the Support library wins, which means that we need to
find a new library for showing tooltips.

Fortunately, there is now a mature-enough library that implements the
Material-style onboarding reveal, which is a circular overlay that
highlights the desired tap target.

This patch rips out the old library and plugs in the new one.

Change-Id: Iac12d31df1e0f9dbae70bd2f8f0c6cf61900489b