Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cec25c4e authored by David Brown's avatar David Brown
Browse files

CallerInfo query: Turn on "geo description" lookup for unknown numbers

With the latest version of the external/libphonenumber library
<https://android-git.corp.google.com/g/117190> we now have real data for
the PhoneNumberOfflineGeocoder.getDescriptionForNumber() feature.

So enable it in the CallerInfo query.  This means that the incoming call
UI will now show a geo description like "California" or "Maryland" (along
with the number) for unknown incoming numbers.

I also needed to work around an issue with the latest phonenumber library:
The new library apparently requires countryIso to be uppercase (e.g. "US")
but the CountryDetector.detectCountry().getCountryIso() call currently
returns "us", which causes PhoneNumberUtil.parse() to fail.  (This also
broke some ContactsProvider tests too.)  So force the countryIso to
uppercase for now.

TESTED (on Crespo):
  - Incoming calls from an unknown number:
    ==> State name is now displayed.
  - Incoming calls from a number that matches a contact:
    ==> no change in behavior

Bug: 4595580
Change-Id: I03126e1eee99d428e76bbbad5b3856be3874f549
parent 0824b928
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -526,8 +526,20 @@ public class CallerInfo {
                  + countryIso);
        }

        // Temp workaround: The current libphonenumber library requires
        // the countryIso to be uppercase (e.g. "US") but the
        // detector.detectCountry().getCountryIso() call currently returns
        // "us".  Passing "us" to util.parse() will just result in a
        // NumberParseException.
        // So force the countryIso to uppercase for now.
        // TODO: remove this once getCountryIso() is fixed to always
        // return uppercase.
        countryIso = countryIso.toUpperCase();

        PhoneNumber pn = null;
        try {
            if (VDBG) Log.v(TAG, "parsing '" + number
                            + "' for countryIso '" + countryIso + "'...");
            pn = util.parse(number, countryIso);
            if (VDBG) Log.v(TAG, "- parsed number: " + pn);
        } catch (NumberParseException e) {
+1 −1
Original line number Diff line number Diff line
@@ -55,7 +55,7 @@ public class CallerInfoAsyncQuery {
    // PhoneNumberOfflineGeocoder to look up a "geo description"?
    // (TODO: This could become a flag in config.xml if it ever needs to be
    // configured on a per-product basis.)
    private static final boolean ENABLE_UNKNOWN_NUMBER_GEO_DESCRIPTION = false;
    private static final boolean ENABLE_UNKNOWN_NUMBER_GEO_DESCRIPTION = true;

    /**
     * Interface for a CallerInfoAsyncQueryHandler result return.