From dcc6f76c1085267f43a964b14e6d8d1b6d372fc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20K=C3=BCrten?= <sebastian@mobanisto.de> Date: Wed, 16 Nov 2022 19:52:31 +0100 Subject: [PATCH] Use postValue() instead of setValue() on live data Those calls can happen from the RPC layer now, which are not on the UI thread. --- .../publicmesh/lan/AbstractLanService.java | 2 +- .../publicmesh/lan/LsdServiceImpl.java | 22 +++++++++---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/org/briarproject/publicmesh/lan/AbstractLanService.java b/app/src/main/java/org/briarproject/publicmesh/lan/AbstractLanService.java index d8004f6..aba5dcf 100644 --- a/app/src/main/java/org/briarproject/publicmesh/lan/AbstractLanService.java +++ b/app/src/main/java/org/briarproject/publicmesh/lan/AbstractLanService.java @@ -261,7 +261,7 @@ abstract class AbstractLanService implements LanService { LOG.info("Failed to accept connection: " + e); } }); - localAddress.setValue(ipString(serverSocket.getInetAddress())); + localAddress.postValue(ipString(serverSocket.getInetAddress())); return getLocalSocketAddress(); } diff --git a/app/src/main/java/org/briarproject/publicmesh/lan/LsdServiceImpl.java b/app/src/main/java/org/briarproject/publicmesh/lan/LsdServiceImpl.java index 21e1249..708537b 100644 --- a/app/src/main/java/org/briarproject/publicmesh/lan/LsdServiceImpl.java +++ b/app/src/main/java/org/briarproject/publicmesh/lan/LsdServiceImpl.java @@ -106,11 +106,11 @@ class LsdServiceImpl extends AbstractLanService implements LsdService { return; } LOG.info("Starting advertising"); - advertisingStatus.setValue(STARTING); + advertisingStatus.postValue(STARTING); InetSocketAddress socketAddress = acquireResources(); if (socketAddress == null) { LOG.info("Failed to start advertising"); - advertisingStatus.setValue(STOPPED); + advertisingStatus.postValue(STOPPED); return; } if (executor == null || multicastSocket == null) throw new AssertionError(); @@ -118,7 +118,7 @@ class LsdServiceImpl extends AbstractLanService implements LsdService { advertisingTask = executor.scheduleAtFixedRate( () -> sendAdvertisingPacket(multicastSocket, socketAddress), 0, ADVERTISING_INTERVAL_MS, MILLISECONDS); - advertisingStatus.setValue(STARTED); + advertisingStatus.postValue(STARTED); } @Override @@ -129,11 +129,11 @@ class LsdServiceImpl extends AbstractLanService implements LsdService { return; } LOG.info("Stopping advertising"); - advertisingStatus.setValue(STOPPING); + advertisingStatus.postValue(STOPPING); requireNonNull(advertisingTask).cancel(false); advertisingTask = null; releaseResources(); - advertisingStatus.setValue(STOPPED); + advertisingStatus.postValue(STOPPED); } @Override @@ -144,14 +144,14 @@ class LsdServiceImpl extends AbstractLanService implements LsdService { return; } LOG.info("Starting discovery"); - discoveryStatus.setValue(STARTING); + discoveryStatus.postValue(STARTING); InetSocketAddress socketAddress = acquireResources(); if (socketAddress == null) { LOG.info("Failed to start discovery"); - discoveryStatus.setValue(STOPPED); + discoveryStatus.postValue(STOPPED); return; } - discoveryStatus.setValue(STARTED); + discoveryStatus.postValue(STARTED); } @Override @@ -162,9 +162,9 @@ class LsdServiceImpl extends AbstractLanService implements LsdService { return; } LOG.info("Stopping discovery"); - discoveryStatus.setValue(STOPPING); + discoveryStatus.postValue(STOPPING); releaseResources(); - discoveryStatus.setValue(STOPPED); + discoveryStatus.postValue(STOPPED); } @Nullable @@ -275,7 +275,7 @@ class LsdServiceImpl extends AbstractLanService implements LsdService { .build(); } peersByAddress.put(address, updated); - peers.setValue(new ArrayList<>(peersByAddress.values())); + peers.postValue(new ArrayList<>(peersByAddress.values())); } @WorkerThread -- GitLab