summaryrefslogtreecommitdiff
path: root/app/src/main/java/se/leap/bitmaskclient/ProviderApiSetupBroadcastReceiver.java
diff options
context:
space:
mode:
authorcyberta <cyberta@riseup.net>2020-07-25 07:58:05 -0700
committercyberta <cyberta@riseup.net>2020-07-25 07:58:05 -0700
commit9d1a59edb383b8d953109c53ada849ed8649b731 (patch)
treea2ba701205a0ab4ad008fe92f080618561e39b1a /app/src/main/java/se/leap/bitmaskclient/ProviderApiSetupBroadcastReceiver.java
parent81abcb0ea1326464d6b34e18ba27c1ccc4587c45 (diff)
parent82c0590775493e983239be49e8dc27eb94b835e2 (diff)
Merge branch 'improve_provider_setup_UI' into 'master'
Improve provider setup ui Closes #8990 See merge request leap/bitmask_android!109
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/ProviderApiSetupBroadcastReceiver.java')
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/ProviderApiSetupBroadcastReceiver.java10
1 files changed, 6 insertions, 4 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/ProviderApiSetupBroadcastReceiver.java b/app/src/main/java/se/leap/bitmaskclient/ProviderApiSetupBroadcastReceiver.java
index 0a2e2538..890d3b67 100644
--- a/app/src/main/java/se/leap/bitmaskclient/ProviderApiSetupBroadcastReceiver.java
+++ b/app/src/main/java/se/leap/bitmaskclient/ProviderApiSetupBroadcastReceiver.java
@@ -22,6 +22,8 @@ import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
+import java.lang.ref.WeakReference;
+
import se.leap.bitmaskclient.ProviderSetupInterface.ProviderConfigState;
/**
@@ -33,18 +35,18 @@ import se.leap.bitmaskclient.ProviderSetupInterface.ProviderConfigState;
*/
public class ProviderApiSetupBroadcastReceiver extends BroadcastReceiver {
- private final ProviderSetupInterface setupInterface;
+ private WeakReference<ProviderSetupInterface> setupInterfaceRef;
public ProviderApiSetupBroadcastReceiver(ProviderSetupInterface setupInterface) {
- this.setupInterface = setupInterface;
+ this.setupInterfaceRef = new WeakReference<>(setupInterface);
}
@Override
public void onReceive(Context context, Intent intent) {
Log.d(ProviderListBaseActivity.TAG, "received Broadcast");
-
+ ProviderSetupInterface setupInterface = setupInterfaceRef.get();
String action = intent.getAction();
- if (action == null || !action.equalsIgnoreCase(Constants.BROADCAST_PROVIDER_API_EVENT)) {
+ if (action == null || !action.equalsIgnoreCase(Constants.BROADCAST_PROVIDER_API_EVENT) || setupInterface == null) {
return;
}