Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 962ca6ca authored by Iván Budnik's avatar Iván Budnik Committed by Android (Google) Code Review
Browse files

Merge "Add test for correct MBR ComponentName resolution"

parents 69027e0b 67a66f4b
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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()) {
+3 −0
Original line number Diff line number Diff line
@@ -107,6 +107,9 @@

    <queries>
        <package android:name="com.android.servicestests.apps.suspendtestapp" />
        <intent>
            <action android:name="android.media.browse.MediaBrowserService" />
        </intent>
    </queries>

    <!-- Uses API introduced in O (26) -->
+1 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@
        <option name="test-file-name" value="SimpleServiceTestApp1.apk" />
        <option name="test-file-name" value="SimpleServiceTestApp2.apk" />
        <option name="test-file-name" value="SimpleServiceTestApp3.apk" />
        <option name="test-file-name" value="FakeMediaApp.apk" />
    </target_preparer>

    <!-- Create place to store apks -->
+45 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2022 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.android.server.media;

import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;

import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.platform.app.InstrumentationRegistry;

import com.google.common.truth.Truth;

import org.junit.Test;
import org.junit.runner.RunWith;

@RunWith(AndroidJUnit4.class)
public class MediaButtonReceiverHolderTest {

    @Test
    public void createMediaButtonReceiverHolder_resolvesNullComponentName() {
        Context context = InstrumentationRegistry.getInstrumentation().getContext();
        Intent intent = new Intent(Intent.ACTION_MEDIA_BUTTON);
        PendingIntent pi = PendingIntent.getBroadcast(context, /* requestCode= */ 0, intent,
                PendingIntent.FLAG_IMMUTABLE);
        MediaButtonReceiverHolder a = MediaButtonReceiverHolder.create(/* userId= */ 0, pi,
                context.getPackageName());
        Truth.assertWithMessage("Component name must match PendingIntent creator package.").that(
                a.getComponentName()).isNull();
    }
}
+2 −0
Original line number Diff line number Diff line
# Bug component: 137631
include platform/frameworks/av:/media/janitors/media_solutions_OWNERS
 No newline at end of file
Loading