Clean up protected apps code (1/2)

- Work with actual ComponentNames instead of converting them between
  String and ComponentName all the time
- Name protection state parameter in methods 'state' instead of
  'protect', as a value of true actually means it's not protected. Also
  consistently use the respective constants for its values.
- Some misc. cleanup

Change-Id: I2855978c8aef3cfa14249e3398039c7cdd145ede
Settings: Don't match action bar parent for search on tablets.

Also adjust IME flags to
a) show the search icon as action key and
b) to not appear fullscreen in landscape

Change-Id: I9bc9851d39aa4d6dbed40df63dd4ea8df6f4c3f9
Settings : Scroll to preference on search and highlight

Change-Id: I93c4106d022b416205cc33cf5dbdf5d7635a002a
Highlight search string match.

Change-Id: I72c0380512028674c91f287325f221a686a4821d
Improve search performance.

The normalization regex is slow (5-10ms per entry on mako), so better
pre-cache it. Also cache the icons, as the number of icons is vastly
smaller than the number of potential search results, so they'll be
reused very often.

The regex change alone brings the duration of a single filter run down
to ~20ms from ~1200ms on mako.

Change-Id: Ia0fa9c554d0d585a52c8a2b87eecbf045388c961
Settings: Bump SettingsSearch db version.

Change-Id: I0ba3be71f61fcae9c2fe67064b5f890fdd0abb2c
DisplayColor: Properly handle a minValue

* Previously setting anything as a minValue would cause the
  percentages to get out of whack. For instance, setting it to 35
  would cause the maximum percentage to climb above 100% as well
  as still allowing the value to be set lower than the min.
* This makes the maximum for the slider the max value minus the min
  (so we get the proper spread for min to max) and then adds the min
  back on before setting so we can't possibly go below the min.

Change-Id: I8dcdc422f54847940351fae10c74af6301d1e1be
Settings: Disable search item in some fragments.

Change-Id: I17ed6945f34f2fe7bb18674124f8a8989145b8c1
Improve search UX prior to load being finished.

Show a informative hint in that case.
Also clean up code somewhat.

Change-Id: I57f37bc60fbaef2ea0db0b0c3227df125b0e4ab9
Check locale when populating DB instead of using separate receiver.

This makes reloading the search data race condition free. Previously,
when invoking search directly after the locale change, one would get the
results for the old or the new locale depending on timing between the
broadcast being delivered and the activity restart.

Change-Id: I35bc11a7f68e655e00fe53b829deea613da74f69

Conflicts:
	AndroidManifest.xml
Settings : Add tap/pay help url

Change-Id: I41f37dff0fa2eb547f84aaf776950f0f42e6e36f
Settings: LT translations

Typos fixed, other small corrections.

Change-Id: I058905c5e833cf1dfd3d35353bafb17fedd2ac2e