Show app VPNs in always-on list
Bug: 22547950 Change-Id: I1b37f3b8d2a061f9f6fba3c8b9a95f3b7edcee64
This commit is contained in:
46
src/com/android/settings/vpn2/AppVpnInfo.java
Normal file
46
src/com/android/settings/vpn2/AppVpnInfo.java
Normal file
@@ -0,0 +1,46 @@
|
||||
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);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user