package com.android.settings.vpn2;
|
|
import android.annotation.NonNull;
|
|
import com.android.internal.util.Preconditions;
|
|
import java.util.Objects;
|
|
/**
|
* Holds packageName:userId pairs without any heavyweight fields.
|
* {@see ApplicationInfo}
|
*/
|
class AppVpnInfo implements Comparable {
|
public final int userId;
|
public final String packageName;
|
|
public AppVpnInfo(int userId, @NonNull String packageName) {
|
this.userId = userId;
|
this.packageName = Preconditions.checkNotNull(packageName);
|
}
|
|
@Override
|
public int compareTo(Object other) {
|
AppVpnInfo that = (AppVpnInfo) other;
|
|
int result = packageName.compareTo(that.packageName);
|
if (result == 0) {
|
result = that.userId - userId;
|
}
|
return result;
|
}
|
|
@Override
|
public boolean equals(Object other) {
|
if (other instanceof AppVpnInfo) {
|
AppVpnInfo that = (AppVpnInfo) other;
|
return userId == that.userId && Objects.equals(packageName, that.packageName);
|
}
|
return false;
|
}
|
|
@Override
|
public int hashCode() {
|
return Objects.hash(packageName, userId);
|
}
|
}
|