diff options
author | xianming wang <mingwax@codeaurora.org> | 2019-09-19 15:20:17 +0800 |
---|---|---|
committer | xianming wang <mingwax@codeaurora.org> | 2019-09-19 15:25:04 +0800 |
commit | 52785e27584785f2826142469b17d440e82ded56 (patch) | |
tree | 58b8924085ced9d7265dbd03f33b190fc61709dd | |
parent | c4ddefcfd1268445e003213159ade66485d36ca4 (diff) | |
download | android_packages_apps_Gallery2-52785e27584785f2826142469b17d440e82ded56.tar.gz android_packages_apps_Gallery2-52785e27584785f2826142469b17d440e82ded56.tar.bz2 android_packages_apps_Gallery2-52785e27584785f2826142469b17d440e82ded56.zip |
SnapdragonGallery: Set NO_BT_A2DP when connected BT headset
Set FORCE_NO_BT_A2DP when connected BT headset and click the
Speaker ON.
CRs-Fixed: 2530845
Change-Id: I9343566b9454765536dd17aa0f2b66bcb803770a
-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)); } } |