From b416f47e7adc65987075154ffd1b0703cb2ace48 Mon Sep 17 00:00:00 2001 From: Michal Karpinski Date: Thu, 24 Jan 2019 14:34:28 +0000 Subject: [PATCH] Whitelist NFC_UID to open activities from background Bug: 123331369 Bug: 110956953 Test: atest WmTests:ActivityStarterTests Test: manual Change-Id: I517a3b33bcc1dfdc8e8769385a76d2f7912fda9a --- services/core/java/com/android/server/wm/ActivityStarter.java | 3 ++- .../tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/wm/ActivityStarter.java b/services/core/java/com/android/server/wm/ActivityStarter.java index d36e545aa74f..1f6c17d45922 100644 --- a/services/core/java/com/android/server/wm/ActivityStarter.java +++ b/services/core/java/com/android/server/wm/ActivityStarter.java @@ -907,7 +907,8 @@ class ActivityStarter { return false; } // 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 diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java index a381023590c3..5a145ad60db7 100644 --- a/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java @@ -599,6 +599,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, -- 2.11.0