Skip to content

Commit 3b18e42

Browse files
committed
Merge pull request #17 from vineetasharma/master
Fixed the issues: #117249211, #117209033 and #117335211.
2 parents 827baa5 + 06e8949 commit 3b18e42

File tree

2 files changed

+75
-27
lines changed

2 files changed

+75
-27
lines changed

widget/controllers/widget.home.controller.js

Lines changed: 74 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -43,26 +43,26 @@
4343
console.log('Audio Player On Event callback Method--------------------------------------', e);
4444
switch (e.event) {
4545
case 'timeUpdate':
46-
if(WidgetHome.settings && WidgetHome.settings.isPlayingCurrentTrack && WidgetHome.currentTrack){
46+
if (WidgetHome.settings && WidgetHome.settings.isPlayingCurrentTrack && WidgetHome.currentTrack) {
4747
WidgetHome.playing = true;
48-
}else{
48+
} else {
4949
audioPlayer.getCurrentTrack(function (track, err) {
5050
console.log('audioPlayer.getCurrentTrack method called- from timeupdate event-------------------------------', track, err);
5151
if (track) {
5252
audioPlayer.settings.get(function (err, data) {
5353
console.log('Got settings - from --timeupdate event-------------------', err, data);
5454
if (data) {
5555
WidgetHome.settings = data;
56-
if(data.isPlayingCurrentTrack){
56+
if (data.isPlayingCurrentTrack) {
5757
WidgetHome.playing = true;
5858
}
5959
}
60-
else{
61-
var newSettings=new AudioSettings({autoPlayNext:false,loopPlaylist:false,autoJumpToLastPosition:false,shufflePlaylist:false,isPlayingCurrentTrack:true});
62-
WidgetHome.settings=newSettings;
63-
audioPlayer.settings.set(newSettings);
64-
WidgetHome.playing = true;
65-
}
60+
/*else{
61+
var newSettings=new AudioSettings({autoPlayNext:false,loopPlaylist:false,autoJumpToLastPosition:false,shufflePlaylist:false,isPlayingCurrentTrack:true});
62+
WidgetHome.settings=newSettings;
63+
audioPlayer.settings.set(newSettings);
64+
WidgetHome.playing = true;
65+
}*/
6666
});
6767
WidgetHome.currentTrack = track;
6868
$scope.$digest();
@@ -78,6 +78,8 @@
7878
break;
7979
case 'pause':
8080
WidgetHome.playing = false;
81+
WidgetHome.settings.isPlayingCurrentTrack = false;
82+
console.log('Time Update event- pause---------------isPlayingTrack---------', WidgetHome.settings.isPlayingCurrentTrack, e.event);
8183
break;
8284
case 'next':
8385
WidgetHome.currentTrack = e.data.track;
@@ -96,8 +98,8 @@
9698
* Player related method and variables
9799
*/
98100
WidgetHome.playTrack = function () {
99-
if(WidgetHome.settings){
100-
WidgetHome.settings.isPlayingCurrentTrack=true;
101+
if (WidgetHome.settings) {
102+
WidgetHome.settings.isPlayingCurrentTrack = true;
101103
audioPlayer.settings.set(WidgetHome.settings);
102104
}
103105
WidgetHome.playing = true;
@@ -108,23 +110,31 @@
108110
audioPlayer.play(WidgetHome.currentTrack);
109111
}
110112
};
111-
WidgetHome.playlistPlay = function (track) {
112-
if(WidgetHome.settings){
113-
WidgetHome.settings.isPlayingCurrentTrack=true;
113+
WidgetHome.playlistPlay = function (track, index) {
114+
if (WidgetHome.settings) {
115+
WidgetHome.settings.isPlayingCurrentTrack = true;
114116
audioPlayer.settings.set(WidgetHome.settings);
115117
}
116118
WidgetHome.currentTrack = track;
117119
console.log('PlayList Play ---------------Track is played', track);
118120
WidgetHome.playing = true;
119121
if (track) {
120122
audioPlayer.play(track);
123+
angular.forEach(WidgetHome.playlist, function (value, ind) {
124+
if (index == ind) {
125+
value.playing = true;
126+
}
127+
else {
128+
value.playing = false;
129+
}
130+
});
121131
track.playing = true;
122132
}
123133
WidgetHome.getFromPlaylist();
124134
};
125135
WidgetHome.pauseTrack = function () {
126-
if(WidgetHome.settings){
127-
WidgetHome.settings.isPlayingCurrentTrack=false;
136+
if (WidgetHome.settings) {
137+
WidgetHome.settings.isPlayingCurrentTrack = false;
128138
audioPlayer.settings.set(WidgetHome.settings);
129139
}
130140
WidgetHome.playing = false;
@@ -133,12 +143,23 @@
133143
audioPlayer.pause();
134144
};
135145
WidgetHome.playlistPause = function (track) {
136-
if(WidgetHome.settings){
137-
WidgetHome.settings.isPlayingCurrentTrack=true;
146+
WidgetHome.playing = false;
147+
if (WidgetHome.settings) {
148+
WidgetHome.settings.isPlayingCurrentTrack = false;
138149
audioPlayer.settings.set(WidgetHome.settings);
139150
}
140151
track.playing = false;
141-
WidgetHome.playing = false;
152+
$timeout(function () {
153+
$scope.$apply(function () {
154+
WidgetHome.playing = false;
155+
WidgetHome.currentTrack.isPlaying = false;
156+
console.log('$timerout ----------------', WidgetHome.playing);
157+
});
158+
});
159+
angular.forEach(WidgetHome.playlist, function (value, ind) {
160+
value.playing = false;
161+
});
162+
console.log('WidgetHome.playing----------------------------------------------', WidgetHome.playing);
142163
WidgetHome.paused = true;
143164
audioPlayer.pause();
144165
};
@@ -195,7 +216,7 @@
195216
WidgetHome.playList.some(function (val, index) {
196217
if ((val.url == track.url) && (trackIndex == 0)) {
197218
audioPlayer.removeFromPlaylist(index);
198-
trackIndex++;
219+
//trackIndex++;
199220
}
200221
return (val.url == track.url);
201222

@@ -225,7 +246,9 @@
225246
WidgetHome.playList = data.tracks;
226247
if (WidgetHome.playing) {
227248
WidgetHome.playList.some(function (track) {
228-
if (track.url == WidgetHome.currentTrack.url) {
249+
if ((track.url == WidgetHome.currentTrack.url) && (trackIndex == 0)) {
250+
trackIndex++;
251+
console.log('Url MAtched--------------------------------- --------------');
229252
track.playing = true;
230253
return true;
231254
}
@@ -314,11 +337,36 @@
314337
}
315338

316339

317-
WidgetHome.playlistPlayPause = function (track) {
318-
if (track.playing)
319-
WidgetHome.playlistPause(track);
320-
else
321-
WidgetHome.playlistPlay(track);
340+
WidgetHome.playlistPlayPause = function (track, index) {
341+
if (WidgetHome.playing) {
342+
if (track.playing) {
343+
WidgetHome.playlistPause(track);
344+
}
345+
else {
346+
WidgetHome.playlistPlay(track,index);
347+
}
348+
}
349+
else if (WidgetHome.paused) {
350+
if (track.url == WidgetHome.currentTrack.url) {
351+
WidgetHome.settings.isPlayingCurrentTrack = true;
352+
WidgetHome.playing = true;
353+
track.playing = true;
354+
WidgetHome.playList
355+
audioPlayer.play();
356+
}
357+
else {
358+
WidgetHome.playlistPlay(track,index);
359+
}
360+
}
361+
else {
362+
WidgetHome.playlistPlay(track,index);
363+
}
364+
/*if (track.playing) {
365+
WidgetHome.playlistPause(track);
366+
}
367+
else {
368+
WidgetHome.playlistPlay(track);
369+
}*/
322370
};
323371

324372
}]);

widget/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ <h4 class="margin-zero ellipsis whiteTheme">No Audio Currently Selected</h4>
152152
</div>
153153
<div class="btns text-center">
154154
<a ng-class="track.playing ? 'icon-pause-circle' : 'icon-play-circle'"
155-
class="icon primaryTheme" ng-click="WidgetHome.playlistPlayPause(track)"></a>
155+
class="icon primaryTheme" ng-click="WidgetHome.playlistPlayPause(track,$index)"></a>
156156
</div>
157157
<div class="remove-btn text-center dangerBackgroundTheme" style="background:red;"
158158
ng-click="WidgetHome.removeTrackFromPlayList($index)">

0 commit comments

Comments
 (0)