diff options
author | Prabhakara Rao Pediredla <ppedired@codeaurora.org> | 2016-03-14 15:21:08 +0530 |
---|---|---|
committer | Michael Bestas <mikeioannina@gmail.com> | 2016-12-30 23:45:10 +0200 |
commit | 9e96317a0d905734d8c96be1e08157ccf701661e (patch) | |
tree | d77f452b37b9de4ff2cca54b8a8cb2125e515779 | |
parent | 73e48fa813fcc048622216a548d50539e98ec1b3 (diff) | |
download | android_packages_services_Telephony-9e96317a0d905734d8c96be1e08157ccf701661e.tar.gz android_packages_services_Telephony-9e96317a0d905734d8c96be1e08157ccf701661e.tar.bz2 android_packages_services_Telephony-9e96317a0d905734d8c96be1e08157ccf701661e.zip |
PhoneApp Crash: Multiple times due to permission issue
Phone App crashes while monkey is running with
no read contacts permission. Handled run time check
before making a contacts db query. It will avoid
exceptions.
Change-Id: I855d5358fcff06a245a0ec2734efa32e37b4daf0
-rw-r--r-- | src/com/android/phone/CallerInfoCache.java | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/com/android/phone/CallerInfoCache.java b/src/com/android/phone/CallerInfoCache.java index 644aa2222..83db85749 100644 --- a/src/com/android/phone/CallerInfoCache.java +++ b/src/com/android/phone/CallerInfoCache.java @@ -20,6 +20,7 @@ import android.app.AlarmManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; +import android.content.pm.PackageManager; import android.database.Cursor; import android.os.AsyncTask; import android.os.PowerManager; @@ -30,6 +31,7 @@ import android.provider.ContactsContract.CommonDataKinds.Phone; import android.provider.ContactsContract.Data; import android.telephony.PhoneNumberUtils; import android.util.Log; +import android.Manifest.permission; import java.util.HashMap; import java.util.Map.Entry; @@ -184,6 +186,10 @@ public class CallerInfoCache { // it keeps older one as much as it can, and replaces it with newer one inside a very small // synchronized block. + if (!(mContext != null && (mContext.checkSelfPermission(permission.READ_CONTACTS) + == PackageManager.PERMISSION_GRANTED))) { + return; // If there is no contacts permission, don't query. + } Cursor cursor = null; try { cursor = mContext.getContentResolver().query(Callable.CONTENT_URI, |