mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-19 22:29:53 +01:00
Merge branch '1707-fragment-listeners' into 'master'
Don't overwrite listener references with null during fragment changes Closes #1707, #1706, #1704, and #1697 See merge request briar/briar!1227
This commit is contained in:
@@ -9,7 +9,6 @@ import org.briarproject.briar.android.controller.handler.ResultExceptionHandler;
|
|||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import androidx.annotation.UiThread;
|
import androidx.annotation.UiThread;
|
||||||
|
|
||||||
@NotNullByDefault
|
@NotNullByDefault
|
||||||
@@ -18,7 +17,10 @@ public interface BlogController extends BaseController {
|
|||||||
void setGroupId(GroupId g);
|
void setGroupId(GroupId g);
|
||||||
|
|
||||||
@UiThread
|
@UiThread
|
||||||
void setBlogSharingListener(@Nullable BlogSharingListener listener);
|
void setBlogSharingListener(BlogSharingListener listener);
|
||||||
|
|
||||||
|
@UiThread
|
||||||
|
void unsetBlogSharingListener(BlogSharingListener listener);
|
||||||
|
|
||||||
void loadBlogPosts(
|
void loadBlogPosts(
|
||||||
ResultExceptionHandler<Collection<BlogPostItem>, DbException> handler);
|
ResultExceptionHandler<Collection<BlogPostItem>, DbException> handler);
|
||||||
|
|||||||
@@ -96,10 +96,15 @@ class BlogControllerImpl extends BaseControllerImpl
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBlogSharingListener(@Nullable BlogSharingListener listener) {
|
public void setBlogSharingListener(BlogSharingListener listener) {
|
||||||
this.listener = listener;
|
this.listener = listener;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void unsetBlogSharingListener(BlogSharingListener listener) {
|
||||||
|
if (this.listener == listener) this.listener = null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void eventOccurred(Event e) {
|
public void eventOccurred(Event e) {
|
||||||
if (groupId == null || listener == null)
|
if (groupId == null || listener == null)
|
||||||
|
|||||||
@@ -141,7 +141,8 @@ public class BlogFragment extends BaseFragment
|
|||||||
@Override
|
@Override
|
||||||
public void onDestroy() {
|
public void onDestroy() {
|
||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
blogController.setBlogSharingListener(null);
|
blogController.unsetBlogSharingListener(this);
|
||||||
|
sharingController.unsetSharingListener(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ import org.briarproject.briar.api.blog.Blog;
|
|||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import androidx.annotation.UiThread;
|
import androidx.annotation.UiThread;
|
||||||
|
|
||||||
@NotNullByDefault
|
@NotNullByDefault
|
||||||
@@ -19,7 +18,10 @@ public interface FeedController extends BaseController {
|
|||||||
void loadPersonalBlog(ResultExceptionHandler<Blog, DbException> handler);
|
void loadPersonalBlog(ResultExceptionHandler<Blog, DbException> handler);
|
||||||
|
|
||||||
@UiThread
|
@UiThread
|
||||||
void setFeedListener(@Nullable FeedListener listener);
|
void setFeedListener(FeedListener listener);
|
||||||
|
|
||||||
|
@UiThread
|
||||||
|
void unsetFeedListener(FeedListener listener);
|
||||||
|
|
||||||
@NotNullByDefault
|
@NotNullByDefault
|
||||||
interface FeedListener extends BlogListener {
|
interface FeedListener extends BlogListener {
|
||||||
|
|||||||
@@ -69,10 +69,15 @@ class FeedControllerImpl extends BaseControllerImpl implements FeedController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setFeedListener(@Nullable FeedListener listener) {
|
public void setFeedListener(FeedListener listener) {
|
||||||
this.listener = listener;
|
this.listener = listener;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void unsetFeedListener(FeedListener listener) {
|
||||||
|
if (this.listener == listener) this.listener = null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void eventOccurred(Event e) {
|
public void eventOccurred(Event e) {
|
||||||
if (listener == null) throw new IllegalStateException();
|
if (listener == null) throw new IllegalStateException();
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ public class FeedFragment extends BaseFragment implements
|
|||||||
@Override
|
@Override
|
||||||
public void onDestroy() {
|
public void onDestroy() {
|
||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
feedController.setFeedListener(null);
|
feedController.unsetFeedListener(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -16,6 +16,12 @@ public interface SharingController {
|
|||||||
@UiThread
|
@UiThread
|
||||||
void setSharingListener(SharingListener listener);
|
void setSharingListener(SharingListener listener);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unsets the listener.
|
||||||
|
*/
|
||||||
|
@UiThread
|
||||||
|
void unsetSharingListener(SharingListener listener);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Call this when your lifecycle starts,
|
* Call this when your lifecycle starts,
|
||||||
* so the listener will be called when information changes.
|
* so the listener will be called when information changes.
|
||||||
|
|||||||
@@ -43,6 +43,11 @@ public class SharingControllerImpl implements SharingController, EventListener {
|
|||||||
this.listener = listener;
|
this.listener = listener;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void unsetSharingListener(SharingListener listener) {
|
||||||
|
if (this.listener == listener) this.listener = null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onStart() {
|
public void onStart() {
|
||||||
eventBus.addListener(this);
|
eventBus.addListener(this);
|
||||||
|
|||||||
@@ -10,8 +10,6 @@ import org.briarproject.briar.api.privategroup.GroupMessageHeader;
|
|||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
|
||||||
|
|
||||||
import androidx.annotation.UiThread;
|
import androidx.annotation.UiThread;
|
||||||
|
|
||||||
@NotNullByDefault
|
@NotNullByDefault
|
||||||
@@ -21,7 +19,10 @@ interface GroupListController extends DbController {
|
|||||||
* The listener must be set right after the controller was injected
|
* The listener must be set right after the controller was injected
|
||||||
*/
|
*/
|
||||||
@UiThread
|
@UiThread
|
||||||
void setGroupListListener(@Nullable GroupListListener listener);
|
void setGroupListListener(GroupListListener listener);
|
||||||
|
|
||||||
|
@UiThread
|
||||||
|
void unsetGroupListListener(GroupListListener listener);
|
||||||
|
|
||||||
@UiThread
|
@UiThread
|
||||||
void onStart();
|
void onStart();
|
||||||
|
|||||||
@@ -80,10 +80,15 @@ class GroupListControllerImpl extends DbControllerImpl
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setGroupListListener(@Nullable GroupListListener listener) {
|
public void setGroupListListener(GroupListListener listener) {
|
||||||
this.listener = listener;
|
this.listener = listener;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void unsetGroupListListener(GroupListListener listener) {
|
||||||
|
if (this.listener == listener) this.listener = null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@CallSuper
|
@CallSuper
|
||||||
public void onStart() {
|
public void onStart() {
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ public class GroupListFragment extends BaseFragment implements
|
|||||||
@Override
|
@Override
|
||||||
public void onDestroy() {
|
public void onDestroy() {
|
||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
controller.setGroupListListener(null);
|
controller.unsetGroupListListener(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user