That fuck shit the fascists are using
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}