diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/ManageCachedStatusAsyncTask.java b/app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/ManageCachedStatusAsyncTask.java index fe7506c9d..95c3e54f0 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/ManageCachedStatusAsyncTask.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/ManageCachedStatusAsyncTask.java @@ -53,6 +53,10 @@ public class ManageCachedStatusAsyncTask extends AsyncTask { if( refreshedStatus != null){ refreshedStatus.setcached(true); } + }else { + refreshedStatus = new fr.gouv.etalab.mastodon.client.Entities.Status(); + refreshedStatus.setId(statusId); + } return null; } diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java index 70b381f94..6e2a0dd06 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java @@ -148,6 +148,7 @@ import fr.gouv.etalab.mastodon.sqlite.Sqlite; import fr.gouv.etalab.mastodon.sqlite.StatusCacheDAO; import fr.gouv.etalab.mastodon.sqlite.StatusStoredDAO; import fr.gouv.etalab.mastodon.sqlite.TempMuteDAO; +import fr.gouv.etalab.mastodon.sqlite.TimelineCacheDAO; import fr.gouv.etalab.mastodon.sqlite.TimelinesDAO; import jp.wasabeef.glide.transformations.BlurTransformation; @@ -267,6 +268,11 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct @Override public void onRefresh(Status refreshedStatus) { + if( refreshedStatus.getCreated_at() == null){ + SQLiteDatabase db = Sqlite.getInstance(context, Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open(); + new TimelineCacheDAO(context, db).remove(refreshedStatus.getId()); + new PostActionAsyncTask(context, API.StatusAction.UNSTATUS, refreshedStatus.getId(), StatusListAdapter.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); + } statusListAdapter.notifyStatusWithActionChanged(refreshedStatus); }