Merge "Fix issue #11374840: adb shell am startservice not working any more" into klp-dev

This commit is contained in:
Dianne Hackborn
2013-10-25 22:30:35 +00:00
committed by Android (Google) Code Review

View File

@@ -12367,7 +12367,6 @@ public final class ActivityManagerService extends ActivityManagerNative
synchronized(this) {
final int callingPid = Binder.getCallingPid();
final int callingUid = Binder.getCallingUid();
checkValidCaller(callingUid, userId);
final long origId = Binder.clearCallingIdentity();
ComponentName res = mServices.startServiceLocked(caller, service,
resolvedType, callingPid, callingUid, userId);
@@ -12397,8 +12396,6 @@ public final class ActivityManagerService extends ActivityManagerNative
throw new IllegalArgumentException("File descriptors passed in Intent");
}
checkValidCaller(Binder.getCallingUid(), userId);
synchronized(this) {
return mServices.stopServiceLocked(caller, service, resolvedType, userId);
}
@@ -16389,13 +16386,6 @@ public final class ActivityManagerService extends ActivityManagerNative
return mUserManager;
}
private void checkValidCaller(int uid, int userId) {
if (UserHandle.getUserId(uid) == userId || uid == Process.SYSTEM_UID || uid == 0) return;
throw new SecurityException("Caller uid=" + uid
+ " is not privileged to communicate with user=" + userId);
}
private int applyUserId(int uid, int userId) {
return UserHandle.getUid(userId, uid);
}