package org.horaapps.leafpic.data; import android.content.Context; import android.support.annotation.Nullable; import org.horaapps.leafpic.data.base.FilterMode; import org.horaapps.leafpic.data.base.SortingMode; import org.horaapps.leafpic.data.base.SortingOrder; import java.io.Serializable; /** * Created by dnld on 2/4/16. */ public class AlbumSettings implements Serializable { private String path; private String coverPath; private int sortingMode; private int sortingOrder; private boolean pinned; private FilterMode filterMode = FilterMode.ALL; static AlbumSettings getSettings(Context context, Album album) { CustomAlbumsHelper h = CustomAlbumsHelper.getInstance(context); return h.getSettings(album.getPath()); } static AlbumSettings getDefaults() { return new AlbumSettings(null, null, SortingMode.DATE.getValue(), SortingOrder.DESCENDING.getValue(), 0); } AlbumSettings(String path, String cover, int sortingMode, int sortingOrder, int pinned) { this.path = path; this.coverPath = cover; this.sortingMode = sortingMode; this.sortingOrder = sortingOrder; this.pinned = pinned == 1; } FilterMode getFilterMode() { return filterMode; } void setFilterMode(FilterMode filterMode) { this.filterMode = filterMode; } String getCoverPath() { return coverPath; } public SortingMode getSortingMode() { return SortingMode.fromValue(sortingMode); } public SortingOrder getSortingOrder() { return SortingOrder.fromValue(sortingOrder); } void changeSortingMode(Context context, SortingMode sortingMode) { this.sortingMode = sortingMode.getValue(); CustomAlbumsHelper h = CustomAlbumsHelper.getInstance(context); h.setAlbumSortingMode(path, sortingMode.getValue()); } void changeSortingOrder(Context context, SortingOrder sortingOrder) { this.sortingOrder = sortingOrder.getValue(); CustomAlbumsHelper h = CustomAlbumsHelper.getInstance(context); h.setAlbumSortingOrder(path, sortingOrder.getValue()); } void changeCoverPath(Context context, @Nullable String coverPath) { this.coverPath = coverPath; CustomAlbumsHelper h = CustomAlbumsHelper.getInstance(context); h.setAlbumPhotoPreview(path, coverPath); } boolean isPinned() { return pinned; } public void togglePin(Context context) { this.pinned = !pinned; CustomAlbumsHelper h = CustomAlbumsHelper.getInstance(context); h.pinAlbum(path, pinned); } }