package android.service.notification;
import android.annotation.NonNull;
import android.os.Parcel;
import android.os.Parcelable;
import java.util.Objects;
public final class NotifyingApp implements Parcelable, Comparable<NotifyingApp> {
private int mUid;
private String mPkg;
private long mLastNotified;
public NotifyingApp() {}
protected NotifyingApp(Parcel in) {
mUid = in.readInt();
mPkg = in.readString();
mLastNotified = in.readLong();
}
public int getUid() {
return mUid;
}
public NotifyingApp setUid(int mUid) {
this.mUid = mUid;
return this;
}
public String getPackage() {
return mPkg;
}
public NotifyingApp setPackage(@NonNull String mPkg) {
this.mPkg = mPkg;
return this;
}
public long getLastNotified() {
return mLastNotified;
}
public NotifyingApp setLastNotified(long mLastNotified) {
this.mLastNotified = mLastNotified;
return this;
}
public static final Creator<NotifyingApp> CREATOR = new Creator<NotifyingApp>() {
@Override
public NotifyingApp createFromParcel(Parcel in) {
return new NotifyingApp(in);
}
@Override
public NotifyingApp[] newArray(int size) {
return new NotifyingApp[size];
}
};
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(mUid);
dest.writeString(mPkg);
dest.writeLong(mLastNotified);
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
NotifyingApp that = (NotifyingApp) o;
return getUid() == that.getUid()
&& getLastNotified() == that.getLastNotified()
&& Objects.equals(mPkg, that.mPkg);
}
@Override
public int hashCode() {
return Objects.hash(getUid(), mPkg, getLastNotified());
}
@Override
public int compareTo(NotifyingApp o) {
if (getLastNotified() == o.getLastNotified()) {
if (getUid() == o.getUid()) {
return getPackage().compareTo(o.getPackage());
}
return Integer.compare(getUid(), o.getUid());
}
return -Long.compare(getLastNotified(), o.getLastNotified());
}
@Override
public String toString() {
return "NotifyingApp{"
+ "mUid=" + mUid
+ ", mPkg='" + mPkg + '\''
+ ", mLastNotified=" + mLastNotified
+ '}';
}
}