TimeTracking: Move birdhouse schedule to ScheduledExecutorService
This commit is contained in:
@@ -29,7 +29,6 @@ import com.google.inject.Inject;
|
|||||||
import com.google.inject.Provides;
|
import com.google.inject.Provides;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.time.temporal.ChronoUnit;
|
|
||||||
import java.util.concurrent.ScheduledExecutorService;
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
import java.util.concurrent.ScheduledFuture;
|
import java.util.concurrent.ScheduledFuture;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
@@ -58,7 +57,6 @@ import net.runelite.client.plugins.timetracking.clocks.ClockManager;
|
|||||||
import net.runelite.client.plugins.timetracking.farming.FarmingContractManager;
|
import net.runelite.client.plugins.timetracking.farming.FarmingContractManager;
|
||||||
import net.runelite.client.plugins.timetracking.farming.FarmingTracker;
|
import net.runelite.client.plugins.timetracking.farming.FarmingTracker;
|
||||||
import net.runelite.client.plugins.timetracking.hunter.BirdHouseTracker;
|
import net.runelite.client.plugins.timetracking.hunter.BirdHouseTracker;
|
||||||
import net.runelite.client.task.Schedule;
|
|
||||||
import net.runelite.client.ui.ClientToolbar;
|
import net.runelite.client.ui.ClientToolbar;
|
||||||
import net.runelite.client.ui.NavigationButton;
|
import net.runelite.client.ui.NavigationButton;
|
||||||
import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
|
import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
|
||||||
@@ -102,6 +100,8 @@ public class TimeTrackingPlugin extends Plugin
|
|||||||
|
|
||||||
private ScheduledFuture panelUpdateFuture;
|
private ScheduledFuture panelUpdateFuture;
|
||||||
|
|
||||||
|
private ScheduledFuture notifierFuture;
|
||||||
|
|
||||||
private TimeTrackingPanel panel;
|
private TimeTrackingPanel panel;
|
||||||
|
|
||||||
private NavigationButton navButton;
|
private NavigationButton navButton;
|
||||||
@@ -139,6 +139,7 @@ public class TimeTrackingPlugin extends Plugin
|
|||||||
clientToolbar.addNavigation(navButton);
|
clientToolbar.addNavigation(navButton);
|
||||||
|
|
||||||
panelUpdateFuture = executorService.scheduleAtFixedRate(this::updatePanel, 200, 200, TimeUnit.MILLISECONDS);
|
panelUpdateFuture = executorService.scheduleAtFixedRate(this::updatePanel, 200, 200, TimeUnit.MILLISECONDS);
|
||||||
|
notifierFuture = executorService.scheduleAtFixedRate(this::checkCompletion, 0, 10, TimeUnit.SECONDS);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -153,6 +154,7 @@ public class TimeTrackingPlugin extends Plugin
|
|||||||
panelUpdateFuture = null;
|
panelUpdateFuture = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
notifierFuture.cancel(true);
|
||||||
clientToolbar.removeNavigation(navButton);
|
clientToolbar.removeNavigation(navButton);
|
||||||
infoBoxManager.removeInfoBox(farmingContractManager.getInfoBox());
|
infoBoxManager.removeInfoBox(farmingContractManager.getInfoBox());
|
||||||
farmingContractManager.setInfoBox(null);
|
farmingContractManager.setInfoBox(null);
|
||||||
@@ -260,8 +262,7 @@ public class TimeTrackingPlugin extends Plugin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Schedule(period = 10, unit = ChronoUnit.SECONDS)
|
private void checkCompletion()
|
||||||
public void checkCompletion()
|
|
||||||
{
|
{
|
||||||
boolean birdHouseDataChanged = birdHouseTracker.checkCompletion();
|
boolean birdHouseDataChanged = birdHouseTracker.checkCompletion();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user