Merge ed55aa5a619eb66b72badeccf9c72e3400acda71 on remote branch

Change-Id: I47fc3832bb8ef101d138685cea99b766fecd1916
diff --git a/packages_apps_bluetooth_ext/src/avrcp/Avrcp_ext.java b/packages_apps_bluetooth_ext/src/avrcp/Avrcp_ext.java
index 32fc833..49768e3 100644
--- a/packages_apps_bluetooth_ext/src/avrcp/Avrcp_ext.java
+++ b/packages_apps_bluetooth_ext/src/avrcp/Avrcp_ext.java
@@ -2233,6 +2233,8 @@
         boolean isPlaying = false;
         PlaybackState newState = new PlaybackState.Builder().setState(PlaybackState.STATE_NONE,
                                                PlaybackState.PLAYBACK_POSITION_UNKNOWN, 0.0f).build();
+        PlaybackState playbackState = new PlaybackState.Builder().setState(PlaybackState.STATE_NONE,
+                                               PlaybackState.PLAYBACK_POSITION_UNKNOWN, 0.0f).build();
         boolean updateA2dpPlayState = false;
         Log.v(TAG,"updateCurrentMediaState: mMediaController: " + mMediaController);
         Log.v(TAG,"isMusicActive: " + mAudioManager.isMusicActive() + " getBluetoothPlayState: " + getBluetoothPlayState(mCurrentPlayerState));
@@ -2245,6 +2247,9 @@
                 } else {
                     isPlaying = (mA2dpState == BluetoothA2dp.STATE_PLAYING) && mAudioManager.isMusicActive();
                 }
+                if (mMediaController != null) {
+                    playbackState = mMediaController.getPlaybackState();
+                }
                 Log.v(TAG,"updateCurrentMediaState: isPlaying = " + isPlaying);
                 // Use A2DP state if we don't have a MediaControlller
                 PlaybackState.Builder builder = new PlaybackState.Builder();
@@ -2255,14 +2260,14 @@
                     builder.setState(PlaybackState.STATE_PAUSED,
                             PlaybackState.PLAYBACK_POSITION_UNKNOWN, 0.0f);
                 }
-                if (mMediaController != null && mMediaController.getPlaybackState() != null) {
-                    int mMediaPlayState = mMediaController.getPlaybackState().getState();
+                if (playbackState != null) {
+                    int mMediaPlayState = playbackState.getState();
                     if (isPlaying) {
                         builder.setState(PlaybackState.STATE_PLAYING,
-                                mMediaController.getPlaybackState().getPosition(), 1.0f);
+                                playbackState.getPosition(), 1.0f);
                     } else {
                         builder.setState(PlaybackState.STATE_PAUSED,
-                                mMediaController.getPlaybackState().getPosition(), 0.0f);
+                                playbackState.getPosition(), 0.0f);
                     }
                 }
                 newState = builder.build();
diff --git a/system_bt_ext/conf/interop_database.conf b/system_bt_ext/conf/interop_database.conf
index a47620b..657fa44 100644
--- a/system_bt_ext/conf/interop_database.conf
+++ b/system_bt_ext/conf/interop_database.conf
@@ -210,6 +210,7 @@
 AC:FD:93 = Address_Based
 AA:A8:AC = Address_Based
 B8:D5:0B = Address_Based
+50:1A:A5 = Address_Based
 
 # Disable role switch policy for headsets/car-kits
 # Some car kits initiate a role switch but won't initiate encryption