Skip to content

Commit ccc4260

Browse files
author
Sid Zi
committed
more bugfixes
1 parent aaa57df commit ccc4260

File tree

3 files changed

+25
-19
lines changed

3 files changed

+25
-19
lines changed

app/src/main/java/com/sidzi/circleofmusic/recievers/MusicPlayerViewHandler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public MusicPlayerViewHandler(Context mContext) {
6666
@Override
6767
public void onReceive(final Context context, Intent intent) {
6868

69-
final Track temp_track = (Track) intent.getSerializableExtra("track_metadata");
69+
final Track temp_track = MusicPlayerService.PLAYING_TRACK;
7070
context.bindService(new Intent(mContext, MusicPlayerService.class), mMusicServiceConnection, Context.BIND_AUTO_CREATE);
7171
final MusicPlayerService mpService = mMusicServiceConnection.getmMusicPlayerService();
7272

@@ -94,7 +94,7 @@ public void onClick(View v) {
9494
ibPlayNext.setOnClickListener(new View.OnClickListener() {
9595
@Override
9696
public void onClick(View view) {
97-
mpService.next();
97+
mpService.next(MusicPlayerService.PLAYING_BUCKET);
9898
}
9999
});
100100
switch (intent.getAction()) {

app/src/main/java/com/sidzi/circleofmusic/services/MusicPlayerService.java

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ public class MusicPlayerService extends Service {
2929
final public static String ACTION_PLAY = "com.sidzi.circleofmusic.PLAY";
3030
public static final String ACTION_CLOSE = "com.sidzi.circleofmusic.CLOSE";
3131
public static Track PLAYING_TRACK = null;
32+
public static boolean PLAYING_BUCKET;
3233
private final IBinder mMIBinder = new MusicBinder();
3334
public MediaPlayer mMediaPlayer = null;
3435
private int PLAYING_TRACK_POSITION = -1;
@@ -85,13 +86,14 @@ public void play(String track_path) {
8586
mMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
8687
@Override
8788
public void onCompletion(MediaPlayer mediaPlayer) {
88-
next();
89+
next(false);
8990
}
9091
});
9192
mMediaPlayer.prepare();
9293
PLAYING_TRACK_POSITION = mTrackList.indexOf(new Track(track_path));
9394
PLAYING_TRACK = mTrackList.get(PLAYING_TRACK_POSITION);
94-
uiUpdate(PLAYING_TRACK);
95+
PLAYING_BUCKET = false;
96+
uiUpdate(true);
9597
if (songsTillSleep == 0)
9698
onDestroy();
9799
else
@@ -110,7 +112,7 @@ public void play(String Path, String Artist, String Name) {
110112
mMediaPlayer.prepareAsync();
111113
PLAYING_TRACK = new Track(Name, Path, Artist);
112114
PLAYING_TRACK.setBucket(false);
113-
uiUpdate(PLAYING_TRACK);
115+
uiUpdate(true);
114116
} catch (IOException e) {
115117
e.printStackTrace();
116118
}
@@ -125,10 +127,7 @@ public void bucketPlay(String track_path) {
125127
mMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
126128
@Override
127129
public void onCompletion(MediaPlayer mediaPlayer) {
128-
try {
129-
bucketPlay(mBucketList.get(++PLAYING_TRACK_POSITION).getPath());
130-
} catch (IndexOutOfBoundsException ignore) {
131-
}
130+
next(true);
132131
}
133132
});
134133
mMediaPlayer.prepare();
@@ -137,7 +136,8 @@ public void onCompletion(MediaPlayer mediaPlayer) {
137136
PLAYING_TRACK = mBucketList.get(PLAYING_TRACK_POSITION);
138137
} catch (IndexOutOfBoundsException | NullPointerException ignore) {
139138
}
140-
uiUpdate(PLAYING_TRACK);
139+
PLAYING_BUCKET = true;
140+
uiUpdate(true);
141141
if (songsTillSleep == 0)
142142
onDestroy();
143143
else
@@ -147,18 +147,24 @@ public void onCompletion(MediaPlayer mediaPlayer) {
147147
}
148148
}
149149

150-
public void next() {
151-
play(mTrackList.get(++PLAYING_TRACK_POSITION).getPath());
150+
public void next(boolean bucket) {
151+
try {
152+
if (!bucket)
153+
play(mTrackList.get(++PLAYING_TRACK_POSITION).getPath());
154+
else
155+
bucketPlay(mBucketList.get(++PLAYING_TRACK_POSITION).getPath());
156+
} catch (IndexOutOfBoundsException ignore) {
157+
}
152158
}
153159

154160
public void pause() {
155161
mMediaPlayer.pause();
156-
uiUpdate(null);
162+
uiUpdate(false);
157163
}
158164

159165
public void unpause() {
160166
mMediaPlayer.start();
161-
uiUpdate(null);
167+
uiUpdate(false);
162168
}
163169

164170
public boolean bucketOperation() {
@@ -167,10 +173,9 @@ public boolean bucketOperation() {
167173
return PLAYING_TRACK.getBucket();
168174
}
169175

170-
private void uiUpdate(Track track) {
171-
String action = (track == null) ? (mMediaPlayer.isPlaying() ? ACTION_PLAY : ACTION_PAUSE) : ACTION_UPDATE_METADATA;
176+
private void uiUpdate(boolean b) {
177+
String action = (!b) ? (mMediaPlayer.isPlaying() ? ACTION_PLAY : ACTION_PAUSE) : ACTION_UPDATE_METADATA;
172178
Intent intent = new Intent(action);
173-
intent.putExtra("track_metadata", track);
174179
localBroadcastManager.sendBroadcast(intent);
175180
}
176181

@@ -185,7 +190,7 @@ private void init() {
185190
@Override
186191
public void onPrepared(MediaPlayer mediaPlayer) {
187192
mediaPlayer.start();
188-
uiUpdate(null);
193+
uiUpdate(false);
189194
}
190195
});
191196
}

app/src/main/res/layout/layout_row_potm.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@
2020
android:id="@+id/tvPotmTitle"
2121
android:layout_width="match_parent"
2222
android:layout_height="wrap_content"
23-
android:layout_below="@+id/tvPotmMonth" />
23+
android:layout_below="@+id/tvPotmMonth"
24+
android:textColor="@color/textPrimary" />
2425

2526
<TextView
2627
android:id="@+id/tvPotmDescription"

0 commit comments

Comments
 (0)