Bug 924846 - [Keyboard][V1.2] Selected keyboard cannot be displayed while switching the keyboard between built-in keyboard and third party keyboard
Bug 931555 - [Bluetooth] - wrong button style on file transfer failed screen
Bug 920546 - [Messages] Short-term fixes for the recipient panel r=julienw

https://bugzilla.mozilla.org/show_bug.cgi?id=920546

- Apply new "invalid recipient" indicator style
- Decouple searchContact from list display
- Create ThreadUI.listContact(...)
- Create ThreadUI.validateContact(...)
- Adds two level validation:
    - Is the entry questionable?
        - This kicks off a silent search for matching contacts
        - If there are one or more matches, use the first to create a Recipient
    - Is the entry invalid?
        - This state is reached if no contacts could be found
          for the typed value.
        - Prevents enableSend
        - Prevents "export" of recipient entry at Send
          (when mixed with multiple valid recipients)
- Refactor Utils.getContactDisplayInfo logic
- Adds tests for enableSend
- Adds tests for questionable Recipient detection.

Changes, post review:

> Bug 1:
>  - enter a bogus recipient, press enter to "accept" it
>  - press backspace => the cursor is correctly inside the contenteditable element, but it's still "red" and the keyboard is hiding

Fixed by adding CSS rules:
  [contenteditable=false].attention
  [contenteditable=true].attention

---

> Bug 2:
>  - with the recipient light workload, that has a "Adam L. Card" contact
>  - typing exactly "Adam L. Card" => no match
>  - typing "Adam Card" => match

Yep, this has always been true. See also: https://bugzilla.mozilla.org/show_bug.cgi?id=860804

---

> Bug 3:
>  - add text in the composer
>  - add a bogus contact => the send button is enabled, should be disabled

Fixed by being more explicit in enableSend:

Set hasRecipients to true based on the following conditions:

 1. There is a valid recipients object
 2. One of the following is true:
     - The recipients object contains at least 1 valid recipient
       - OR -
     - There is >1 character typed and the value will not
       evaluate to a NaN

Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
Bug 913385 - Add Hardware tests mode r=evelyn

    This patch organize old tests into API and UI parts, and add new Hardware tests.
    Also, there are some minor fixes on existing tests.
    HW tests mode provide the following tests:

    Audio loop
    Battery
    Bluetooth
    Camera
    Headphone
    LCD
    Physical keys
    Ringer
    SDCard
    Sensors
    Touch screen
    Vibrator
Bug 924736 - [Dialer] Incoming call lock screen icons css/animation fine-tune
Revert "Merge pull request #13115 from RudyLu/keyboard/Bug928281-keyboard_OOP"

  This reverts commit 9c6586d85d4340600ace0aa69f5741c5f3f67970, reversing
  changes made to 0c52c04fa2e07c119f4777f1dddc1081734de4ab.

Revert "Bug 912010 - [Keyboard][V1.2] Default Keyboard when all keyboards are de-selected - r=rlu r=garychen r=arthurcc"

  This reverts commit ad0bf992cd379a32de18b9a4bb765757db8af986.

  Conflicts:
	apps/settings/index.html
Merge pull request #12924 from steveck-chung/incoming-call-refinement

Bug 924736 - [Dialer] Incoming call lock screen icons css/animation fine -tune. r=etiennesegonzac, a=timdream.
Merge pull request #13024 from MBRSL/eng-mode

Bug 913385 - Add Hardware tests mode r=evelyn,zac
Revert "Bug 909689 - Set data connection text based on the network mode and the existence of calls"

This reverts commit d505b37f2e856d0cf7c7cd5b37c02eec44f06b7d.
Bug 909689 - Set data connection text based on the network mode and the existence of calls r=alive
Merge pull request #12779 from bmac/924846

Bug 924846 - [Keyboard][V1.2] Selected keyboard cannot be displayed whil...
r=gchen
Merge pull request #13123 from pivanov/bug-931555

Bug 931555 - [Bluetooth] - wrong button style on file transfer failed screen