summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorxianming wang <mingwax@codeaurora.org>2019-09-19 15:20:17 +0800
committerxianming wang <mingwax@codeaurora.org>2019-09-19 15:25:04 +0800
commit52785e27584785f2826142469b17d440e82ded56 (patch)
tree58b8924085ced9d7265dbd03f33b190fc61709dd
parentc4ddefcfd1268445e003213159ade66485d36ca4 (diff)
downloadandroid_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.java1
-rwxr-xr-x[-rw-r--r--]src/org/codeaurora/gallery3d/video/SpeakerHooker.java25
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));
}
}