am afd01086: Merge "Further volume improvements." into ics-mr1

* commit 'afd01086795c7c1f6950a709180b2361625b8b6a':
  Further volume improvements.
This commit is contained in:
Amith Yamasani
2011-12-02 11:24:03 -08:00
committed by Android Git Automerger
3 changed files with 54 additions and 44 deletions

View File

@ -21,7 +21,6 @@ import static android.media.AudioManager.RINGER_MODE_SILENT;
import static android.media.AudioManager.RINGER_MODE_VIBRATE;
import android.app.ActivityManagerNative;
import android.app.KeyguardManager;
import android.app.PendingIntent;
import android.app.PendingIntent.CanceledException;
import android.bluetooth.BluetoothA2dp;
@ -320,8 +319,6 @@ public class AudioService extends IAudioService.Stub {
private static final int NOTIFICATION_VOLUME_DELAY_MS = 5000;
// previous volume adjustment direction received by checkForRingerModeChange()
private int mPrevVolDirection = AudioManager.ADJUST_SAME;
// Keyguard manager proxy
private KeyguardManager mKeyguardManager;
///////////////////////////////////////////////////////////////////////////
// Construction
@ -506,10 +503,9 @@ public class AudioService extends IAudioService.Stub {
streamType = getActiveStreamType(suggestedStreamType);
}
// Play sounds on STREAM_RING only and if lock screen is not on.
// Play sounds on STREAM_RING only.
if ((flags & AudioManager.FLAG_PLAY_SOUND) != 0 &&
((STREAM_VOLUME_ALIAS[streamType] != AudioSystem.STREAM_RING) ||
(mKeyguardManager != null && mKeyguardManager.isKeyguardLocked()))) {
((STREAM_VOLUME_ALIAS[streamType] != AudioSystem.STREAM_RING))) {
flags &= ~AudioManager.FLAG_PLAY_SOUND;
}
@ -2669,8 +2665,6 @@ public class AudioService extends IAudioService.Stub {
sendMsg(mAudioHandler, MSG_LOAD_SOUND_EFFECTS, SHARED_MSG, SENDMSG_NOOP,
0, 0, null, 0);
mKeyguardManager =
(KeyguardManager)mContext.getSystemService(Context.KEYGUARD_SERVICE);
mScoConnectionState = AudioManager.SCO_AUDIO_STATE_ERROR;
resetBluetoothSco();
getBluetoothHeadset();

View File

@ -56,6 +56,8 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac
private static final String TAG = "GlobalActions";
private static final boolean SHOW_SILENT_TOGGLE = false;
private final Context mContext;
private final AudioManager mAudioManager;
@ -187,12 +189,18 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac
}
};
mItems = Lists.newArrayList(
mItems = new ArrayList<Action>();
// silent mode
mSilentModeToggle,
if (SHOW_SILENT_TOGGLE) {
mItems.add(mSilentModeToggle);
}
// next: airplane mode
mAirplaneModeOn,
mItems.add(mAirplaneModeOn);
// last: power off
mItems.add(
new SinglePressAction(
com.android.internal.R.drawable.ic_lock_power_off,
R.string.global_action_power_off) {

View File

@ -46,6 +46,10 @@ public abstract class KeyguardViewBase extends FrameLayout {
private KeyguardViewCallback mCallback;
private AudioManager mAudioManager;
private TelephonyManager mTelephonyManager = null;
// Whether the volume keys should be handled by keyguard. If true, then
// they will be handled here for specific media types such as music, otherwise
// the audio service will bring up the volume dialog.
private static final boolean KEYGUARD_MANAGES_VOLUME = false;
// This is a faster way to draw the background on devices without hardware acceleration
Drawable mBackgroundDrawable = new Drawable() {
@ -203,6 +207,7 @@ public abstract class KeyguardViewBase extends FrameLayout {
case KeyEvent.KEYCODE_VOLUME_UP:
case KeyEvent.KEYCODE_VOLUME_DOWN:
case KeyEvent.KEYCODE_VOLUME_MUTE: {
if (KEYGUARD_MANAGES_VOLUME) {
synchronized (this) {
if (mAudioManager == null) {
mAudioManager = (AudioManager) getContext().getSystemService(
@ -221,6 +226,9 @@ public abstract class KeyguardViewBase extends FrameLayout {
}
// Don't execute default volume behavior
return true;
} else {
return false;
}
}
}
} else if (event.getAction() == KeyEvent.ACTION_UP) {