summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Michal Karpinski <mkarpinski@google.com> 2019-01-24 14:34:28 +0000
committer Michal Karpinski <mkarpinski@google.com> 2019-01-24 14:34:38 +0000
commitb416f47e7adc65987075154ffd1b0703cb2ace48 (patch)
treed240ab940d521e33b044075c5c0aa4fb04a0c775
parentbf4595621748a37d3c0ae2d6297dcad9f24cf77d (diff)
Whitelist NFC_UID to open activities from background
Bug: 123331369 Bug: 110956953 Test: atest WmTests:ActivityStarterTests Test: manual Change-Id: I517a3b33bcc1dfdc8e8769385a76d2f7912fda9a
-rw-r--r--services/core/java/com/android/server/wm/ActivityStarter.java3
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java4
2 files changed, 6 insertions, 1 deletions
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,