Home | History | Annotate | Download | only in vpn2
      1 package com.android.settings.vpn2;
      2 
      3 import android.annotation.NonNull;
      4 
      5 import com.android.internal.util.Preconditions;
      6 
      7 import java.util.Objects;
      8 
      9 /**
     10  * Holds packageName:userId pairs without any heavyweight fields.
     11  * {@see ApplicationInfo}
     12  */
     13 class AppVpnInfo implements Comparable {
     14     public final int userId;
     15     public final String packageName;
     16 
     17     public AppVpnInfo(int userId, @NonNull String packageName) {
     18         this.userId = userId;
     19         this.packageName = Preconditions.checkNotNull(packageName);
     20     }
     21 
     22     @Override
     23     public int compareTo(Object other) {
     24         AppVpnInfo that = (AppVpnInfo) other;
     25 
     26         int result = packageName.compareTo(that.packageName);
     27         if (result == 0) {
     28             result = that.userId - userId;
     29         }
     30         return result;
     31     }
     32 
     33     @Override
     34     public boolean equals(Object other) {
     35         if (other instanceof AppVpnInfo) {
     36             AppVpnInfo that = (AppVpnInfo) other;
     37             return userId == that.userId && Objects.equals(packageName, that.packageName);
     38         }
     39         return false;
     40     }
     41 
     42     @Override
     43     public int hashCode() {
     44         return Objects.hash(packageName, userId);
     45     }
     46 }
     47