Fetching content via intent, timeout on ui.

- Adding a new state, fetching the content.
- Set ui in fetching content state whilst we check has_content field.
- If content not available, move to make request for content state.
- If fetching content fails within a timeout, show this on the ui.
- If content is available, move to buffering state as before.
- Disable ui during buffering and fetching content states.
- Re-enable ui elements once successfully prepared.
- Add speakerphone to list of ui elements to be disabled on error.

Other:
- Makes inner fragment class static, to prevent possible NPE when
  accessing the Activity via getActivity().
- Makes use of mApplicationContext where it makes sense, rather than
  using the Activity directly.

Bug: 5059965
Bug: 5114261
Change-Id: Id2fee5e279fb02688198a1d6b602555f7a450450
3 files changed