Multi-user - 1st major checkin
Switching activity stacks Cache ContentProvider per user Long-press power to switch users (on phone) Added ServiceMap for separating services by user Launch PendingIntents on the correct user's uid Fix task switching from Recents list AppWidgetService is mostly working. Commands added to pm and am to allow creating and switching profiles. Change-Id: I15810e8cfbe50a04bd3323a7ef5a8ff4230870ed
This commit is contained in:
@@ -371,6 +371,11 @@ int IPCThreadState::getCallingUid()
|
||||
return mCallingUid;
|
||||
}
|
||||
|
||||
int IPCThreadState::getOrigCallingUid()
|
||||
{
|
||||
return mOrigCallingUid;
|
||||
}
|
||||
|
||||
int64_t IPCThreadState::clearCallingIdentity()
|
||||
{
|
||||
int64_t token = ((int64_t)mCallingUid<<32) | mCallingPid;
|
||||
@@ -641,6 +646,7 @@ IPCThreadState::IPCThreadState()
|
||||
{
|
||||
pthread_setspecific(gTLS, this);
|
||||
clearCaller();
|
||||
mOrigCallingUid = mCallingUid;
|
||||
mIn.setDataCapacity(256);
|
||||
mOut.setDataCapacity(256);
|
||||
}
|
||||
@@ -987,6 +993,7 @@ status_t IPCThreadState::executeCommand(int32_t cmd)
|
||||
|
||||
mCallingPid = tr.sender_pid;
|
||||
mCallingUid = tr.sender_euid;
|
||||
mOrigCallingUid = tr.sender_euid;
|
||||
|
||||
int curPrio = getpriority(PRIO_PROCESS, mMyThreadId);
|
||||
if (gDisableBackgroundScheduling) {
|
||||
@@ -1045,6 +1052,7 @@ status_t IPCThreadState::executeCommand(int32_t cmd)
|
||||
|
||||
mCallingPid = origPid;
|
||||
mCallingUid = origUid;
|
||||
mOrigCallingUid = origUid;
|
||||
|
||||
IF_LOG_TRANSACTIONS() {
|
||||
TextOutput::Bundle _b(alog);
|
||||
|
||||
Reference in New Issue
Block a user