MAP: Fix ANR for blocking operations on UI thread

UseCase:
    Stability Testing steps followed:
    1. Pair and connect with remote phone.
    2. Verify successful profile connection.
    3. Pair & Connect LE device.
    4. Disconnect & Unpair LE device.
    5. Reset BT multiple times.
    6. Repeat above steps 50 times

Failure:
    ANR(s) reported for long running operations perfromed on main thread.

Fix:
    -  Attach MAPService session handler to looper from a
       worker thread to avoid long running tasks handling
       for messages posted from UI thread.

    -  Move AppObserver Account onChange() handling
       to worker thread instead of UI thread.

    -  Avoid running contentobserver for SMS/MMS instance on
       main thread looper to  fix ANR reported while handling
       content changes for SMS and MMS listing. Add NPE checks
       hit during stability testing.

Change-Id: Ie146cd284fd191f7c7be7f0c1e7ed4877b36ae76
3 files changed