mirror of
https://codeberg.org/tom79/Fedilab.git
synced 2024-12-22 00:30:03 +02:00
Records home logs
This commit is contained in:
parent
84814d3291
commit
f616b7df0e
3 changed files with 23 additions and 7 deletions
|
@ -112,11 +112,14 @@ public class Status implements Serializable, Cloneable {
|
|||
@SerializedName("reactions")
|
||||
public List<Reaction> reactions;
|
||||
|
||||
|
||||
public boolean isFetchMore = false;
|
||||
public PositionFetchMore positionFetchMore = PositionFetchMore.BOTTOM;
|
||||
|
||||
public Attachment art_attachment;
|
||||
public boolean isExpended = false;
|
||||
public boolean isTruncated = true;
|
||||
public transient boolean isFetchMore = false;
|
||||
public transient PositionFetchMore positionFetchMore = PositionFetchMore.BOTTOM;
|
||||
|
||||
public boolean isChecked = false;
|
||||
//When forwarding tags
|
||||
public boolean tagAdded = false;
|
||||
|
|
|
@ -173,6 +173,8 @@ public class FetchHomeWorker extends Worker {
|
|||
if (fetch_home) {
|
||||
int max_calls = 10;
|
||||
int status_per_page = 40;
|
||||
int insertValue = 0;
|
||||
StatusCache lastStatusCache = null;
|
||||
//Browse last 400 home messages
|
||||
boolean canContinue = true;
|
||||
int call = 0;
|
||||
|
@ -194,9 +196,10 @@ public class FetchHomeWorker extends Worker {
|
|||
statusCache.status = status;
|
||||
statusCache.type = Timeline.TimeLineEnum.HOME;
|
||||
statusCache.status_id = status.id;
|
||||
lastStatusCache = statusCache;
|
||||
try {
|
||||
int insertOrUpdate = statusCacheDAO.insertOrUpdate(statusCache, Timeline.TimeLineEnum.HOME.getValue());
|
||||
if (insertOrUpdate == 1) {
|
||||
insertValue = statusCacheDAO.insertOrUpdate(statusCache, Timeline.TimeLineEnum.HOME.getValue());
|
||||
if (insertValue == 1) {
|
||||
inserted++;
|
||||
} else {
|
||||
updated++;
|
||||
|
@ -246,7 +249,17 @@ public class FetchHomeWorker extends Worker {
|
|||
} catch (DBException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
//insertValue is for last status and equals zero if updated or 1 if inserted
|
||||
if (lastStatusCache != null && insertValue == 1) { //Last inserted message was not in cache.
|
||||
StatusCache statusCacheDAO = new StatusCache(getApplicationContext());
|
||||
lastStatusCache.status.isFetchMore = true;
|
||||
lastStatusCache.status.positionFetchMore = Status.PositionFetchMore.TOP;
|
||||
try {
|
||||
statusCacheDAO.updateIfExists(lastStatusCache);
|
||||
} catch (DBException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -109,7 +109,7 @@ public class TimelinesVM extends AndroidViewModel {
|
|||
}
|
||||
|
||||
private static void addFetchMore(List<Status> statusList, List<Status> timelineStatuses, TimelineParams timelineParams) throws DBException {
|
||||
if (statusList != null && statusList.size() > 0 && timelineStatuses != null && timelineStatuses.size() > 0) {
|
||||
if (statusList != null && statusList.size() > 1 && timelineStatuses != null && timelineStatuses.size() > 0) {
|
||||
sortDesc(statusList);
|
||||
if (timelineParams.direction == FragmentMastodonTimeline.DIRECTION.REFRESH || timelineParams.direction == FragmentMastodonTimeline.DIRECTION.SCROLL_TOP || timelineParams.direction == FragmentMastodonTimeline.DIRECTION.FETCH_NEW) {
|
||||
//When refreshing/scrolling to TOP, if last statuses fetched has a greater id from newest in cache, there is potential hole
|
||||
|
@ -132,7 +132,7 @@ public class TimelinesVM extends AndroidViewModel {
|
|||
}
|
||||
|
||||
private static void addFetchMoreConversation(List<Conversation> conversationList, List<Conversation> timelineConversations, TimelineParams timelineParams) throws DBException {
|
||||
if (conversationList != null && conversationList.size() > 0 && timelineConversations != null && timelineConversations.size() > 0) {
|
||||
if (conversationList != null && conversationList.size() > 1 && timelineConversations != null && timelineConversations.size() > 0) {
|
||||
sortDescConv(conversationList);
|
||||
if (timelineParams.direction == FragmentMastodonTimeline.DIRECTION.REFRESH || timelineParams.direction == FragmentMastodonTimeline.DIRECTION.SCROLL_TOP || timelineParams.direction == FragmentMastodonTimeline.DIRECTION.FETCH_NEW) {
|
||||
//When refreshing/scrolling to TOP, if last statuses fetched has a greater id from newest in cache, there is potential hole
|
||||
|
|
Loading…
Reference in a new issue