1e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau /*
2e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau  * Copyright (C) 2010 The Android Open Source Project
3e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau  *
4e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau  * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau  * use this file except in compliance with the License. You may obtain a copy of
6e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau  * the License at
7e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau  *
8e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau  * http://www.apache.org/licenses/LICENSE-2.0
9e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau  *
10e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau  * Unless required by applicable law or agreed to in writing, software
11e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau  * License for the specific language governing permissions and limitations under
14e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau  * the License.
15e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau  */
16e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau
17e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Laupackage com.android.mediaframeworktest.functional;
18e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau
19e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lauimport com.android.mediaframeworktest.MediaFrameworkTest;
20e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lauimport android.content.Context;
21e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lauimport android.media.AudioManager;
22e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lauimport android.test.ActivityInstrumentationTestCase2;
23e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lauimport android.test.suitebuilder.annotation.MediumTest;
24e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau
25e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau/**
26e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau * Junit / Instrumentation test case for the media AudioManager api
27e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau */
28e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau
29e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Laupublic class MediaAudioManagerTest extends ActivityInstrumentationTestCase2<MediaFrameworkTest> {
30e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau
31e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau    private String TAG = "MediaAudioManagerTest";
32e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau    private AudioManager mAudioManager;
33e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau    private int[] ringtoneMode = {AudioManager.RINGER_MODE_NORMAL,
34e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau             AudioManager.RINGER_MODE_SILENT, AudioManager.RINGER_MODE_VIBRATE};
35e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau
36e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau    public MediaAudioManagerTest() {
37e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau        super("com.android.mediaframeworktest", MediaFrameworkTest.class);
38e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau    }
39e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau
40e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau    @Override
41e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau    protected void setUp() throws Exception {
42e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau        super.setUp();
43e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau        mAudioManager = (AudioManager) getActivity().getSystemService(Context.AUDIO_SERVICE);
44e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau     }
45e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau
46e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau     @Override
47e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau     protected void tearDown() throws Exception {
48e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau         super.tearDown();
49e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau     }
50e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau
51e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau     public boolean validateSetRingTone(int i) {
52e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau         int getRingtone = mAudioManager.getRingerMode();
53e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau         if (i != getRingtone)
54e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau             return false;
55e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau         else
56e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau             return true;
57e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau     }
58e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau
59e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau     // Test case 1: Simple test case to validate the set ringtone mode
60e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau     @MediumTest
61e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau     public void testSetRingtoneMode() throws Exception {
62e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau         boolean result = false;
63e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau
64e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau         for (int i = 0; i < ringtoneMode.length; i++) {
65e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau             mAudioManager.setRingerMode(ringtoneMode[i]);
66e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau             result = validateSetRingTone(ringtoneMode[i]);
67e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau             assertTrue("SetRingtoneMode : " + ringtoneMode[i], result);
68e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau         }
69e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau     }
70e11bafec8d6c887c6ae95fa3d39c202859e86d48Yu Shan Emily Lau }