/* if we’re still here, Sone was loaded successfully. */
lock.writeLock().lock();
try {
- sone.setTime(soneTime);
+ updateSoneTime(sone, soneTime);
sone.setProfile(profile);
sone.setLikePostIds(likedPostIds);
sone.setLikeReplyIds(likedReplyIds);
@Override
protected void doStart() {
soneDatabase.start();
+ memoryFriendDatabase.start();
postDatabase.start();
memoryBookmarkDatabase.start();
loadKnownPostReplies();
protected void doStop() {
try {
soneDatabase.stop();
+ memoryFriendDatabase.stop();
postDatabase.stop();
memoryBookmarkDatabase.stop();
save();
soneDatabase.setSoneKnown(sone.getId());
}
+ @Override
+ public void updateSoneTime(Sone sone, long soneTime) {
+ soneDatabase.updateSoneTime(sone.getId(), soneTime);
+ }
+
private void storePosts(String soneId, Collection<Post> posts) {
postDatabase.storePosts(soneId, posts);
}
}
@Override
+ public Optional<Long> getSoneFollowingTime(String remoteSoneId) {
+ return memoryFriendDatabase.getSoneFollowingTime(remoteSoneId);
+ }
+
+ @Override
public boolean isFriend(LocalSone localSone, String friendSoneId) {
if (!localSone.isLocal()) {
return false;