• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2015 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 
17 package com.android.cts.verifier.audio;
18 
19 import com.android.cts.verifier.PassFailButtons;
20 import com.android.cts.verifier.R;
21 import com.android.cts.verifier.audio.wavelib.*;
22 import com.android.compatibility.common.util.ReportLog;
23 import com.android.compatibility.common.util.ResultType;
24 import com.android.compatibility.common.util.ResultUnit;
25 
26 import android.app.AlertDialog;
27 import android.content.Context;
28 import android.media.AudioDeviceCallback;
29 import android.media.AudioDeviceInfo;
30 import android.media.AudioFormat;
31 import android.media.AudioManager;
32 import android.media.AudioTrack;
33 import android.media.AudioRecord;
34 import android.media.MediaRecorder;
35 import android.os.Bundle;
36 import android.os.Handler;
37 import android.os.Message;
38 import android.os.SystemClock;
39 import android.util.Log;
40 import android.view.View;
41 import android.view.View.OnClickListener;
42 import android.widget.Button;
43 import android.widget.TextView;
44 import android.widget.SeekBar;
45 import android.widget.LinearLayout;
46 import android.widget.ProgressBar;
47 
48 /**
49  * Audio Frequency Test base activity
50  */
51 public class AudioFrequencyActivity extends PassFailButtons.Activity {
52     private static final String TAG = "AudioFrequencyActivity";
53 
54     public int mMaxLevel = 0;
55 
setMaxLevel()56     public void setMaxLevel() {
57         AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
58         mMaxLevel = am.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
59         am.setStreamVolume(AudioManager.STREAM_MUSIC, (int)(mMaxLevel), 0);
60     }
61 
setMinLevel()62     public void setMinLevel() {
63         AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
64         am.setStreamVolume(AudioManager.STREAM_MUSIC, 0, 0);
65     }
66 
testMaxLevel()67     public void testMaxLevel() {
68         AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
69         int currentLevel =  am.getStreamVolume(AudioManager.STREAM_MUSIC);
70         Log.i(TAG, String.format("Max level: %d curLevel: %d", mMaxLevel, currentLevel));
71         if (currentLevel != mMaxLevel) {
72             new AlertDialog.Builder(this)
73                 .setTitle(R.string.audio_general_warning)
74                 .setMessage(R.string.audio_general_level_not_max)
75                 .setPositiveButton(R.string.audio_general_ok, null)
76                 .show();
77         }
78     }
79 
80 }
81