From f56032d880abae1d54005c1984e97d39200c2259 Mon Sep 17 00:00:00 2001 From: Janne Koschinski <janne@kuschku.de> Date: Fri, 12 Feb 2016 23:22:11 +0100 Subject: [PATCH] =?UTF-8?q?Fixed=20a=20bug=20where=20ReAuth=20didn?= =?UTF-8?q?=E2=80=99t=20actually=20ReAuth,=20but=20left=20a=20connection?= =?UTF-8?q?=20open?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../quasseldroid_ng/service/QuasselService.java | 1 - .../kuschku/quasseldroid_ng/ui/chat/MainActivity.java | 1 + .../de/kuschku/quasseldroid_ng/util/BoundActivity.java | 10 +++++++--- .../de/kuschku/quasseldroid_ng/util/BoundFragment.java | 10 +++++++--- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/service/QuasselService.java b/app/src/main/java/de/kuschku/quasseldroid_ng/service/QuasselService.java index 8a75f4385..4e2df1296 100644 --- a/app/src/main/java/de/kuschku/quasseldroid_ng/service/QuasselService.java +++ b/app/src/main/java/de/kuschku/quasseldroid_ng/service/QuasselService.java @@ -69,7 +69,6 @@ public class QuasselService extends Service { public void stopBackgroundThread() { if (bgThread != null) bgThread.close(); bgThread = null; - notify(bgThread); } public void addCallback(Consumer<ClientBackgroundThread> consumer) { diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/MainActivity.java b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/MainActivity.java index 162695bbe..63943695a 100644 --- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/MainActivity.java +++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/MainActivity.java @@ -158,6 +158,7 @@ public class MainActivity extends BoundActivity { return true; case R.id.action_reauth: context.settings().lastAccount.set(""); + stopConnection(); finish(); return true; default: diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/util/BoundActivity.java b/app/src/main/java/de/kuschku/quasseldroid_ng/util/BoundActivity.java index 5255927c1..ca2b1aac2 100644 --- a/app/src/main/java/de/kuschku/quasseldroid_ng/util/BoundActivity.java +++ b/app/src/main/java/de/kuschku/quasseldroid_ng/util/BoundActivity.java @@ -37,8 +37,8 @@ import de.kuschku.quasseldroid_ng.ui.theme.AppContext; import de.kuschku.quasseldroid_ng.util.accounts.Account; public abstract class BoundActivity extends AppCompatActivity { + protected AppContext context = new AppContext(); private QuasselService.LocalBinder binder; - private ServiceConnection connection = new ServiceConnection() { @Override public void onServiceConnected(ComponentName name, IBinder service) { @@ -56,8 +56,6 @@ public abstract class BoundActivity extends AppCompatActivity { } }; - protected AppContext context = new AppContext(); - @Override protected void onCreate(@Nullable Bundle savedInstanceState) { ServiceHelper.initTheme(context, this); @@ -102,4 +100,10 @@ public abstract class BoundActivity extends AppCompatActivity { provider.event.registerSticky(this); context.withProvider(provider); } + + protected void stopConnection() { + if (binder != null) { + binder.stopBackgroundThread(); + } + } } diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/util/BoundFragment.java b/app/src/main/java/de/kuschku/quasseldroid_ng/util/BoundFragment.java index bfa02e762..ed9eec333 100644 --- a/app/src/main/java/de/kuschku/quasseldroid_ng/util/BoundFragment.java +++ b/app/src/main/java/de/kuschku/quasseldroid_ng/util/BoundFragment.java @@ -37,8 +37,8 @@ import de.kuschku.quasseldroid_ng.ui.theme.AppContext; import de.kuschku.quasseldroid_ng.util.accounts.Account; public abstract class BoundFragment extends Fragment { + protected AppContext context = new AppContext(); private QuasselService.LocalBinder binder; - private ServiceConnection connection = new ServiceConnection() { @Override public void onServiceConnected(ComponentName name, IBinder service) { @@ -56,8 +56,6 @@ public abstract class BoundFragment extends Fragment { } }; - protected AppContext context = new AppContext(); - @Override public void onCreate(@Nullable Bundle savedInstanceState) { ServiceHelper.initTheme(context, getActivity()); @@ -101,4 +99,10 @@ public abstract class BoundFragment extends Fragment { provider.event.registerSticky(this); context.withProvider(provider); } + + protected void stopConnection() { + if (binder != null) { + binder.stopBackgroundThread(); + } + } } -- GitLab