From 4b92b8f7141dfaae8892767c81dfe83f6fe20133 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Thu, 15 Oct 2015 00:55:05 -0700 Subject: [PATCH] Fix bug allowing computer polling to continue when the stream is resumed from the PcView activity --- app/src/main/java/com/limelight/PcView.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/limelight/PcView.java b/app/src/main/java/com/limelight/PcView.java index 7da5ba8a..07e5f4dc 100644 --- a/app/src/main/java/com/limelight/PcView.java +++ b/app/src/main/java/com/limelight/PcView.java @@ -53,7 +53,7 @@ public class PcView extends Activity implements AdapterFragmentCallbacks { private RelativeLayout noPcFoundLayout; private PcGridAdapter pcGridAdapter; private ComputerManagerService.ComputerManagerBinder managerBinder; - private boolean freezeUpdates, runningPolling; + private boolean freezeUpdates, runningPolling, hasResumed; private final ServiceConnection serviceConnection = new ServiceConnection() { public void onServiceConnected(ComponentName className, IBinder binder) { final ComputerManagerService.ComputerManagerBinder localBinder = @@ -215,6 +215,7 @@ public class PcView extends Activity implements AdapterFragmentCallbacks { protected void onResume() { super.onResume(); + hasResumed = true; startComputerUpdates(); } @@ -222,6 +223,7 @@ public class PcView extends Activity implements AdapterFragmentCallbacks { protected void onPause() { super.onPause(); + hasResumed = false; stopComputerUpdates(false); } @@ -268,7 +270,11 @@ public class PcView extends Activity implements AdapterFragmentCallbacks { @Override public void onContextMenuClosed(Menu menu) { - startComputerUpdates(); + // For some reason, this gets called again _after_ onPause() is called on this activity. + // We don't want to start computer updates again, so we need to keep track of whether we're paused. + if (hasResumed) { + startComputerUpdates(); + } } private void doPair(final ComputerDetails computer) {