Skip to content

Commit

Permalink
JR| Unregistering SyncStatus BroadcastReceiver
Browse files Browse the repository at this point in the history
Unregister the SyncStatus BroadcastReceiver in BaseActivity and
BaseRegisterActivity when the activity is destroyed

Part of fix for issue #474

Signed-off-by: Jason Rogena <jasonrogena@gmail.com>
  • Loading branch information
jasonrogena committed May 12, 2017
1 parent 3ca67c4 commit 99375c0
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ public abstract class BaseActivity extends AppCompatActivity
private boolean isSyncing;
private Snackbar syncStatusSnackbar;
private ProgressDialog progressDialog;
private SyncStatusBroadcastReceiver syncStatusBroadcastReceiver;

@Override
protected void onCreate(Bundle savedInstanceState) {
Expand Down Expand Up @@ -140,13 +141,25 @@ public void onClick(View v) {
toggleIsSyncing();
}

@Override
protected void onDestroy() {
super.onDestroy();
unregisterSyncStatusBroadcastReceiver();
}

private void registerSyncStatusBroadcastReceiver() {
SyncStatusBroadcastReceiver syncStatusBroadcastReceiver = new SyncStatusBroadcastReceiver();
syncStatusBroadcastReceiver = new SyncStatusBroadcastReceiver();
syncStatusBroadcastReceiver.addSyncStatusListener(this);
registerReceiver(syncStatusBroadcastReceiver,
new IntentFilter(SyncStatusBroadcastReceiver.ACTION_SYNC_STATUS));
}

private void unregisterSyncStatusBroadcastReceiver() {
if(syncStatusBroadcastReceiver != null) {
unregisterReceiver(syncStatusBroadcastReceiver);
}
}

public BaseToolbar getBaseToolbar() {
return toolbar;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ public abstract class BaseRegisterActivity extends SecuredNativeSmartRegisterAct
public static final String IS_REMOTE_LOGIN = "is_remote_login";
private PathAfterFetchListener pathAfterFetchListener;
private Snackbar syncStatusSnackbar;
private SyncStatusBroadcastReceiver syncStatusBroadcastReceiver;
private boolean isSyncing;

@Override
Expand Down Expand Up @@ -89,6 +90,12 @@ public void onDrawerOpened(View drawerView) {
registerSyncStatusBroadcastReceiver();
}

@Override
protected void onDestroy() {
super.onDestroy();
unregisterSyncStatusBroadcastReceiver();
}

@Override
public void onSyncStart() {
isSyncing = true;
Expand Down Expand Up @@ -122,12 +129,18 @@ public void onClick(View v) {
}

private void registerSyncStatusBroadcastReceiver() {
SyncStatusBroadcastReceiver syncStatusBroadcastReceiver = new SyncStatusBroadcastReceiver();
syncStatusBroadcastReceiver = new SyncStatusBroadcastReceiver();
syncStatusBroadcastReceiver.addSyncStatusListener(this);
registerReceiver(syncStatusBroadcastReceiver,
new IntentFilter(SyncStatusBroadcastReceiver.ACTION_SYNC_STATUS));
}

private void unregisterSyncStatusBroadcastReceiver() {
if(syncStatusBroadcastReceiver != null) {
unregisterReceiver(syncStatusBroadcastReceiver);
}
}

public void updateFromServer() {
PathUpdateActionsTask pathUpdateActionsTask = new PathUpdateActionsTask(
this, context().actionService(), context().formSubmissionSyncService(),
Expand Down

0 comments on commit 99375c0

Please sign in to comment.