public final class android.service.autofill.UserData$Builder
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: android.service.autofill.UserData$Builder
  super_class: java.lang.Object
{
  private final java.lang.String mId;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.ArrayList<java.lang.String> mCategoryIds;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/ArrayList<Ljava/lang/String;>;

  private final java.util.ArrayList<java.lang.String> mValues;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/ArrayList<Ljava/lang/String;>;

  private java.lang.String mAlgorithm;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private android.os.Bundle mAlgorithmArgs;
    descriptor: Landroid/os/Bundle;
    flags: (0x0002) ACC_PRIVATE

  private boolean mDestroyed;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final android.util.ArraySet<java.lang.String> mUniqueCategoryIds;
    descriptor: Landroid/util/ArraySet;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Landroid/util/ArraySet<Ljava/lang/String;>;

  public void <init>(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // android.service.autofill.UserData$Builder this
        start local 1 // java.lang.String id
        start local 2 // java.lang.String value
        start local 3 // java.lang.String categoryId
         0: .line 181
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 182
            aload 0 /* this */
            aload 0 /* this */
            ldc "id"
            aload 1 /* id */
            invokevirtual android.service.autofill.UserData$Builder.checkNotEmpty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            putfield android.service.autofill.UserData$Builder.mId:Ljava/lang/String;
         2: .line 183
            aload 0 /* this */
            ldc "categoryId"
            aload 3 /* categoryId */
            invokevirtual android.service.autofill.UserData$Builder.checkNotEmpty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
         3: .line 184
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual android.service.autofill.UserData$Builder.checkValidValue:(Ljava/lang/String;)V
         4: .line 185
            invokestatic android.service.autofill.UserData.getMaxUserDataSize:()I
            istore 4 /* maxUserDataSize */
        start local 4 // int maxUserDataSize
         5: .line 186
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iload 4 /* maxUserDataSize */
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield android.service.autofill.UserData$Builder.mCategoryIds:Ljava/util/ArrayList;
         6: .line 187
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iload 4 /* maxUserDataSize */
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield android.service.autofill.UserData$Builder.mValues:Ljava/util/ArrayList;
         7: .line 188
            aload 0 /* this */
            new android.util.ArraySet
            dup
            invokestatic android.service.autofill.UserData.getMaxCategoryCount:()I
            invokespecial android.util.ArraySet.<init>:(I)V
            putfield android.service.autofill.UserData$Builder.mUniqueCategoryIds:Landroid/util/ArraySet;
         8: .line 190
            aload 0 /* this */
            aload 2 /* value */
            aload 3 /* categoryId */
            invokevirtual android.service.autofill.UserData$Builder.addMapping:(Ljava/lang/String;Ljava/lang/String;)V
         9: .line 191
            return
        end local 4 // int maxUserDataSize
        end local 3 // java.lang.String categoryId
        end local 2 // java.lang.String value
        end local 1 // java.lang.String id
        end local 0 // android.service.autofill.UserData$Builder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0             this  Landroid/service/autofill/UserData$Builder;
            0   10     1               id  Ljava/lang/String;
            0   10     2            value  Ljava/lang/String;
            0   10     3       categoryId  Ljava/lang/String;
            5   10     4  maxUserDataSize  I
    MethodParameters:
            Name  Flags
      id          
      value       
      categoryId  

  public android.service.autofill.UserData$Builder setFieldClassificationAlgorithm(java.lang.String, android.os.Bundle);
    descriptor: (Ljava/lang/String;Landroid/os/Bundle;)Landroid/service/autofill/UserData$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // android.service.autofill.UserData$Builder this
        start local 1 // java.lang.String name
        start local 2 // android.os.Bundle args
         0: .line 210
            aload 0 /* this */
            invokevirtual android.service.autofill.UserData$Builder.throwIfDestroyed:()V
         1: .line 211
            aload 0 /* this */
            aload 1 /* name */
            putfield android.service.autofill.UserData$Builder.mAlgorithm:Ljava/lang/String;
         2: .line 212
            aload 0 /* this */
            aload 2 /* args */
            putfield android.service.autofill.UserData$Builder.mAlgorithmArgs:Landroid/os/Bundle;
         3: .line 213
            aload 0 /* this */
            areturn
        end local 2 // android.os.Bundle args
        end local 1 // java.lang.String name
        end local 0 // android.service.autofill.UserData$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/service/autofill/UserData$Builder;
            0    4     1  name  Ljava/lang/String;
            0    4     2  args  Landroid/os/Bundle;
    MethodParameters:
      Name  Flags
      name  
      args  

  public android.service.autofill.UserData$Builder add(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Landroid/service/autofill/UserData$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.service.autofill.UserData$Builder this
        start local 1 // java.lang.String value
        start local 2 // java.lang.String categoryId
         0: .line 243
            aload 0 /* this */
            invokevirtual android.service.autofill.UserData$Builder.throwIfDestroyed:()V
         1: .line 244
            aload 0 /* this */
            ldc "categoryId"
            aload 2 /* categoryId */
            invokevirtual android.service.autofill.UserData$Builder.checkNotEmpty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
         2: .line 245
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual android.service.autofill.UserData$Builder.checkValidValue:(Ljava/lang/String;)V
         3: .line 247
            aload 0 /* this */
            getfield android.service.autofill.UserData$Builder.mUniqueCategoryIds:Landroid/util/ArraySet;
            aload 2 /* categoryId */
            invokevirtual android.util.ArraySet.contains:(Ljava/lang/Object;)Z
            ifne 8
         4: .line 249
            aload 0 /* this */
            getfield android.service.autofill.UserData$Builder.mUniqueCategoryIds:Landroid/util/ArraySet;
            invokevirtual android.util.ArraySet.size:()I
            invokestatic android.service.autofill.UserData.getMaxCategoryCount:()I
            if_icmpge 5
            iconst_1
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_0
         6: .line 250
      StackMap locals:
      StackMap stack: int
            new java.lang.StringBuilder
            dup
            ldc "already added "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield android.service.autofill.UserData$Builder.mUniqueCategoryIds:Landroid/util/ArraySet;
            invokevirtual android.util.ArraySet.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " unique category ids"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 249
            invokestatic com.android.internal.util.Preconditions.checkState:(ZLjava/lang/String;)V
         8: .line 254
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.service.autofill.UserData$Builder.mValues:Ljava/util/ArrayList;
            aload 1 /* value */
            invokevirtual java.util.ArrayList.contains:(Ljava/lang/Object;)Z
            ifeq 9
            iconst_0
            goto 10
      StackMap locals:
      StackMap stack:
         9: iconst_1
        10: .line 256
      StackMap locals:
      StackMap stack: int
            ldc "already has entry with same value"
        11: .line 254
            invokestatic com.android.internal.util.Preconditions.checkState:(ZLjava/lang/String;)V
        12: .line 257
            aload 0 /* this */
            getfield android.service.autofill.UserData$Builder.mValues:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            invokestatic android.service.autofill.UserData.getMaxUserDataSize:()I
            if_icmpge 13
            iconst_1
            goto 14
      StackMap locals:
      StackMap stack:
        13: iconst_0
        14: .line 258
      StackMap locals:
      StackMap stack: int
            new java.lang.StringBuilder
            dup
            ldc "already added "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield android.service.autofill.UserData$Builder.mValues:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " elements"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        15: .line 257
            invokestatic com.android.internal.util.Preconditions.checkState:(ZLjava/lang/String;)V
        16: .line 259
            aload 0 /* this */
            aload 1 /* value */
            aload 2 /* categoryId */
            invokevirtual android.service.autofill.UserData$Builder.addMapping:(Ljava/lang/String;Ljava/lang/String;)V
        17: .line 261
            aload 0 /* this */
            areturn
        end local 2 // java.lang.String categoryId
        end local 1 // java.lang.String value
        end local 0 // android.service.autofill.UserData$Builder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Landroid/service/autofill/UserData$Builder;
            0   18     1       value  Ljava/lang/String;
            0   18     2  categoryId  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      value       
      categoryId  

  private void addMapping(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // android.service.autofill.UserData$Builder this
        start local 1 // java.lang.String value
        start local 2 // java.lang.String categoryId
         0: .line 265
            aload 0 /* this */
            getfield android.service.autofill.UserData$Builder.mCategoryIds:Ljava/util/ArrayList;
            aload 2 /* categoryId */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 266
            aload 0 /* this */
            getfield android.service.autofill.UserData$Builder.mValues:Ljava/util/ArrayList;
            aload 1 /* value */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         2: .line 267
            aload 0 /* this */
            getfield android.service.autofill.UserData$Builder.mUniqueCategoryIds:Landroid/util/ArraySet;
            aload 2 /* categoryId */
            invokevirtual android.util.ArraySet.add:(Ljava/lang/Object;)Z
            pop
         3: .line 268
            return
        end local 2 // java.lang.String categoryId
        end local 1 // java.lang.String value
        end local 0 // android.service.autofill.UserData$Builder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Landroid/service/autofill/UserData$Builder;
            0    4     1       value  Ljava/lang/String;
            0    4     2  categoryId  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      value       
      categoryId  

  private java.lang.String checkNotEmpty(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // android.service.autofill.UserData$Builder this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String value
         0: .line 271
            aload 2 /* value */
            invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 272
            aload 2 /* value */
            invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 2
            iconst_0
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: ldc "%s cannot be empty"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* name */
            aastore
            invokestatic com.android.internal.util.Preconditions.checkArgument:(ZLjava/lang/String;[Ljava/lang/Object;)V
         4: .line 273
            aload 2 /* value */
            areturn
        end local 2 // java.lang.String value
        end local 1 // java.lang.String name
        end local 0 // android.service.autofill.UserData$Builder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Landroid/service/autofill/UserData$Builder;
            0    5     1   name  Ljava/lang/String;
            0    5     2  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      name   
      value  

  private void checkValidValue(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // android.service.autofill.UserData$Builder this
        start local 1 // java.lang.String value
         0: .line 277
            aload 1 /* value */
            invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 278
            aload 1 /* value */
            invokevirtual java.lang.String.length:()I
            istore 2 /* length */
        start local 2 // int length
         2: .line 279
            iload 2 /* length */
            invokestatic android.service.autofill.UserData.getMinValueLength:()I
         3: .line 280
            invokestatic android.service.autofill.UserData.getMaxValueLength:()I
            new java.lang.StringBuilder
            dup
            ldc "value length ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* length */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 279
            invokestatic com.android.internal.util.Preconditions.checkArgumentInRange:(IIILjava/lang/String;)I
            pop
         5: .line 281
            return
        end local 2 // int length
        end local 1 // java.lang.String value
        end local 0 // android.service.autofill.UserData$Builder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Landroid/service/autofill/UserData$Builder;
            0    6     1   value  Ljava/lang/String;
            2    6     2  length  I
    MethodParameters:
       Name  Flags
      value  

  public android.service.autofill.UserData build();
    descriptor: ()Landroid/service/autofill/UserData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.service.autofill.UserData$Builder this
         0: .line 293
            aload 0 /* this */
            invokevirtual android.service.autofill.UserData$Builder.throwIfDestroyed:()V
         1: .line 294
            aload 0 /* this */
            iconst_1
            putfield android.service.autofill.UserData$Builder.mDestroyed:Z
         2: .line 295
            new android.service.autofill.UserData
            dup
            aload 0 /* this */
            invokespecial android.service.autofill.UserData.<init>:(Landroid/service/autofill/UserData$Builder;)V
            areturn
        end local 0 // android.service.autofill.UserData$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/service/autofill/UserData$Builder;

  private void throwIfDestroyed();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.service.autofill.UserData$Builder this
         0: .line 299
            aload 0 /* this */
            getfield android.service.autofill.UserData$Builder.mDestroyed:Z
            ifeq 2
         1: .line 300
            new java.lang.IllegalStateException
            dup
            ldc "Already called #build()"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 302
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.service.autofill.UserData$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/service/autofill/UserData$Builder;
}
SourceFile: "UserData.java"
NestHost: android.service.autofill.UserData
InnerClasses:
  public final Builder = android.service.autofill.UserData$Builder of android.service.autofill.UserData