summaryrefslogtreecommitdiff
path: root/src/com/android/providers/blockednumber/BlockedNumberProvider.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/providers/blockednumber/BlockedNumberProvider.java')
-rw-r--r--src/com/android/providers/blockednumber/BlockedNumberProvider.java17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/com/android/providers/blockednumber/BlockedNumberProvider.java b/src/com/android/providers/blockednumber/BlockedNumberProvider.java
index 1458c1c..50dfcb2 100644
--- a/src/com/android/providers/blockednumber/BlockedNumberProvider.java
+++ b/src/com/android/providers/blockednumber/BlockedNumberProvider.java
@@ -45,7 +45,6 @@ import android.provider.BlockedNumberContract;
import android.provider.BlockedNumberContract.SystemContract;
import android.telecom.TelecomManager;
import android.telephony.CarrierConfigManager;
-import android.telephony.PhoneNumberUtils;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.util.Log;
@@ -407,9 +406,10 @@ public class BlockedNumberProvider extends ContentProvider {
return false;
}
- final String e164Number = Utils.getE164Number(getContext(), phoneNumber, null);
- return PhoneNumberUtils.isEmergencyNumber(phoneNumber)
- || PhoneNumberUtils.isEmergencyNumber(e164Number);
+ Context context = getContext();
+ final String e164Number = Utils.getE164Number(context, phoneNumber, null);
+ TelephonyManager tm = context.getSystemService(TelephonyManager.class);
+ return tm.isEmergencyNumber(phoneNumber) || tm.isEmergencyNumber(e164Number);
}
private boolean isBlocked(String phoneNumber) {
@@ -632,8 +632,13 @@ public class BlockedNumberProvider extends ContentProvider {
final TelephonyManager telephonyManager =
getContext().getSystemService(TelephonyManager.class);
- return telephonyManager.checkCarrierPrivilegesForPackageAnyPhone(callingPackage) ==
- TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS;
+ final long token = Binder.clearCallingIdentity();
+ try {
+ return telephonyManager.checkCarrierPrivilegesForPackageAnyPhone(callingPackage) ==
+ TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS;
+ } finally {
+ Binder.restoreCallingIdentity(token);
+ }
}
return false;
}