Speed up shortcut launch performance

Apparently the framework first needs to starts the contacts provider just to
resolve the content-type for a shortcut, which is a heavy process involving
a lot of disk I/O.

Remove this by pre-setting the content type to shortcuts.

This will improve the shortcut launch performance from roughly 3.45 seconds to
2.35 seconds on a prime with a test contact in extreme cases, i.e. after:
adb shell kill `pid acore` `pid contacts` ; \
    adb shell "sync; echo 3 > /proc/sys/vm/drop_caches"

Also pre-start the provider in Application.onCreate() in order to maximize
the overlap between the app initialization and the provider initialization.
This may or may not help the regular app launch performance too.

Bug 6434853
Bug 6476832

Change-Id: Ia8dcd877dcda2cac562bec18442d7fc019a08ad2
3 files changed