WhisperSystems/TextSecure — pull request #1426 by mcginty (2014-04-25 00:49:12+00:00)
Title: stop using undocumented broken sqlite function

Verified by running sqlite3 in adb shell that PHONE_NUMBERS_EQUAL was acting incorrectly in saying phone numbers with different country numbers were equivalent (probably among other issues). Going back to the safer option of always explicitly comparing E164 numbers.

Updated libphonenumber to 6.0, the one we were using was about a year old and I saw in the changelog that there were some localization fixes for some countries that we probably want to pull in.

It should be noted that the first call to canonicalize a number will result in a disk read, meaning it could take a couple hundred milliseconds (saw 350ms on occasion for first call). We can mitigate this by cheating and prime PhoneNumberUtil on a separate thread during the app start, create an E164 cache database, or bitch at Google until they add an option to preload locale data (unlikely).