X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FCore.java;h=c58a508efdc17e98905a700ae85aa50a2ffd38d7;hp=0ae720689bdaf6bf1066a4b456ff21c7300b332b;hb=4314a29fdeb9766e198b7144a9724422d0df84dc;hpb=63df577f7ced52acfa93e4a7f329292069d8ba9d
diff --git a/src/main/java/net/pterodactylus/sone/core/Core.java b/src/main/java/net/pterodactylus/sone/core/Core.java
index 0ae7206..c58a508 100644
--- a/src/main/java/net/pterodactylus/sone/core/Core.java
+++ b/src/main/java/net/pterodactylus/sone/core/Core.java
@@ -44,6 +44,8 @@ import net.pterodactylus.sone.data.Reply;
import net.pterodactylus.sone.data.Sone;
import net.pterodactylus.sone.data.TemporaryImage;
import net.pterodactylus.sone.data.Profile.Field;
+import net.pterodactylus.sone.data.Sone.ShowCustomAvatars;
+import net.pterodactylus.sone.data.Sone.SoneStatus;
import net.pterodactylus.sone.fcp.FcpInterface;
import net.pterodactylus.sone.fcp.FcpInterface.FullAccessRequired;
import net.pterodactylus.sone.freenet.wot.Identity;
@@ -73,26 +75,6 @@ import freenet.keys.FreenetURI;
*/
public class Core extends AbstractService implements IdentityListener, UpdateListener, SoneProvider, PostProvider, SoneInsertListener, ImageInsertListener {
- /**
- * Enumeration for the possible states of a {@link Sone}.
- *
- * @author David âBombeâ Roden
- */
- public enum SoneStatus {
-
- /** The Sone is unknown, i.e. not yet downloaded. */
- unknown,
-
- /** The Sone is idle, i.e. not being downloaded or inserted. */
- idle,
-
- /** The Sone is currently being inserted. */
- inserting,
-
- /** The Sone is currently being downloaded. */
- downloading,
- }
-
/** The logger. */
private static final Logger logger = Logging.getLogger(Core.class);
@@ -132,10 +114,6 @@ public class Core extends AbstractService implements IdentityListener, UpdateLis
/** The FCP interface. */
private volatile FcpInterface fcpInterface;
- /** The Sonesâ statuses. */
- /* synchronize access on itself. */
- private final Map soneStatuses = new HashMap();
-
/** The times Sones were followed. */
private final Map soneFollowingTimes = new HashMap();
@@ -305,33 +283,6 @@ public class Core extends AbstractService implements IdentityListener, UpdateLis
}
/**
- * Returns the status of the given Sone.
- *
- * @param sone
- * The Sone to get the status for
- * @return The status of the Sone
- */
- public SoneStatus getSoneStatus(Sone sone) {
- synchronized (soneStatuses) {
- return soneStatuses.get(sone);
- }
- }
-
- /**
- * Sets the status of the given Sone.
- *
- * @param sone
- * The Sone to set the status of
- * @param soneStatus
- * The status to set
- */
- public void setSoneStatus(Sone sone, SoneStatus soneStatus) {
- synchronized (soneStatuses) {
- soneStatuses.put(sone, soneStatus);
- }
- }
-
- /**
* Returns the Sone rescuer for the given local Sone.
*
* @param sone
@@ -487,7 +438,6 @@ public class Core extends AbstractService implements IdentityListener, UpdateLis
if ((sone == null) && create) {
sone = new Sone(id);
localSones.put(id, sone);
- setSoneStatus(sone, SoneStatus.unknown);
}
return sone;
}
@@ -520,7 +470,6 @@ public class Core extends AbstractService implements IdentityListener, UpdateLis
if ((sone == null) && create && (id != null) && (id.length() == 43)) {
sone = new Sone(id);
remoteSones.put(id, sone);
- setSoneStatus(sone, SoneStatus.unknown);
}
return sone;
}
@@ -971,7 +920,7 @@ public class Core extends AbstractService implements IdentityListener, UpdateLis
final SoneInserter soneInserter = new SoneInserter(this, freenetInterface, sone);
soneInserter.addSoneInsertListener(this);
soneInserters.put(sone, soneInserter);
- setSoneStatus(sone, SoneStatus.idle);
+ sone.setStatus(SoneStatus.idle);
loadSone(sone);
soneInserter.start();
return sone;
@@ -998,6 +947,8 @@ public class Core extends AbstractService implements IdentityListener, UpdateLis
sone.getOptions().addBooleanOption("ShowNotification/NewSones", new DefaultOption(true));
sone.getOptions().addBooleanOption("ShowNotification/NewPosts", new DefaultOption(true));
sone.getOptions().addBooleanOption("ShowNotification/NewReplies", new DefaultOption(true));
+ sone.getOptions().addEnumOption("ShowCustomAvatars", new DefaultOption(ShowCustomAvatars.NEVER));
+
followSone(sone, getSone("nwa8lHa271k2QvJ8aa0Ov7IHAV-DFOCFgmDt3X6BpCI"));
touchConfiguration();
return sone;
@@ -1037,7 +988,6 @@ public class Core extends AbstractService implements IdentityListener, UpdateLis
}
}
soneDownloader.addSone(sone);
- setSoneStatus(sone, SoneStatus.unknown);
soneDownloaders.execute(new Runnable() {
@Override
@@ -1431,6 +1381,7 @@ public class Core extends AbstractService implements IdentityListener, UpdateLis
sone.getOptions().addBooleanOption("ShowNotification/NewSones", new DefaultOption(true));
sone.getOptions().addBooleanOption("ShowNotification/NewPosts", new DefaultOption(true));
sone.getOptions().addBooleanOption("ShowNotification/NewReplies", new DefaultOption(true));
+ sone.getOptions().addEnumOption("ShowCustomAvatars", new DefaultOption(ShowCustomAvatars.NEVER));
/* load Sone. */
String sonePrefix = "Sone/" + sone.getId();
@@ -1602,6 +1553,7 @@ public class Core extends AbstractService implements IdentityListener, UpdateLis
sone.getOptions().getBooleanOption("ShowNotification/NewSones").set(configuration.getBooleanValue(sonePrefix + "/Options/ShowNotification/NewSones").getValue(null));
sone.getOptions().getBooleanOption("ShowNotification/NewPosts").set(configuration.getBooleanValue(sonePrefix + "/Options/ShowNotification/NewPosts").getValue(null));
sone.getOptions().getBooleanOption("ShowNotification/NewReplies").set(configuration.getBooleanValue(sonePrefix + "/Options/ShowNotification/NewReplies").getValue(null));
+ sone.getOptions(). getEnumOption("ShowCustomAvatars").set(ShowCustomAvatars.valueOf(configuration.getStringValue(sonePrefix + "/Options/ShowCustomAvatars").getValue(ShowCustomAvatars.NEVER.name())));
/* if weâre still here, Sone was loaded successfully. */
synchronized (sone) {
@@ -2235,6 +2187,7 @@ public class Core extends AbstractService implements IdentityListener, UpdateLis
configuration.getBooleanValue(sonePrefix + "/Options/ShowNotification/NewPosts").setValue(sone.getOptions().getBooleanOption("ShowNotification/NewPosts").getReal());
configuration.getBooleanValue(sonePrefix + "/Options/ShowNotification/NewReplies").setValue(sone.getOptions().getBooleanOption("ShowNotification/NewReplies").getReal());
configuration.getBooleanValue(sonePrefix + "/Options/EnableSoneInsertNotifications").setValue(sone.getOptions().getBooleanOption("EnableSoneInsertNotifications").getReal());
+ configuration.getStringValue(sonePrefix + "/Options/ShowCustomAvatars").setValue(sone.getOptions(). getEnumOption("ShowCustomAvatars").get().name());
configuration.save();