Extract setting of read/undread state to a FeedItem method
This commit is contained in:
parent
39eeadad20
commit
380a5f459b
@ -128,6 +128,18 @@ public class FeedItem extends FeedComponent {
|
|||||||
return read;
|
return read;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setRead(boolean read) {
|
||||||
|
this.read = read;
|
||||||
|
if (media != null) {
|
||||||
|
media.setPosition(0);
|
||||||
|
if (read) {
|
||||||
|
media.setPlaybackCompletionDate(new Date());
|
||||||
|
} else {
|
||||||
|
media.setPlaybackCompletionDate(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isInProgress() {
|
public boolean isInProgress() {
|
||||||
return (media != null && media.isInProgress());
|
return (media != null && media.isInProgress());
|
||||||
}
|
}
|
||||||
|
@ -379,17 +379,8 @@ public class FeedManager {
|
|||||||
if (AppConfig.DEBUG)
|
if (AppConfig.DEBUG)
|
||||||
Log.d(TAG, "Setting item with title " + item.getTitle()
|
Log.d(TAG, "Setting item with title " + item.getTitle()
|
||||||
+ " as read/unread");
|
+ " as read/unread");
|
||||||
item.read = read;
|
|
||||||
|
|
||||||
FeedMedia media = item.getMedia();
|
item.setRead(read);
|
||||||
if (media != null) {
|
|
||||||
if (read) {
|
|
||||||
media.setPlaybackCompletionDate(new Date());
|
|
||||||
} else {
|
|
||||||
media.setPlaybackCompletionDate(null);
|
|
||||||
media.setPosition(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
setFeedItem(context, item);
|
setFeedItem(context, item);
|
||||||
contentChanger.post(new Runnable() {
|
contentChanger.post(new Runnable() {
|
||||||
@ -427,7 +418,7 @@ public class FeedManager {
|
|||||||
if (AppConfig.DEBUG)
|
if (AppConfig.DEBUG)
|
||||||
Log.d(TAG, "marking all items as read");
|
Log.d(TAG, "marking all items as read");
|
||||||
for (FeedItem item : unreadItems) {
|
for (FeedItem item : unreadItems) {
|
||||||
item.read = true;
|
item.setRead(true);
|
||||||
}
|
}
|
||||||
final ArrayList<FeedItem> unreadItemsCopy = new ArrayList<FeedItem>(
|
final ArrayList<FeedItem> unreadItemsCopy = new ArrayList<FeedItem>(
|
||||||
unreadItems);
|
unreadItems);
|
||||||
|
@ -119,7 +119,7 @@ public class FeedMedia extends FeedFile {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean isInProgress() {
|
public boolean isInProgress() {
|
||||||
return (this.position > 0 && this.playbackCompletionDate == null);
|
return (this.position > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -673,7 +673,6 @@ public class PlaybackService extends Service {
|
|||||||
.getDefaultSharedPreferences(getApplicationContext());
|
.getDefaultSharedPreferences(getApplicationContext());
|
||||||
// Save state
|
// Save state
|
||||||
cancelPositionSaver();
|
cancelPositionSaver();
|
||||||
media.setPosition(0);
|
|
||||||
media.setPlaybackCompletionDate(new Date());
|
media.setPlaybackCompletionDate(new Date());
|
||||||
manager.markItemRead(PlaybackService.this, media.getItem(), true);
|
manager.markItemRead(PlaybackService.this, media.getItem(), true);
|
||||||
FeedItem nextItem = manager
|
FeedItem nextItem = manager
|
||||||
|
Loading…
x
Reference in New Issue
Block a user