All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.nextop.vm.ImageViewModel Maven / Gradle / Ivy

package io.nextop.vm;

import android.graphics.Bitmap;
import android.net.Uri;
import com.google.common.base.Objects;
import io.nextop.Id;

import javax.annotation.Nullable;

public class ImageViewModel {

    public static ImageViewModel remote(Uri uri) {
        return new ImageViewModel(uri, null, null);
    }
    public static ImageViewModel local(Id localId) {
        return new ImageViewModel(null, localId, null);
    }
    public static ImageViewModel memory(Bitmap bitmap) {
        return new ImageViewModel(null, null, bitmap);
    }

    @Nullable
    public final Uri uri;
    @Nullable
    public final Id localId;
    @Nullable
    public final Bitmap bitmap;


    public ImageViewModel(@Nullable Uri uri, @Nullable Id localId, @Nullable Bitmap bitmap) {
        this.uri = uri;
        this.localId = localId;
        this.bitmap = bitmap;
    }

    @Override
    public int hashCode() {
        return Objects.hashCode(uri, localId, bitmap);
    }

    @Override
    public boolean equals(Object o) {
        if (!(o instanceof ImageViewModel)) {
            return false;
        }
        ImageViewModel b = (ImageViewModel) o;
        return Objects.equal(uri, b.uri)
                && Objects.equal(localId, b.localId)
                && Objects.equal(bitmap, b.bitmap);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy