Fix issue #62196301: Pre-O background restrictions allow starts...

...from background apps

The check for whether a calling app was in the foreground was
way too lose, treating anything better than a receive as foreground.
Now we use the same foreground state check as elsewhere.

Test: manual

Change-Id: I6bb621f207204d14abfadc0d425297e7d5efe0f6
This commit is contained in:
Dianne Hackborn
2017-05-30 13:17:25 -07:00
parent d2638591d9
commit abe2a94853

View File

@@ -8447,8 +8447,8 @@ public class ActivityManagerService extends IActivityManager.Stub
synchronized (mPidsSelfLocked) {
proc = mPidsSelfLocked.get(callingPid);
}
if (proc != null && proc.curProcState
< ActivityManager.PROCESS_STATE_RECEIVER) {
if (proc != null &&
!ActivityManager.isProcStateBackground(proc.curProcState)) {
// Whoever is instigating this is in the foreground, so we will allow it
// to go through.
return ActivityManager.APP_START_MODE_NORMAL;