diff --git a/src/frontends/android/src/org/strongswan/android/ui/ImcStateFragment.java b/src/frontends/android/src/org/strongswan/android/ui/ImcStateFragment.java index ff58849fc..39f86b460 100644 --- a/src/frontends/android/src/org/strongswan/android/ui/ImcStateFragment.java +++ b/src/frontends/android/src/org/strongswan/android/ui/ImcStateFragment.java @@ -135,13 +135,33 @@ public class ImcStateFragment extends Fragment implements VpnStateListener return view; } + @Override + public void onStart() + { + super.onStart(); + if (mService != null) + { + mService.registerListener(this); + updateView(); + } + } + + @Override + public void onStop() + { + super.onStop(); + if (mService != null) + { + mService.unregisterListener(this); + } + } + @Override public void onDestroy() { super.onDestroy(); if (mService != null) { - mService.unregisterListener(this); getActivity().getApplicationContext().unbindService(mServiceConnection); } } diff --git a/src/frontends/android/src/org/strongswan/android/ui/VpnStateFragment.java b/src/frontends/android/src/org/strongswan/android/ui/VpnStateFragment.java index 3219bba7a..88f8df377 100644 --- a/src/frontends/android/src/org/strongswan/android/ui/VpnStateFragment.java +++ b/src/frontends/android/src/org/strongswan/android/ui/VpnStateFragment.java @@ -144,6 +144,7 @@ public class VpnStateFragment extends Fragment implements VpnStateListener super.onStart(); if (mService != null) { + mService.registerListener(this); updateView(); } } @@ -152,6 +153,10 @@ public class VpnStateFragment extends Fragment implements VpnStateListener public void onStop() { super.onStop(); + if (mService != null) + { + mService.unregisterListener(this); + } hideErrorDialog(); hideProgressDialog(); } @@ -162,7 +167,6 @@ public class VpnStateFragment extends Fragment implements VpnStateListener super.onDestroy(); if (mService != null) { - mService.unregisterListener(this); getActivity().getApplicationContext().unbindService(mServiceConnection); } }