OSDN Git Service

Merge "Update with latest translations."
[android-x86/packages-apps-Music.git] / tests / src / com / android / music / stress / MusicPlaybackStress.java
1 /*
2  * Copyright (C) 2008 The Android Open Source Project
3  *
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
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  */
16 package com.android.music.tests.stress;
17
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;
30
31
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;
36
37 public class MusicPlaybackStress extends ActivityInstrumentationTestCase <TrackBrowserActivity>{
38     private static String TAG = "mediaplayertests";
39   
40     public MusicPlaybackStress() {
41       super("com.android.music",TrackBrowserActivity.class);
42     }
43   
44     @Override 
45     protected void setUp() throws Exception { 
46       super.setUp(); 
47     }
48   
49     @Override 
50     protected void tearDown() throws Exception {   
51       super.tearDown();           
52     }
53
54     @LargeTest
55     public void testPlayAllSongs() {
56       Activity mediaPlaybackActivity;
57       try{
58         Instrumentation inst = getInstrumentation();
59         ActivityMonitor mediaPlaybackMon = inst.addMonitor("com.android.music.MediaPlaybackActivity", 
60           null, false);
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);
66           if (i==0){
67             //Set the repeat all
68             inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_RIGHT);
69             inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_UP);
70             inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_CENTER);
71      
72             //Set focus on the next button
73             inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_DOWN);
74           }
75           inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_CENTER);      
76         }   
77         mediaPlaybackActivity.finish();
78       }catch (Exception e){
79         Log.e(TAG, e.toString());
80       }
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);      
85     }
86 }