Loading services/core/java/com/android/server/wm/ActivityStarter.java +2 −1 Original line number Diff line number Diff line Loading @@ -916,7 +916,8 @@ class ActivityStarter { PendingIntentRecord originatingPendingIntent, boolean allowBackgroundActivityStart, Intent intent) { // don't abort for the most important UIDs if (callingUid == Process.ROOT_UID || callingUid == Process.SYSTEM_UID) { if (callingUid == Process.ROOT_UID || callingUid == Process.SYSTEM_UID || callingUid == Process.NFC_UID) { return false; } // don't abort if the callerApp has any visible activity Loading services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java +4 −0 Original line number Diff line number Diff line Loading @@ -598,6 +598,10 @@ public class ActivityStarterTests extends ActivityTestsBase { Process.SYSTEM_UID, false, PROCESS_STATE_TOP + 1, UNIMPORTANT_UID2, false, PROCESS_STATE_TOP + 1, false, false, false); runAndVerifyBackgroundActivityStartsSubtest("disallowed_nfcUid_notAborted", false, Process.NFC_UID, false, PROCESS_STATE_TOP + 1, UNIMPORTANT_UID2, false, PROCESS_STATE_TOP + 1, false, false, false); runAndVerifyBackgroundActivityStartsSubtest( "disallowed_callingUidHasVisibleWindow_notAborted", false, UNIMPORTANT_UID, true, PROCESS_STATE_TOP + 1, Loading Loading
services/core/java/com/android/server/wm/ActivityStarter.java +2 −1 Original line number Diff line number Diff line Loading @@ -916,7 +916,8 @@ class ActivityStarter { PendingIntentRecord originatingPendingIntent, boolean allowBackgroundActivityStart, Intent intent) { // don't abort for the most important UIDs if (callingUid == Process.ROOT_UID || callingUid == Process.SYSTEM_UID) { if (callingUid == Process.ROOT_UID || callingUid == Process.SYSTEM_UID || callingUid == Process.NFC_UID) { return false; } // don't abort if the callerApp has any visible activity Loading
services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java +4 −0 Original line number Diff line number Diff line Loading @@ -598,6 +598,10 @@ public class ActivityStarterTests extends ActivityTestsBase { Process.SYSTEM_UID, false, PROCESS_STATE_TOP + 1, UNIMPORTANT_UID2, false, PROCESS_STATE_TOP + 1, false, false, false); runAndVerifyBackgroundActivityStartsSubtest("disallowed_nfcUid_notAborted", false, Process.NFC_UID, false, PROCESS_STATE_TOP + 1, UNIMPORTANT_UID2, false, PROCESS_STATE_TOP + 1, false, false, false); runAndVerifyBackgroundActivityStartsSubtest( "disallowed_callingUidHasVisibleWindow_notAborted", false, UNIMPORTANT_UID, true, PROCESS_STATE_TOP + 1, Loading