X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2FAlbum.java;h=cc32f8833b193b20bacbed1ea334693ffae0b694;hb=7ea94de6b3101ad2825b45c97d1d4893d65843f2;hp=2bbbb57cfe8105973d252fabf74068efc8eb716c;hpb=93f0ede3deb89c56f023a42e8ced4cd4cdc579a3;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/data/Album.java b/src/main/java/net/pterodactylus/sone/data/Album.java index 2bbbb57..cc32f88 100644 --- a/src/main/java/net/pterodactylus/sone/data/Album.java +++ b/src/main/java/net/pterodactylus/sone/data/Album.java @@ -180,7 +180,7 @@ public class Album implements Fingerprintable { image.getAlbum().removeImage(image); } image.setAlbum(this); - if (imageIds.isEmpty()) { + if (imageIds.isEmpty() && (albumImage == null)) { albumImage = image.getId(); } if (!imageIds.contains(image.getId())) { @@ -214,15 +214,18 @@ public class Album implements Fingerprintable { * * @param image * The image to move up + * @return The image that the given image swapped the place with, or + * null if the image did not change its place */ - public void moveImageUp(Image image) { + public Image moveImageUp(Image image) { Validation.begin().isNotNull("Image", image).check().isEqual("Image Album", image.getAlbum(), this).isEqual("Album Owner", image.getAlbum().getSone(), sone).check(); int oldIndex = imageIds.indexOf(image.getId()); if (oldIndex <= 0) { - return; + return null; } imageIds.remove(image.getId()); imageIds.add(oldIndex - 1, image.getId()); + return images.get(imageIds.get(oldIndex)); } /** @@ -231,15 +234,18 @@ public class Album implements Fingerprintable { * * @param image * The image to move down + * @return The image that the given image swapped the place with, or + * null if the image did not change its place */ - public void moveImageDown(Image image) { + public Image moveImageDown(Image image) { Validation.begin().isNotNull("Image", image).check().isEqual("Image Album", image.getAlbum(), this).isEqual("Album Owner", image.getAlbum().getSone(), sone).check(); int oldIndex = imageIds.indexOf(image.getId()); if ((oldIndex == -1) || (oldIndex >= (imageIds.size() - 1))) { - return; + return null; } imageIds.remove(image.getId()); imageIds.add(oldIndex + 1, image.getId()); + return images.get(imageIds.get(oldIndex)); } /**