Delete statuses from cache and fix auto-refresh when posting

This commit is contained in:
Grishka 2022-05-13 17:57:41 +03:00
parent 63957250c5
commit cb25632691
4 changed files with 8 additions and 2 deletions

View File

@ -233,6 +233,12 @@ public class CacheController{
}); });
} }
public void deleteStatus(String id){
runOnDbThread((db)->{
db.delete("home_timeline", "`id`=?", new String[]{id});
});
}
public void clearRecentSearches(){ public void clearRecentSearches(){
runOnDbThread((db)->db.delete("recent_searches", null, null)); runOnDbThread((db)->db.delete("recent_searches", null, null));
} }

View File

@ -610,12 +610,12 @@ public class ComposeFragment extends MastodonToolbarFragment implements OnBackPr
public void onSuccess(Status result){ public void onSuccess(Status result){
wm.removeView(sendingOverlay); wm.removeView(sendingOverlay);
sendingOverlay=null; sendingOverlay=null;
Nav.finish(ComposeFragment.this);
E.post(new StatusCreatedEvent(result)); E.post(new StatusCreatedEvent(result));
if(replyTo!=null){ if(replyTo!=null){
replyTo.repliesCount++; replyTo.repliesCount++;
E.post(new StatusCountersUpdatedEvent(replyTo)); E.post(new StatusCountersUpdatedEvent(replyTo));
} }
Nav.finish(ComposeFragment.this);
} }
@Override @Override

View File

@ -12,7 +12,6 @@ import org.joinmastodon.android.events.StatusDeletedEvent;
import org.joinmastodon.android.model.Status; import org.joinmastodon.android.model.Status;
import org.joinmastodon.android.ui.displayitems.ExtendedFooterStatusDisplayItem; import org.joinmastodon.android.ui.displayitems.ExtendedFooterStatusDisplayItem;
import org.joinmastodon.android.ui.displayitems.FooterStatusDisplayItem; import org.joinmastodon.android.ui.displayitems.FooterStatusDisplayItem;
import org.joinmastodon.android.ui.displayitems.HeaderStatusDisplayItem;
import org.joinmastodon.android.ui.displayitems.StatusDisplayItem; import org.joinmastodon.android.ui.displayitems.StatusDisplayItem;
import org.parceler.Parcels; import org.parceler.Parcels;

View File

@ -336,6 +336,7 @@ public class UiUtils{
@Override @Override
public void onSuccess(Status result){ public void onSuccess(Status result){
resultCallback.accept(result); resultCallback.accept(result);
AccountSessionManager.getInstance().getAccount(accountID).getCacheController().deleteStatus(status.id);
E.post(new StatusDeletedEvent(status.id, accountID)); E.post(new StatusDeletedEvent(status.id, accountID));
} }