That fuck shit the fascists are using
at master 72 lines 1.5 kB view raw
1package org.tm.archive.blurhash; 2 3import android.os.Parcel; 4import android.os.Parcelable; 5 6import androidx.annotation.NonNull; 7import androidx.annotation.Nullable; 8 9import java.util.Objects; 10 11/** 12 * A BlurHash is a compact string representation of a blurred image that we can use to show fast 13 * image previews. 14 */ 15public class BlurHash implements Parcelable { 16 17 private final String hash; 18 19 private BlurHash(@NonNull String hash) { 20 this.hash = hash; 21 } 22 23 protected BlurHash(Parcel in) { 24 hash = in.readString(); 25 } 26 27 @Override 28 public void writeToParcel(Parcel dest, int flags) { 29 dest.writeString(hash); 30 } 31 32 @Override 33 public int describeContents() { 34 return 0; 35 } 36 37 public static @Nullable BlurHash parseOrNull(@Nullable String hash) { 38 if (Base83.isValid(hash)) { 39 return new BlurHash(hash); 40 } 41 return null; 42 } 43 44 public @NonNull String getHash() { 45 return hash; 46 } 47 48 @Override 49 public boolean equals(Object o) { 50 if (this == o) return true; 51 if (o == null || getClass() != o.getClass()) return false; 52 BlurHash blurHash = (BlurHash) o; 53 return Objects.equals(hash, blurHash.hash); 54 } 55 56 @Override 57 public int hashCode() { 58 return Objects.hash(hash); 59 } 60 61 public static final Creator<BlurHash> CREATOR = new Creator<BlurHash>() { 62 @Override 63 public BlurHash createFromParcel(Parcel in) { 64 return new BlurHash(in); 65 } 66 67 @Override 68 public BlurHash[] newArray(int size) { 69 return new BlurHash[size]; 70 } 71 }; 72}