Don't show snackbar about local blog post again after screen rotation

This commit is contained in:
Torsten Grote
2021-03-26 10:56:57 -03:00
parent 6599093611
commit 72e721b0d3
4 changed files with 17 additions and 8 deletions

View File

@@ -6,7 +6,6 @@ public interface RequestCodes {
int REQUEST_INTRODUCTION = 2;
int REQUEST_GROUP_INVITE = 3;
int REQUEST_SHARE_FORUM = 4;
int REQUEST_WRITE_BLOG_POST = 5;
int REQUEST_SHARE_BLOG = 6;
int REQUEST_RINGTONE = 7;
int REQUEST_PERMISSION_CAMERA_LOCATION = 8;

View File

@@ -176,10 +176,22 @@ abstract class BaseViewModel extends DbViewModel implements EventListener {
return result == null ? null : result.getItems();
}
/**
* Call this after {@link ListUpdate#getPostAddedWasLocal()} was processed.
* This prevents it from getting processed again.
*/
@UiThread
void resetLocalUpdate() {
LiveResult<ListUpdate> value = blogPosts.getValue();
if (value == null) return;
ListUpdate result = value.getResultOrNull();
result.postAddedWasLocal = null;
}
static class ListUpdate {
@Nullable
private final Boolean postAddedWasLocal;
private Boolean postAddedWasLocal;
private final List<BlogPostItem> items;
ListUpdate(@Nullable Boolean postAddedWasLocal,

View File

@@ -38,7 +38,6 @@ import static android.widget.Toast.LENGTH_SHORT;
import static com.google.android.material.snackbar.Snackbar.LENGTH_LONG;
import static org.briarproject.briar.android.activity.BriarActivity.GROUP_ID;
import static org.briarproject.briar.android.activity.RequestCodes.REQUEST_SHARE_BLOG;
import static org.briarproject.briar.android.activity.RequestCodes.REQUEST_WRITE_BLOG_POST;
@UiThread
@MethodsNotNullByDefault
@@ -134,7 +133,7 @@ public class BlogFragment extends BaseFragment
if (itemId == R.id.action_write_blog_post) {
Intent i = new Intent(getActivity(), WriteBlogPostActivity.class);
i.putExtra(GROUP_ID, groupId.getBytes());
startActivityForResult(i, REQUEST_WRITE_BLOG_POST);
startActivity(i);
return true;
} else if (itemId == R.id.action_blog_share) {
Intent i = new Intent(getActivity(), ShareBlogActivity.class);
@@ -160,10 +159,7 @@ public class BlogFragment extends BaseFragment
public void onActivityResult(int request, int result,
@Nullable Intent data) {
super.onActivityResult(request, result, data);
if (request == REQUEST_WRITE_BLOG_POST && result == RESULT_OK) {
displaySnackbar(R.string.blogs_blog_post_created, true);
} else if (request == REQUEST_SHARE_BLOG && result == RESULT_OK) {
if (request == REQUEST_SHARE_BLOG && result == RESULT_OK) {
displaySnackbar(R.string.blogs_sharing_snackbar, false);
}
}
@@ -184,6 +180,7 @@ public class BlogFragment extends BaseFragment
displaySnackbar(R.string.blogs_blog_post_received,
true);
}
viewModel.resetLocalUpdate();
list.showData();
});
}

View File

@@ -110,6 +110,7 @@ public class FeedFragment extends BaseFragment
} else if (wasLocal != null) {
showSnackBar(R.string.blogs_blog_post_received);
}
viewModel.resetLocalUpdate();
list.showData();
});
}