From 67a66f4b44fc1f37de20a90d165ad125ce95d242 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Budnik?= Date: Tue, 25 Oct 2022 15:29:08 +0000 Subject: [PATCH] Add test for correct MBR ComponentName resolution This test checks that a MediaButtonReceiverHolder resolves a PendingIntent to an appropriate ComponentName that matches the PendingIntent's creator package. Bug: 238177121 Test: atest FrameworksServicesTests:MediaButtonReceiverHolderTest Change-Id: I930679c43c95633bee3a499a6d87ebeebb33b473 --- .../media/MediaButtonReceiverHolder.java | 4 ++ .../tests/servicestests/AndroidManifest.xml | 3 ++ services/tests/servicestests/AndroidTest.xml | 1 + .../media/MediaButtonReceiverHolderTest.java | 45 +++++++++++++++++++ .../src/com/android/server/media/OWNERS | 2 + .../test-apps/FakeMediaApp/Android.bp | 37 +++++++++++++++ .../FakeMediaApp/AndroidManifest.xml | 31 +++++++++++++ .../test-apps/FakeMediaApp/OWNERS | 2 + .../src/FakeMediaButtonBroadcastReceiver.java | 32 +++++++++++++ 9 files changed, 157 insertions(+) create mode 100644 services/tests/servicestests/src/com/android/server/media/MediaButtonReceiverHolderTest.java create mode 100644 services/tests/servicestests/src/com/android/server/media/OWNERS create mode 100644 services/tests/servicestests/test-apps/FakeMediaApp/Android.bp create mode 100644 services/tests/servicestests/test-apps/FakeMediaApp/AndroidManifest.xml create mode 100644 services/tests/servicestests/test-apps/FakeMediaApp/OWNERS create mode 100644 services/tests/servicestests/test-apps/FakeMediaApp/src/FakeMediaButtonBroadcastReceiver.java diff --git a/services/core/java/com/android/server/media/MediaButtonReceiverHolder.java b/services/core/java/com/android/server/media/MediaButtonReceiverHolder.java index dcdb881df12ba..72ce38b723406 100644 --- a/services/core/java/com/android/server/media/MediaButtonReceiverHolder.java +++ b/services/core/java/com/android/server/media/MediaButtonReceiverHolder.java @@ -275,6 +275,10 @@ final class MediaButtonReceiverHolder { String.valueOf(mComponentType)); } + public ComponentName getComponentName() { + return mComponentName; + } + @ComponentType private static int getComponentType(PendingIntent pendingIntent) { if (pendingIntent.isBroadcast()) { diff --git a/services/tests/servicestests/AndroidManifest.xml b/services/tests/servicestests/AndroidManifest.xml index 6551bdebe06e1..6349b21183fee 100644 --- a/services/tests/servicestests/AndroidManifest.xml +++ b/services/tests/servicestests/AndroidManifest.xml @@ -107,6 +107,9 @@ + + + diff --git a/services/tests/servicestests/AndroidTest.xml b/services/tests/servicestests/AndroidTest.xml index 9052f58b2a8be..9c7ce835632a4 100644 --- a/services/tests/servicestests/AndroidTest.xml +++ b/services/tests/servicestests/AndroidTest.xml @@ -33,6 +33,7 @@