public final class android.telephony.ImsiEncryptionInfo implements android.os.Parcelable
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: android.telephony.ImsiEncryptionInfo
  super_class: java.lang.Object
{
  private static final java.lang.String LOG_TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "ImsiEncryptionInfo"

  private final java.lang.String mcc;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String mnc;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.security.PublicKey publicKey;
    descriptor: Ljava/security/PublicKey;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String keyIdentifier;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int keyType;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Date expirationTime;
    descriptor: Ljava/util/Date;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public static final android.os.Parcelable$Creator<android.telephony.ImsiEncryptionInfo> CREATOR;
    descriptor: Landroid/os/Parcelable$Creator;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Landroid/os/Parcelable$Creator<Landroid/telephony/ImsiEncryptionInfo;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 119
            new android.telephony.ImsiEncryptionInfo$1
            dup
            invokespecial android.telephony.ImsiEncryptionInfo$1.<init>:()V
         1: .line 118
            putstatic android.telephony.ImsiEncryptionInfo.CREATOR:Landroid/os/Parcelable$Creator;
         2: .line 129
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.lang.String, java.lang.String, int, java.lang.String, byte[], java.util.Date);
    descriptor: (Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;[BLjava/util/Date;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // android.telephony.ImsiEncryptionInfo this
        start local 1 // java.lang.String mcc
        start local 2 // java.lang.String mnc
        start local 3 // int keyType
        start local 4 // java.lang.String keyIdentifier
        start local 5 // byte[] key
        start local 6 // java.util.Date expirationTime
         0: .line 50
            aload 0 /* this */
            aload 1 /* mcc */
            aload 2 /* mnc */
            iload 3 /* keyType */
            aload 4 /* keyIdentifier */
            aload 5 /* key */
            invokestatic android.telephony.ImsiEncryptionInfo.makeKeyObject:([B)Ljava/security/PublicKey;
            aload 6 /* expirationTime */
            invokespecial android.telephony.ImsiEncryptionInfo.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/security/PublicKey;Ljava/util/Date;)V
         1: .line 51
            return
        end local 6 // java.util.Date expirationTime
        end local 5 // byte[] key
        end local 4 // java.lang.String keyIdentifier
        end local 3 // int keyType
        end local 2 // java.lang.String mnc
        end local 1 // java.lang.String mcc
        end local 0 // android.telephony.ImsiEncryptionInfo this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Landroid/telephony/ImsiEncryptionInfo;
            0    2     1             mcc  Ljava/lang/String;
            0    2     2             mnc  Ljava/lang/String;
            0    2     3         keyType  I
            0    2     4   keyIdentifier  Ljava/lang/String;
            0    2     5             key  [B
            0    2     6  expirationTime  Ljava/util/Date;
    MethodParameters:
                Name  Flags
      mcc             
      mnc             
      keyType         
      keyIdentifier   
      key             
      expirationTime  

  public void <init>(java.lang.String, java.lang.String, int, java.lang.String, java.security.PublicKey, java.util.Date);
    descriptor: (Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/security/PublicKey;Ljava/util/Date;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=7
        start local 0 // android.telephony.ImsiEncryptionInfo this
        start local 1 // java.lang.String mcc
        start local 2 // java.lang.String mnc
        start local 3 // int keyType
        start local 4 // java.lang.String keyIdentifier
        start local 5 // java.security.PublicKey publicKey
        start local 6 // java.util.Date expirationTime
         0: .line 53
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 58
            aload 0 /* this */
            aload 1 /* mcc */
            putfield android.telephony.ImsiEncryptionInfo.mcc:Ljava/lang/String;
         2: .line 59
            aload 0 /* this */
            aload 2 /* mnc */
            putfield android.telephony.ImsiEncryptionInfo.mnc:Ljava/lang/String;
         3: .line 60
            aload 0 /* this */
            iload 3 /* keyType */
            putfield android.telephony.ImsiEncryptionInfo.keyType:I
         4: .line 61
            aload 0 /* this */
            aload 5 /* publicKey */
            putfield android.telephony.ImsiEncryptionInfo.publicKey:Ljava/security/PublicKey;
         5: .line 62
            aload 0 /* this */
            aload 4 /* keyIdentifier */
            putfield android.telephony.ImsiEncryptionInfo.keyIdentifier:Ljava/lang/String;
         6: .line 63
            aload 0 /* this */
            aload 6 /* expirationTime */
            putfield android.telephony.ImsiEncryptionInfo.expirationTime:Ljava/util/Date;
         7: .line 64
            return
        end local 6 // java.util.Date expirationTime
        end local 5 // java.security.PublicKey publicKey
        end local 4 // java.lang.String keyIdentifier
        end local 3 // int keyType
        end local 2 // java.lang.String mnc
        end local 1 // java.lang.String mcc
        end local 0 // android.telephony.ImsiEncryptionInfo this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Landroid/telephony/ImsiEncryptionInfo;
            0    8     1             mcc  Ljava/lang/String;
            0    8     2             mnc  Ljava/lang/String;
            0    8     3         keyType  I
            0    8     4   keyIdentifier  Ljava/lang/String;
            0    8     5       publicKey  Ljava/security/PublicKey;
            0    8     6  expirationTime  Ljava/util/Date;
    MethodParameters:
                Name  Flags
      mcc             
      mnc             
      keyType         
      keyIdentifier   
      publicKey       
      expirationTime  

  public void <init>(android.os.Parcel);
    descriptor: (Landroid/os/Parcel;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // android.telephony.ImsiEncryptionInfo this
        start local 1 // android.os.Parcel in
         0: .line 66
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 67
            aload 1 /* in */
            invokevirtual android.os.Parcel.readInt:()I
            istore 2 /* length */
        start local 2 // int length
         2: .line 68
            iload 2 /* length */
            newarray 8
            astore 3 /* b */
        start local 3 // byte[] b
         3: .line 69
            aload 1 /* in */
            aload 3 /* b */
            invokevirtual android.os.Parcel.readByteArray:([B)V
         4: .line 70
            aload 0 /* this */
            aload 3 /* b */
            invokestatic android.telephony.ImsiEncryptionInfo.makeKeyObject:([B)Ljava/security/PublicKey;
            putfield android.telephony.ImsiEncryptionInfo.publicKey:Ljava/security/PublicKey;
         5: .line 71
            aload 0 /* this */
            aload 1 /* in */
            invokevirtual android.os.Parcel.readString:()Ljava/lang/String;
            putfield android.telephony.ImsiEncryptionInfo.mcc:Ljava/lang/String;
         6: .line 72
            aload 0 /* this */
            aload 1 /* in */
            invokevirtual android.os.Parcel.readString:()Ljava/lang/String;
            putfield android.telephony.ImsiEncryptionInfo.mnc:Ljava/lang/String;
         7: .line 73
            aload 0 /* this */
            aload 1 /* in */
            invokevirtual android.os.Parcel.readString:()Ljava/lang/String;
            putfield android.telephony.ImsiEncryptionInfo.keyIdentifier:Ljava/lang/String;
         8: .line 74
            aload 0 /* this */
            aload 1 /* in */
            invokevirtual android.os.Parcel.readInt:()I
            putfield android.telephony.ImsiEncryptionInfo.keyType:I
         9: .line 75
            aload 0 /* this */
            new java.util.Date
            dup
            aload 1 /* in */
            invokevirtual android.os.Parcel.readLong:()J
            invokespecial java.util.Date.<init>:(J)V
            putfield android.telephony.ImsiEncryptionInfo.expirationTime:Ljava/util/Date;
        10: .line 76
            return
        end local 3 // byte[] b
        end local 2 // int length
        end local 1 // android.os.Parcel in
        end local 0 // android.telephony.ImsiEncryptionInfo this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Landroid/telephony/ImsiEncryptionInfo;
            0   11     1      in  Landroid/os/Parcel;
            2   11     2  length  I
            3   11     3       b  [B
    MethodParameters:
      Name  Flags
      in    

  public java.lang.String getMnc();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.telephony.ImsiEncryptionInfo this
         0: .line 79
            aload 0 /* this */
            getfield android.telephony.ImsiEncryptionInfo.mnc:Ljava/lang/String;
            areturn
        end local 0 // android.telephony.ImsiEncryptionInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/telephony/ImsiEncryptionInfo;

  public java.lang.String getMcc();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.telephony.ImsiEncryptionInfo this
         0: .line 83
            aload 0 /* this */
            getfield android.telephony.ImsiEncryptionInfo.mcc:Ljava/lang/String;
            areturn
        end local 0 // android.telephony.ImsiEncryptionInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/telephony/ImsiEncryptionInfo;

  public java.lang.String getKeyIdentifier();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.telephony.ImsiEncryptionInfo this
         0: .line 87
            aload 0 /* this */
            getfield android.telephony.ImsiEncryptionInfo.keyIdentifier:Ljava/lang/String;
            areturn
        end local 0 // android.telephony.ImsiEncryptionInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/telephony/ImsiEncryptionInfo;

  public int getKeyType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.telephony.ImsiEncryptionInfo this
         0: .line 91
            aload 0 /* this */
            getfield android.telephony.ImsiEncryptionInfo.keyType:I
            ireturn
        end local 0 // android.telephony.ImsiEncryptionInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/telephony/ImsiEncryptionInfo;

  public java.security.PublicKey getPublicKey();
    descriptor: ()Ljava/security/PublicKey;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.telephony.ImsiEncryptionInfo this
         0: .line 95
            aload 0 /* this */
            getfield android.telephony.ImsiEncryptionInfo.publicKey:Ljava/security/PublicKey;
            areturn
        end local 0 // android.telephony.ImsiEncryptionInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/telephony/ImsiEncryptionInfo;

  public java.util.Date getExpirationTime();
    descriptor: ()Ljava/util/Date;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.telephony.ImsiEncryptionInfo this
         0: .line 99
            aload 0 /* this */
            getfield android.telephony.ImsiEncryptionInfo.expirationTime:Ljava/util/Date;
            areturn
        end local 0 // android.telephony.ImsiEncryptionInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/telephony/ImsiEncryptionInfo;

  private static java.security.PublicKey makeKeyObject(byte[]);
    descriptor: ([B)Ljava/security/PublicKey;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // byte[] publicKeyBytes
         0: .line 104
            new java.security.spec.X509EncodedKeySpec
            dup
            aload 0 /* publicKeyBytes */
            invokespecial java.security.spec.X509EncodedKeySpec.<init>:([B)V
            astore 1 /* pubKeySpec */
        start local 1 // java.security.spec.X509EncodedKeySpec pubKeySpec
         1: .line 105
            ldc "RSA"
            invokestatic java.security.KeyFactory.getInstance:(Ljava/lang/String;)Ljava/security/KeyFactory;
            aload 1 /* pubKeySpec */
            invokevirtual java.security.KeyFactory.generatePublic:(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
         2: areturn
        end local 1 // java.security.spec.X509EncodedKeySpec pubKeySpec
         3: .line 106
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
            astore 1 /* ex */
        start local 1 // java.security.GeneralSecurityException ex
         4: .line 107
            ldc "ImsiEncryptionInfo"
            ldc "Error makeKeyObject: unable to convert into PublicKey"
            aload 1 /* ex */
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        end local 1 // java.security.GeneralSecurityException ex
         5: .line 109
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        end local 0 // byte[] publicKeyBytes
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0  publicKeyBytes  [B
            1    3     1      pubKeySpec  Ljava/security/spec/X509EncodedKeySpec;
            4    5     1              ex  Ljava/security/GeneralSecurityException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.security.spec.InvalidKeySpecException
           0     2       3  Class java.security.NoSuchAlgorithmException
    MethodParameters:
                Name  Flags
      publicKeyBytes  

  public int describeContents();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.telephony.ImsiEncryptionInfo this
         0: .line 115
            iconst_0
            ireturn
        end local 0 // android.telephony.ImsiEncryptionInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/telephony/ImsiEncryptionInfo;

  public void writeToParcel(android.os.Parcel, int);
    descriptor: (Landroid/os/Parcel;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // android.telephony.ImsiEncryptionInfo this
        start local 1 // android.os.Parcel dest
        start local 2 // int flags
         0: .line 133
            aload 0 /* this */
            getfield android.telephony.ImsiEncryptionInfo.publicKey:Ljava/security/PublicKey;
            invokeinterface java.security.PublicKey.getEncoded:()[B
            astore 3 /* b */
        start local 3 // byte[] b
         1: .line 134
            aload 1 /* dest */
            aload 3 /* b */
            arraylength
            invokevirtual android.os.Parcel.writeInt:(I)V
         2: .line 135
            aload 1 /* dest */
            aload 3 /* b */
            invokevirtual android.os.Parcel.writeByteArray:([B)V
         3: .line 136
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.telephony.ImsiEncryptionInfo.mcc:Ljava/lang/String;
            invokevirtual android.os.Parcel.writeString:(Ljava/lang/String;)V
         4: .line 137
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.telephony.ImsiEncryptionInfo.mnc:Ljava/lang/String;
            invokevirtual android.os.Parcel.writeString:(Ljava/lang/String;)V
         5: .line 138
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.telephony.ImsiEncryptionInfo.keyIdentifier:Ljava/lang/String;
            invokevirtual android.os.Parcel.writeString:(Ljava/lang/String;)V
         6: .line 139
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.telephony.ImsiEncryptionInfo.keyType:I
            invokevirtual android.os.Parcel.writeInt:(I)V
         7: .line 140
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.telephony.ImsiEncryptionInfo.expirationTime:Ljava/util/Date;
            invokevirtual java.util.Date.getTime:()J
            invokevirtual android.os.Parcel.writeLong:(J)V
         8: .line 141
            return
        end local 3 // byte[] b
        end local 2 // int flags
        end local 1 // android.os.Parcel dest
        end local 0 // android.telephony.ImsiEncryptionInfo this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Landroid/telephony/ImsiEncryptionInfo;
            0    9     1   dest  Landroid/os/Parcel;
            0    9     2  flags  I
            1    9     3      b  [B
    MethodParameters:
       Name  Flags
      dest   
      flags  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.telephony.ImsiEncryptionInfo this
         0: .line 145
            new java.lang.StringBuilder
            dup
            ldc "[ImsiEncryptionInfo mcc="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 146
            aload 0 /* this */
            getfield android.telephony.ImsiEncryptionInfo.mcc:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 147
            ldc "mnc="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.telephony.ImsiEncryptionInfo.mnc:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 148
            ldc "publicKey="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.telephony.ImsiEncryptionInfo.publicKey:Ljava/security/PublicKey;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         4: .line 149
            ldc ", keyIdentifier="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.telephony.ImsiEncryptionInfo.keyIdentifier:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 150
            ldc ", keyType="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.telephony.ImsiEncryptionInfo.keyType:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         6: .line 151
            ldc ", expirationTime="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.telephony.ImsiEncryptionInfo.expirationTime:Ljava/util/Date;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         7: .line 152
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 145
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // android.telephony.ImsiEncryptionInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Landroid/telephony/ImsiEncryptionInfo;
}
SourceFile: "ImsiEncryptionInfo.java"
NestMembers:
  android.telephony.ImsiEncryptionInfo$1
InnerClasses:
  public abstract Creator = android.os.Parcelable$Creator of android.os.Parcelable
  android.telephony.ImsiEncryptionInfo$1