mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-22 07:39:53 +01:00
Don't show snackbar about local blog post again after screen rotation
This commit is contained in:
@@ -6,7 +6,6 @@ public interface RequestCodes {
|
|||||||
int REQUEST_INTRODUCTION = 2;
|
int REQUEST_INTRODUCTION = 2;
|
||||||
int REQUEST_GROUP_INVITE = 3;
|
int REQUEST_GROUP_INVITE = 3;
|
||||||
int REQUEST_SHARE_FORUM = 4;
|
int REQUEST_SHARE_FORUM = 4;
|
||||||
int REQUEST_WRITE_BLOG_POST = 5;
|
|
||||||
int REQUEST_SHARE_BLOG = 6;
|
int REQUEST_SHARE_BLOG = 6;
|
||||||
int REQUEST_RINGTONE = 7;
|
int REQUEST_RINGTONE = 7;
|
||||||
int REQUEST_PERMISSION_CAMERA_LOCATION = 8;
|
int REQUEST_PERMISSION_CAMERA_LOCATION = 8;
|
||||||
|
|||||||
@@ -176,10 +176,22 @@ abstract class BaseViewModel extends DbViewModel implements EventListener {
|
|||||||
return result == null ? null : result.getItems();
|
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 {
|
static class ListUpdate {
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
private final Boolean postAddedWasLocal;
|
private Boolean postAddedWasLocal;
|
||||||
private final List<BlogPostItem> items;
|
private final List<BlogPostItem> items;
|
||||||
|
|
||||||
ListUpdate(@Nullable Boolean postAddedWasLocal,
|
ListUpdate(@Nullable Boolean postAddedWasLocal,
|
||||||
|
|||||||
@@ -38,7 +38,6 @@ import static android.widget.Toast.LENGTH_SHORT;
|
|||||||
import static com.google.android.material.snackbar.Snackbar.LENGTH_LONG;
|
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.BriarActivity.GROUP_ID;
|
||||||
import static org.briarproject.briar.android.activity.RequestCodes.REQUEST_SHARE_BLOG;
|
import static org.briarproject.briar.android.activity.RequestCodes.REQUEST_SHARE_BLOG;
|
||||||
import static org.briarproject.briar.android.activity.RequestCodes.REQUEST_WRITE_BLOG_POST;
|
|
||||||
|
|
||||||
@UiThread
|
@UiThread
|
||||||
@MethodsNotNullByDefault
|
@MethodsNotNullByDefault
|
||||||
@@ -134,7 +133,7 @@ public class BlogFragment extends BaseFragment
|
|||||||
if (itemId == R.id.action_write_blog_post) {
|
if (itemId == R.id.action_write_blog_post) {
|
||||||
Intent i = new Intent(getActivity(), WriteBlogPostActivity.class);
|
Intent i = new Intent(getActivity(), WriteBlogPostActivity.class);
|
||||||
i.putExtra(GROUP_ID, groupId.getBytes());
|
i.putExtra(GROUP_ID, groupId.getBytes());
|
||||||
startActivityForResult(i, REQUEST_WRITE_BLOG_POST);
|
startActivity(i);
|
||||||
return true;
|
return true;
|
||||||
} else if (itemId == R.id.action_blog_share) {
|
} else if (itemId == R.id.action_blog_share) {
|
||||||
Intent i = new Intent(getActivity(), ShareBlogActivity.class);
|
Intent i = new Intent(getActivity(), ShareBlogActivity.class);
|
||||||
@@ -160,10 +159,7 @@ public class BlogFragment extends BaseFragment
|
|||||||
public void onActivityResult(int request, int result,
|
public void onActivityResult(int request, int result,
|
||||||
@Nullable Intent data) {
|
@Nullable Intent data) {
|
||||||
super.onActivityResult(request, result, data);
|
super.onActivityResult(request, result, data);
|
||||||
|
if (request == REQUEST_SHARE_BLOG && result == RESULT_OK) {
|
||||||
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) {
|
|
||||||
displaySnackbar(R.string.blogs_sharing_snackbar, false);
|
displaySnackbar(R.string.blogs_sharing_snackbar, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -184,6 +180,7 @@ public class BlogFragment extends BaseFragment
|
|||||||
displaySnackbar(R.string.blogs_blog_post_received,
|
displaySnackbar(R.string.blogs_blog_post_received,
|
||||||
true);
|
true);
|
||||||
}
|
}
|
||||||
|
viewModel.resetLocalUpdate();
|
||||||
list.showData();
|
list.showData();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -110,6 +110,7 @@ public class FeedFragment extends BaseFragment
|
|||||||
} else if (wasLocal != null) {
|
} else if (wasLocal != null) {
|
||||||
showSnackBar(R.string.blogs_blog_post_received);
|
showSnackBar(R.string.blogs_blog_post_received);
|
||||||
}
|
}
|
||||||
|
viewModel.resetLocalUpdate();
|
||||||
list.showData();
|
list.showData();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user