summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/phone/PhoneInterfaceManager.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index eafcb38e4..0e1ae1aec 100644
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -52,6 +52,7 @@ import android.telephony.ModemActivityInfo;
import android.text.TextUtils;
import android.util.ArrayMap;
import android.util.ArraySet;
+import android.util.EventLog;
import android.util.Log;
import android.util.Pair;
import android.util.Slog;
@@ -1039,7 +1040,12 @@ public class PhoneInterfaceManager extends ITelephony.Stub {
* @return true is a call was ended
*/
public boolean endCallForSubscriber(int subId) {
- enforceCallPermission();
+ if (mApp.checkCallingOrSelfPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
+ != PackageManager.PERMISSION_GRANTED) {
+ Log.i(LOG_TAG, "endCall: called without modify phone state.");
+ EventLog.writeEvent(0x534e4554, "67862398", -1, "");
+ throw new SecurityException("MODIFY_PHONE_STATE permission required.");
+ }
return (Boolean) sendRequest(CMD_END_CALL, null, new Integer(subId));
}