18f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania/* 28f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania * Copyright (C) 2009 The Android Open Source Project 38f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania * 48f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania * Licensed under the Apache License, Version 2.0 (the "License"); 58f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania * you may not use this file except in compliance with the License. 68f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania * You may obtain a copy of the License at 78f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania * 88f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania * http://www.apache.org/licenses/LICENSE-2.0 98f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania * 108f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania * Unless required by applicable law or agreed to in writing, software 118f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania * distributed under the License is distributed on an "AS IS" BASIS, 128f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 138f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania * See the License for the specific language governing permissions and 148f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania * limitations under the License. 158f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania */ 168f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania 178f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Cataniapackage com.android.mediaframeworktest.functional; 188f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania 198f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Cataniaimport com.android.mediaframeworktest.MediaFrameworkTest; 208f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Cataniaimport com.android.mediaframeworktest.MediaNames; 218f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania 228f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Cataniaimport android.test.ActivityInstrumentationTestCase2; 238f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Cataniaimport android.util.Log; 248f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Cataniaimport android.test.suitebuilder.annotation.LargeTest; 258f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Cataniaimport android.test.suitebuilder.annotation.MediumTest; 268f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Cataniaimport android.test.suitebuilder.annotation.Suppress; 278f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania 288f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Cataniaimport android.media.MediaPlayer; 298f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Cataniaimport android.os.Parcel; 308f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania 318f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Cataniaimport java.util.Calendar; 328f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Cataniaimport java.util.Random; 338f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania 348f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania// Tests for the invoke method in the MediaPlayer. 358f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Cataniapublic class MediaPlayerInvokeTest extends ActivityInstrumentationTestCase2<MediaFrameworkTest> { 368f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania private static final String TAG = "MediaPlayerInvokeTest"; 378f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania private MediaPlayer mPlayer; 388f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania private Random rnd; 398f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania 408f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania public MediaPlayerInvokeTest() { 418f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania super("com.android.mediaframeworktest", MediaFrameworkTest.class); 428f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania rnd = new Random(Calendar.getInstance().getTimeInMillis()); 438f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania } 448f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania 458f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania @Override 468f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania protected void setUp() throws Exception { 478f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania super.setUp(); 488f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania mPlayer = new MediaPlayer(); 498f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania } 508f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania 518f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania @Override 528f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania protected void tearDown() throws Exception { 538f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania mPlayer.release(); 548f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania super.tearDown(); 558f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania } 568f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania 578f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania // Generate a random number, sends it to the ping test player. 585b0b63b67489ae3fb14ad2fb000f0ad8977f8f30Yu Shan Emily Lau @Suppress 598f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania @MediumTest 608f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania public void testPing() throws Exception { 618f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania mPlayer.setDataSource("test:invoke_mock_media_player.so?url=ping"); 628f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania 638f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania Parcel request = mPlayer.newRequest(); 648f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania Parcel reply = Parcel.obtain(); 658f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania 668f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania int val = rnd.nextInt(); 678f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania request.writeInt(val); 687a9734d769d97470ce6fac0594dd007804d33432James Dong mPlayer.invoke(request, reply); 698f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania assertEquals(val, reply.readInt()); 708f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania } 718f5fcab05f1d6f644a9c30f012b8ff302f24a118Nicolas Catania} 72