2 * Copyright (C) 2008 The Android Open Source Project
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
16 package com.android.music.tests.stress;
18 import android.app.Activity;
19 import android.app.ActivityManager;
20 import android.app.Instrumentation;
21 import android.app.Instrumentation.ActivityMonitor;
22 import android.content.Intent;
23 import android.os.Bundle;
24 import android.os.SystemClock;
25 import android.test.ActivityInstrumentationTestCase;
26 import android.test.suitebuilder.annotation.LargeTest;
27 import android.view.KeyEvent;
28 import android.util.Log;
29 import android.content.Context;
32 import com.android.music.MusicBrowserActivity;
33 import com.android.music.MusicUtils;
34 import com.android.music.TrackBrowserActivity;
35 import com.android.music.tests.MusicPlayerNames;
37 public class MusicPlaybackStress extends ActivityInstrumentationTestCase <TrackBrowserActivity>{
38 private static String TAG = "mediaplayertests";
40 public MusicPlaybackStress() {
41 super("com.android.music",TrackBrowserActivity.class);
45 protected void setUp() throws Exception {
50 protected void tearDown() throws Exception {
55 public void testPlayAllSongs() {
56 Activity mediaPlaybackActivity;
58 Instrumentation inst = getInstrumentation();
59 ActivityMonitor mediaPlaybackMon = inst.addMonitor("com.android.music.MediaPlaybackActivity",
61 inst.invokeMenuActionSync(getActivity(), MusicUtils.Defs.CHILD_MENU_BASE + 3, 0);
62 Thread.sleep(MusicPlayerNames.WAIT_LONG_TIME);
63 mediaPlaybackActivity = mediaPlaybackMon.waitForActivityWithTimeout(2000);
64 for (int i=0;i< MusicPlayerNames.NO_SKIPPING_SONGS;i++){
65 Thread.sleep(MusicPlayerNames.SKIP_WAIT_TIME);
68 inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_RIGHT);
69 inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_UP);
70 inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_CENTER);
72 //Set focus on the next button
73 inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_DOWN);
75 inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_CENTER);
77 mediaPlaybackActivity.finish();
79 Log.e(TAG, e.toString());
81 //Verification: check if it is in low memory
82 ActivityManager.MemoryInfo mi = new ActivityManager.MemoryInfo();
83 ((ActivityManager)getActivity().getSystemService("activity")).getMemoryInfo(mi);
84 assertFalse(TAG, mi.lowMemory);