sprite manager: use constructor injection

Also make cache private
This commit is contained in:
Adam
2021-05-30 23:46:55 -04:00
parent 68e8712ffc
commit d4dc309cf5

View File

@@ -26,12 +26,12 @@ package net.runelite.client.game;
import com.google.common.cache.Cache; import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheBuilder;
import com.google.inject.Inject;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.util.Map; import java.util.Map;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.function.Consumer; import java.util.function.Consumer;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import javax.inject.Inject;
import javax.inject.Singleton; import javax.inject.Singleton;
import javax.swing.ImageIcon; import javax.swing.ImageIcon;
import javax.swing.JButton; import javax.swing.JButton;
@@ -48,20 +48,23 @@ import net.runelite.client.util.ImageUtil;
@Singleton @Singleton
public class SpriteManager public class SpriteManager
{ {
@Inject private final Client client;
private Client client; private final ClientThread clientThread;
private final InfoBoxManager infoBoxManager;
@Inject private final Cache<Long, BufferedImage> cache = CacheBuilder.newBuilder()
private ClientThread clientThread;
@Inject
private InfoBoxManager infoBoxManager;
public Cache<Long, BufferedImage> cache = CacheBuilder.newBuilder()
.maximumSize(128L) .maximumSize(128L)
.expireAfterAccess(1, TimeUnit.HOURS) .expireAfterAccess(1, TimeUnit.HOURS)
.build(); .build();
@Inject
private SpriteManager(Client client, ClientThread clientThread, InfoBoxManager infoBoxManager)
{
this.client = client;
this.clientThread = clientThread;
this.infoBoxManager = infoBoxManager;
}
@Nullable @Nullable
public BufferedImage getSprite(int archive, int file) public BufferedImage getSprite(int archive, int file)
{ {