diff options
author | cyberta <cyberta@riseup.net> | 2020-07-25 07:58:05 -0700 |
---|---|---|
committer | cyberta <cyberta@riseup.net> | 2020-07-25 07:58:05 -0700 |
commit | 9d1a59edb383b8d953109c53ada849ed8649b731 (patch) | |
tree | a2ba701205a0ab4ad008fe92f080618561e39b1a /app/src/main/java/se/leap/bitmaskclient/ProviderApiSetupBroadcastReceiver.java | |
parent | 81abcb0ea1326464d6b34e18ba27c1ccc4587c45 (diff) | |
parent | 82c0590775493e983239be49e8dc27eb94b835e2 (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.java | 10 |
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; } |