Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0dedb6b1 authored by Nicholas Sauer's avatar Nicholas Sauer Committed by Android (Google) Code Review
Browse files

Merge "[FM] "Speaker on/headset" should not be available while BT earphone is...

Merge "[FM] "Speaker on/headset" should not be available while BT earphone is connected" into lmp-mr1-dev
parents 13d85883 2816b93f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FM_RADIO" />
    <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_ROUTING" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
+2 −1
Original line number Diff line number Diff line
@@ -997,7 +997,8 @@ public class FmMainActivity extends Activity implements FmFavoriteEditDialog.Edi
            // if power down by other app, should disable station list, over
            // menu
            mMenuItemStationlList.setEnabled(enabled);
            mMenuItemHeadset.setEnabled(enabled);
            // If BT headset is in use, need to disable speaker/earphone switching menu.
            mMenuItemHeadset.setEnabled(enabled && !mService.isBluetoothHeadsetInUse());
        }
    }

+13 −0
Original line number Diff line number Diff line
@@ -21,6 +21,8 @@ import android.app.Notification;
import android.app.Notification.BigTextStyle;
import android.app.PendingIntent;
import android.app.Service;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothProfile;
import android.content.BroadcastReceiver;
import android.content.ContentResolver;
import android.content.ContentValues;
@@ -370,6 +372,17 @@ public class FmService extends Service implements FmRecorder.OnRecorderStateChan
        setForceUse(isSpeaker);
    }

    /**
     * Check if BT headset is connected
     * @return true if current is playing with BT headset
     */
    public boolean isBluetoothHeadsetInUse() {
        BluetoothAdapter btAdapter = BluetoothAdapter.getDefaultAdapter();
        int a2dpState = btAdapter.getProfileConnectionState(BluetoothProfile.HEADSET);
        return (BluetoothProfile.STATE_CONNECTED == a2dpState
                || BluetoothProfile.STATE_CONNECTING == a2dpState);
    }

    private synchronized void startRender() {
        Log.d(TAG, "startRender");
        mIsRender = true;