diff options
author | Ethan Chen <intervigil@gmail.com> | 2014-10-13 11:15:13 -0700 |
---|---|---|
committer | Ethan Chen <intervigil@gmail.com> | 2014-10-15 17:46:57 +0000 |
commit | 7c57573438222f402944efaf40a0f5e9700cf328 (patch) | |
tree | 7c6c37cd8a665d80a1df9890aeedd71ea52aa6cb /src | |
parent | da62675d1a40c2086ff82a68bb0d8507af326be2 (diff) | |
download | android_packages_apps_Dialer-7c57573438222f402944efaf40a0f5e9700cf328.tar.gz android_packages_apps_Dialer-7c57573438222f402944efaf40a0f5e9700cf328.tar.bz2 android_packages_apps_Dialer-7c57573438222f402944efaf40a0f5e9700cf328.zip |
Fix uncaught exception when no location provider available
Change-Id: I2625e6d219401a04a372a487d84edaaf3099f0d6
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/dialer/lookup/LookupProvider.java | 37 |
1 files changed, 21 insertions, 16 deletions
diff --git a/src/com/android/dialer/lookup/LookupProvider.java b/src/com/android/dialer/lookup/LookupProvider.java index fc966baa3..2c6ead0e2 100644 --- a/src/com/android/dialer/lookup/LookupProvider.java +++ b/src/com/android/dialer/lookup/LookupProvider.java @@ -253,26 +253,31 @@ public class LookupProvider extends ContentProvider { LocationManager locationManager = (LocationManager) getContext().getSystemService(Context.LOCATION_SERVICE); - locationManager.requestSingleUpdate(new Criteria(), - new LocationListener() { - @Override - public void onLocationChanged(Location location) { - } + try { + locationManager.requestSingleUpdate(new Criteria(), + new LocationListener() { + @Override + public void onLocationChanged(Location location) { + } - @Override - public void onProviderDisabled(String provider) { - } + @Override + public void onProviderDisabled(String provider) { + } - @Override - public void onProviderEnabled(String provider) { - } + @Override + public void onProviderEnabled(String provider) { + } - @Override - public void onStatusChanged(String provider, int status, Bundle extras) { - } - }, Looper.getMainLooper()); + @Override + public void onStatusChanged(String provider, int status, Bundle extras) { + } + }, Looper.getMainLooper()); - return locationManager.getLastLocation(); + return locationManager.getLastLocation(); + } catch (IllegalArgumentException e) { + // If no location service exists, IllegalArgument exception is thrown + return null; + } } /** |