summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBrian Attwell <brianattwell@google.com>2015-06-25 21:39:21 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-06-25 21:39:22 +0000
commit57b5f249a4faf184298cd05fc2c3c17c3f5751b0 (patch)
treec482c1a6c0ddbd75aae7f1007966052b4e832f38 /src
parentc4cecc7e7534c7f5d887222d9e6f1a43364f7665 (diff)
parent0b89e307db20d1198d7b17b698d9146ab4607647 (diff)
downloadpackages_apps_Contacts-57b5f249a4faf184298cd05fc2c3c17c3f5751b0.tar.gz
packages_apps_Contacts-57b5f249a4faf184298cd05fc2c3c17c3f5751b0.tar.bz2
packages_apps_Contacts-57b5f249a4faf184298cd05fc2c3c17c3f5751b0.zip
Merge "Check permissions before using associated APIs" into mnc-dev
Diffstat (limited to 'src')
-rw-r--r--src/com/android/contacts/interactions/CalendarInteractionsLoader.java6
-rw-r--r--src/com/android/contacts/interactions/CallLogInteractionsLoader.java6
-rw-r--r--src/com/android/contacts/quickcontact/QuickContactActivity.java1
3 files changed, 10 insertions, 3 deletions
diff --git a/src/com/android/contacts/interactions/CalendarInteractionsLoader.java b/src/com/android/contacts/interactions/CalendarInteractionsLoader.java
index c3927ce10..481386699 100644
--- a/src/com/android/contacts/interactions/CalendarInteractionsLoader.java
+++ b/src/com/android/contacts/interactions/CalendarInteractionsLoader.java
@@ -2,6 +2,8 @@ package com.android.contacts.interactions;
import com.google.common.base.Preconditions;
+import com.android.contacts.common.util.PermissionsUtil;
+
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -9,6 +11,7 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
+import android.Manifest.permission;
import android.content.AsyncTaskLoader;
import android.content.ContentValues;
import android.content.Context;
@@ -55,7 +58,8 @@ public class CalendarInteractionsLoader extends AsyncTaskLoader<List<ContactInte
@Override
public List<ContactInteraction> loadInBackground() {
- if (mEmailAddresses == null || mEmailAddresses.size() < 1) {
+ if (!PermissionsUtil.hasPermission(getContext(), permission.READ_CALENDAR)
+ || mEmailAddresses == null || mEmailAddresses.size() < 1) {
return Collections.emptyList();
}
// Perform separate calendar queries for events in the past and future.
diff --git a/src/com/android/contacts/interactions/CallLogInteractionsLoader.java b/src/com/android/contacts/interactions/CallLogInteractionsLoader.java
index 46cd315db..2340d3f29 100644
--- a/src/com/android/contacts/interactions/CallLogInteractionsLoader.java
+++ b/src/com/android/contacts/interactions/CallLogInteractionsLoader.java
@@ -28,6 +28,8 @@ import android.text.TextUtils;
import com.google.common.annotations.VisibleForTesting;
+import com.android.contacts.common.util.PermissionsUtil;
+
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
@@ -48,7 +50,9 @@ public class CallLogInteractionsLoader extends AsyncTaskLoader<List<ContactInter
@Override
public List<ContactInteraction> loadInBackground() {
- if (!getContext().getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY)
+ if (!PermissionsUtil.hasPhonePermissions(getContext())
+ || !getContext().getPackageManager()
+ .hasSystemFeature(PackageManager.FEATURE_TELEPHONY)
|| mPhoneNumbers == null || mPhoneNumbers.length <= 0 || mMaxToRetrieve <= 0) {
return Collections.emptyList();
}
diff --git a/src/com/android/contacts/quickcontact/QuickContactActivity.java b/src/com/android/contacts/quickcontact/QuickContactActivity.java
index 5bfbd10c1..d97d472fa 100644
--- a/src/com/android/contacts/quickcontact/QuickContactActivity.java
+++ b/src/com/android/contacts/quickcontact/QuickContactActivity.java
@@ -45,7 +45,6 @@ import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Trace;
import android.provider.CalendarContract;
-import android.provider.ContactsContract;
import android.provider.ContactsContract.CommonDataKinds.Email;
import android.provider.ContactsContract.CommonDataKinds.Event;
import android.provider.ContactsContract.CommonDataKinds.GroupMembership;