diff --git a/commons/src/main/java/org/wikimedia/commons/ShareActivity.java b/commons/src/main/java/org/wikimedia/commons/ShareActivity.java index ee471c545..cf9112f51 100644 --- a/commons/src/main/java/org/wikimedia/commons/ShareActivity.java +++ b/commons/src/main/java/org/wikimedia/commons/ShareActivity.java @@ -46,9 +46,11 @@ public class ShareActivity extends AuthenticatedActivity { private Uri mediaUri; private UploadService uploadService; + private boolean isUploadServiceConnected; private ServiceConnection uploadServiceConnection = new ServiceConnection() { public void onServiceConnected(ComponentName componentName, IBinder binder) { uploadService = (UploadService) ((HandlerService.HandlerServiceLocalBinder)binder).getService(); + isUploadServiceConnected = true; } public void onServiceDisconnected(ComponentName componentName) { @@ -191,7 +193,9 @@ public class ShareActivity extends AuthenticatedActivity { @Override protected void onDestroy() { super.onDestroy(); - unbindService(uploadServiceConnection); + if(isUploadServiceConnected) { + unbindService(uploadServiceConnection); + } } @Override diff --git a/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsActivity.java b/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsActivity.java index 4beb44f37..6e9981e0c 100644 --- a/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsActivity.java +++ b/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsActivity.java @@ -46,9 +46,11 @@ public class ContributionsActivity } private UploadService uploadService; + private boolean isUploadServiceConnected; private ServiceConnection uploadServiceConnection = new ServiceConnection() { public void onServiceConnected(ComponentName componentName, IBinder binder) { uploadService = (UploadService) ((HandlerService.HandlerServiceLocalBinder)binder).getService(); + isUploadServiceConnected = true; } public void onServiceDisconnected(ComponentName componentName) { @@ -62,7 +64,9 @@ public class ContributionsActivity @Override protected void onDestroy() { super.onDestroy(); - unbindService(uploadServiceConnection); + if(isUploadServiceConnected) { + unbindService(uploadServiceConnection); + } } private String CONTRIBUTION_SELECTION = "";