More keyboard polish

- Weird condition where user presses right to go into a conversation,
  we load the conversation then set mConversationToShow = null. But
  then our posted runnable for "peeking" the conversation completes,
  and we show a null conversation which defaults to the first conv.

- Don't focus if the pager can't find anything to focus. This prevents
  the focus from being put to default location (top left) if
  onRequestFocusInDescendants fail.

- When the user taps a conversation, the list loses selectedItem. Use
  checked item as fallback for navigation. However, sometimes the
  listview loses focus when the user taps a conversation, thus
  it wont receive any onKey events. I'll try to figure that out later.

- Check target size before commiting the undo action for toast bar.

b/17570560
b/17567978

Change-Id: I3d471dc1c1d956957463198086112d5a352fb775
5 files changed