Chromium Code Reviews| Index: media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java |
| =================================================================== |
| --- media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java (revision 189667) |
| +++ media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java (working copy) |
| @@ -4,20 +4,87 @@ |
| package org.chromium.media; |
| +import android.content.BroadcastReceiver; |
| import android.content.Context; |
| +import android.content.Intent; |
| +import android.content.IntentFilter; |
| import android.media.AudioManager; |
| +import android.telephony.TelephonyManager; |
|
nilesh
2013/03/22 00:43:27
Remove unused imports
leozwang1
2013/03/22 01:33:13
Done.
nilesh
2013/03/22 01:43:43
remove android.util.Log too
leozwang1
2013/03/22 01:50:07
Done.
|
| +import android.util.Log; |
| import org.chromium.base.CalledByNative; |
| import org.chromium.base.JNINamespace; |
| @JNINamespace("media") |
| class AudioManagerAndroid { |
| + private static final String TAG = AudioManagerAndroid.class.getSimpleName(); |
| + |
| + private BroadcastReceiver mReceiver; |
| + private Context mContext; |
|
nilesh
2013/03/22 00:43:27
this can be final now.
Also group final and non-fi
leozwang1
2013/03/22 01:33:13
Done.
|
| + |
| + private boolean mOriginalSpeakerStatus; |
| + |
| + private static final int STATE_UNPLUGGED = 0; |
|
Ami GONE FROM CHROMIUM
2013/03/21 23:52:58
nit
My point in an earlier comment was:
Why aren'
leozwang1
2013/03/22 01:33:13
Done.
|
| + private static final int STATE_PLUGGED = 1; |
| + |
| @CalledByNative |
| - public static void setMode(Context context, int mode) { |
| - AudioManager audioManager = |
| - (AudioManager)context.getSystemService(Context.AUDIO_SERVICE); |
| - if (null != audioManager) { |
| - audioManager.setMode(mode); |
| + public void setMode(int mode) { |
| + AudioManager audioManager = getAudioManager(); |
| + audioManager.setMode(mode); |
|
Ami GONE FROM CHROMIUM
2013/03/21 23:52:58
nit
You sure do like temporary variables :)
getAud
leozwang1
2013/03/22 01:33:13
Done.
leozwang1
2013/03/22 01:33:13
Done.
|
| + } |
| + |
| + @CalledByNative |
| + private static AudioManagerAndroid createAudioManagerAndroid(Context context) { |
| + return new AudioManagerAndroid(context); |
| + } |
| + |
| + private AudioManagerAndroid(Context context) { |
| + mContext = context; |
| + } |
| + |
| + @CalledByNative |
| + public void registerHeadsetReceiver() { |
| + if (mReceiver != null) { |
| + return; |
| } |
| + final AudioManager audioManager = getAudioManager(); |
| + |
| + mOriginalSpeakerStatus = audioManager.isSpeakerphoneOn(); |
| + |
| + IntentFilter filter = new IntentFilter(); |
| + filter.addAction(Intent.ACTION_HEADSET_PLUG); |
|
Ami GONE FROM CHROMIUM
2013/03/21 23:52:58
Do these two lines have an effect different to:
ne
leozwang1
2013/03/22 01:33:13
Done.
leozwang1
2013/03/22 01:33:13
Done.
|
| + |
| + mReceiver = new BroadcastReceiver() { |
| + @Override |
| + public void onReceive(Context context, Intent intent) { |
| + if (Intent.ACTION_HEADSET_PLUG.equals(intent.getAction())) { |
| + int state = intent.getIntExtra("state", STATE_UNPLUGGED); |
| + // state 0 for unplugged, 1 for plugged. |
|
Ami GONE FROM CHROMIUM
2013/03/21 23:52:58
comment is silly now?
leozwang1
2013/03/22 01:33:13
Done.
leozwang1
2013/03/22 01:33:13
Done.
|
| + switch (state) { |
| + case STATE_UNPLUGGED: |
| + audioManager.setSpeakerphoneOn(true); |
| + break; |
| + case STATE_PLUGGED: |
| + audioManager.setSpeakerphoneOn(false); |
| + break; |
| + } |
| + } |
| + } |
| + }; |
| + mContext.registerReceiver(mReceiver, filter); |
| } |
| + |
| + @CalledByNative |
| + public void unregisterHeadsetReceiver() { |
| + mContext.unregisterReceiver(mReceiver); |
| + mReceiver = null; |
| + |
| + AudioManager audioManager = getAudioManager(); |
| + audioManager.setSpeakerphoneOn(mOriginalSpeakerStatus); |
|
Ami GONE FROM CHROMIUM
2013/03/21 23:52:58
Since you seem to be saying that getAudioManager()
leozwang1
2013/03/22 01:33:13
Done.
|
| + } |
| + |
| + private AudioManager getAudioManager() { |
| + return (AudioManager)mContext.getSystemService(Context.AUDIO_SERVICE); |
| + } |
| + |
| } |