diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2019-10-14 01:59:55 -0700 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2019-10-14 01:59:55 -0700 |
commit | 5b59411dcd0cdae9036f84c76139bb300626d822 (patch) | |
tree | 31d6bbb4770eb1de3b11564e107d343b59720d11 | |
parent | 847e9c127741d53f73ff1369fc1694c09540d733 (diff) | |
parent | 52785e27584785f2826142469b17d440e82ded56 (diff) | |
download | android_packages_apps_Gallery2-5b59411dcd0cdae9036f84c76139bb300626d822.tar.gz android_packages_apps_Gallery2-5b59411dcd0cdae9036f84c76139bb300626d822.tar.bz2 android_packages_apps_Gallery2-5b59411dcd0cdae9036f84c76139bb300626d822.zip |
Merge "SnapdragonGallery: Set NO_BT_A2DP when connected BT headset" into android-snapdragonGallery.lnx.2.0
-rwxr-xr-x[-rw-r--r--] | gallerycommon/src/com/android/gallery3d/common/ApiHelper.java | 1 | ||||
-rwxr-xr-x[-rw-r--r--] | src/org/codeaurora/gallery3d/video/SpeakerHooker.java | 25 |
2 files changed, 21 insertions, 5 deletions
diff --git a/gallerycommon/src/com/android/gallery3d/common/ApiHelper.java b/gallerycommon/src/com/android/gallery3d/common/ApiHelper.java index da36f9d4e..4b8d961d2 100644..100755 --- a/gallerycommon/src/com/android/gallery3d/common/ApiHelper.java +++ b/gallerycommon/src/com/android/gallery3d/common/ApiHelper.java @@ -370,6 +370,7 @@ public class ApiHelper { public static class AudioSystem { public static final int FORCE_NONE = 0; public static final int FORCE_SPEAKER = 1; + public static final int FORCE_NO_BT_A2DP = 10; public static final int FOR_MEDIA = 1; diff --git a/src/org/codeaurora/gallery3d/video/SpeakerHooker.java b/src/org/codeaurora/gallery3d/video/SpeakerHooker.java index 912de96a5..3ba641ec7 100644..100755 --- a/src/org/codeaurora/gallery3d/video/SpeakerHooker.java +++ b/src/org/codeaurora/gallery3d/video/SpeakerHooker.java @@ -51,7 +51,7 @@ public class SpeakerHooker extends MovieHooker { private MenuItem mMenuSpeakerButton; - private boolean mIsHeadsetOn = false; + private static boolean mIsHeadsetOn = false; @Override public void onCreate(Bundle savedInstanceState) { @@ -154,7 +154,12 @@ public class SpeakerHooker extends MovieHooker { if (isSpeakerOn()) { turnSpeakerOff(); } else { - if (mIsHeadsetOn) { + if (mAudioManager == null) { + initAudioManager(); + } + boolean isBluetoothOn = mAudioManager.isBluetoothA2dpOn() || + mAudioManager.isBluetoothScoOn(); + if (mIsHeadsetOn || isBluetoothOn) { turnSpeakerOn(); } else { Toast.makeText(getContext(), getContext().getString(R.string.speaker_need_headset), @@ -168,8 +173,16 @@ public class SpeakerHooker extends MovieHooker { if (mAudioManager == null) { initAudioManager(); } - AudioSystem.setForceUse(AudioSystem.FOR_MEDIA, - AudioSystem.FORCE_SPEAKER); + boolean isBluetoothOn = mAudioManager.isBluetoothA2dpOn() || + mAudioManager.isBluetoothScoOn(); + if (isBluetoothOn) { + AudioSystem.setForceUse(AudioSystem.FOR_MEDIA, + AudioSystem.FORCE_NO_BT_A2DP); + } else { + AudioSystem.setForceUse(AudioSystem.FOR_MEDIA, + AudioSystem.FORCE_SPEAKER); + + } } private void turnSpeakerOff() { @@ -199,7 +212,9 @@ public class SpeakerHooker extends MovieHooker { private boolean isSpeakerOn() { return (AudioSystem.FORCE_SPEAKER - == AudioSystem.getForceUse(AudioSystem.FOR_MEDIA)); + == AudioSystem.getForceUse(AudioSystem.FOR_MEDIA)) || + (AudioSystem.FORCE_NO_BT_A2DP + == AudioSystem.getForceUse(AudioSystem.FOR_MEDIA)); } } |