[automerger] Merge commit '7d518b39bc046617cc31a8cd42a7b5db4d7311e4' into am-7ab8b227-c8ac-4100-8ef0-da42db9d62a0 am: aebacebb68 am: 5de9270a3a
Change-Id: I0463cda5144a0f90205b31b659ca9f0d0a657c33
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 50f90c1..1051f02 100644
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -18,6 +18,7 @@
import static com.android.internal.telephony.PhoneConstants.SUBSCRIPTION_KEY;
+import android.Manifest.permission;
import android.app.ActivityManager;
import android.app.AppOpsManager;
import android.content.ComponentName;
@@ -58,6 +59,7 @@
import android.telephony.VisualVoicemailSmsFilterSettings;
import android.text.TextUtils;
import android.util.ArraySet;
+import android.util.EventLog;
import android.util.Log;
import android.util.Pair;
import android.util.Slog;
@@ -1046,7 +1048,12 @@
* @return true is a call was ended
*/
public boolean endCallForSubscriber(int subId) {
- enforceCallPermission();
+ if (mApp.checkCallingOrSelfPermission(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));
}