Correctly unregister receiver in "qr code" swap view.

Previously the receiver was added but never removed. The result
is that once a swap session is cancelled, the receiver still
gets broadcasts.
This commit is contained in:
Peter Serwylo 2016-03-21 22:23:54 +11:00
parent c29aff2167
commit cfe2f71e4d

View File

@ -78,16 +78,19 @@ public class WifiQrView extends ScrollView implements SwapWorkflowActivity.Inner
} }
}); });
// TODO: Unregister this receiver properly.
LocalBroadcastManager.getInstance(getActivity()).registerReceiver( LocalBroadcastManager.getInstance(getActivity()).registerReceiver(
new BroadcastReceiver() { onWifiStateChanged, new IntentFilter(WifiStateChangeService.BROADCAST));
@Override }
public void onReceive(Context context, Intent intent) {
setUIFromWifi(); /**
} * Remove relevant listeners/receivers/etc so that they do not receive and process events
}, * when this view is not in use.
new IntentFilter(WifiStateChangeService.BROADCAST) */
); @Override
protected void onDetachedFromWindow() {
super.onDetachedFromWindow();
LocalBroadcastManager.getInstance(getActivity()).unregisterReceiver(onWifiStateChanged);
} }
@Override @Override
@ -167,4 +170,11 @@ public class WifiQrView extends ScrollView implements SwapWorkflowActivity.Inner
} }
private BroadcastReceiver onWifiStateChanged = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
setUIFromWifi();
}
};
} }