+ Component.onCompleted : {
+ // Let the mediaplayer backend know we're ready for metadata events
+ mediaplayer.start()
+
+ VehicleSignals.connect()
+ }
+
+ Connections {
+ target: mediaplayer
+
+ onMetadataChanged: {
+ var track = metadata.track
+
+ if ('status' in metadata) {
+ player.status = metadata.status
+ }
+
+ if ('connected' in metadata) {
+ player.av_connected = metadata.connected
+ }
+
+ if (track) {
+ if ('image' in track)
+ return
+ player.title = track.title
+ player.album = track.album
+ player.artist = track.artist
+
+ if ('duration' in track)
+ player.duration = track.duration
+
+ if ('index' in track) {
+ playlistview.currentIndex = track.index
+ }
+ }
+
+ if ('position' in metadata) {
+ player.position = metadata.position
+ }
+ }
+ }
+
+ Connections {
+ target: VehicleSignals
+
+ onConnected: {
+ VehicleSignals.authorize()
+ }
+
+ onAuthorized: {
+ VehicleSignals.subscribe("Vehicle.Cabin.SteeringWheel.Switches.Next")
+ VehicleSignals.subscribe("Vehicle.Cabin.SteeringWheel.Switches.Previous")
+ VehicleSignals.subscribe("Vehicle.Cabin.SteeringWheel.Switches.Mode")
+ }