Merge "Add Cellbroadcast ContentProvider" am: 6bfb8fe0a8
am: 128a2fa90b
Change-Id: I8d4f831e220ecaf363d042e034214354d4186e5d
diff --git a/src/com/android/providers/telephony/TelephonyProvider.java b/src/com/android/providers/telephony/TelephonyProvider.java
index 6629eb9..b301564 100644
--- a/src/com/android/providers/telephony/TelephonyProvider.java
+++ b/src/com/android/providers/telephony/TelephonyProvider.java
@@ -138,7 +138,6 @@
import java.util.Locale;
import java.util.Map;
import java.util.Set;
-import java.util.function.Consumer;
import java.util.zip.CRC32;
public class TelephonyProvider extends ContentProvider
@@ -2780,7 +2779,7 @@
List<String> constraints = new ArrayList<String>();
int match = s_urlMatcher.match(url);
- checkQueryPermission(match, projectionIn, selection);
+ checkQueryPermission(match, projectionIn, selection, sort);
switch (match) {
case URL_TELEPHONY_USING_SUBID: {
subIdString = url.getLastPathSegment();
@@ -2989,19 +2988,21 @@
return ret;
}
- private void checkQueryPermission(int match, String[] projectionIn, String selection) {
+ private void checkQueryPermission(int match, String[] projectionIn, String selection,
+ String sort) {
if (match != URL_SIMINFO && match != URL_SIMINFO_USING_SUBID) {
// Determine if we need to do a check for fields in the selection
- boolean selectionContainsSensitiveFields;
+ boolean selectionOrSortContainsSensitiveFields;
try {
- selectionContainsSensitiveFields = containsSensitiveFields(selection);
+ selectionOrSortContainsSensitiveFields = containsSensitiveFields(selection);
+ selectionOrSortContainsSensitiveFields |= containsSensitiveFields(sort);
} catch (IllegalArgumentException e) {
// Malformed sql, check permission anyway and return.
checkPermission();
return;
}
- if (selectionContainsSensitiveFields) {
+ if (selectionOrSortContainsSensitiveFields) {
try {
checkPermission();
} catch (SecurityException e) {