public class android.provider.FontsContract
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.provider.FontsContract
  super_class: java.lang.Object
{
  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "FontsContract"

  private static final java.lang.Object sLock;
    descriptor: Ljava/lang/Object;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static android.os.Handler sHandler;
    descriptor: Landroid/os/Handler;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.GuardedBy(value = "sLock")

  private static android.os.HandlerThread sThread;
    descriptor: Landroid/os/HandlerThread;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.GuardedBy(value = "sLock")

  private static java.util.Set<java.lang.String> sInQueueSet;
    descriptor: Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Set<Ljava/lang/String;>;
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.GuardedBy(value = "sLock")

  private static volatile android.content.Context sContext;
    descriptor: Landroid/content/Context;
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

  private static final android.util.LruCache<java.lang.String, android.graphics.Typeface> sTypefaceCache;
    descriptor: Landroid/util/LruCache;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Landroid/util/LruCache<Ljava/lang/String;Landroid/graphics/Typeface;>;

  private static final int THREAD_RENEWAL_THRESHOLD_MS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 10000

  private static final long SYNC_FONT_FETCH_TIMEOUT_MS;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 500

  private static final java.lang.Runnable sReplaceDispatcherThreadRunnable;
    descriptor: Ljava/lang/Runnable;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.Comparator<byte[]> sByteArrayComparator;
    descriptor: Ljava/util/Comparator;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Comparator<[B>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 158
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic android.provider.FontsContract.sLock:Ljava/lang/Object;
         1: .line 168
            new android.util.LruCache
            dup
            bipush 16
            invokespecial android.util.LruCache.<init>:(I)V
            putstatic android.provider.FontsContract.sTypefaceCache:Landroid/util/LruCache;
         2: .line 319
            new android.provider.FontsContract$1
            dup
            invokespecial android.provider.FontsContract$1.<init>:()V
            putstatic android.provider.FontsContract.sReplaceDispatcherThreadRunnable:Ljava/lang/Runnable;
         3: .line 728
            invokedynamic compare()Ljava/util/Comparator;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)I
                  android/provider/FontsContract.lambda$0([B[B)I (6)
                  ([B[B)I
            putstatic android.provider.FontsContract.sByteArrayComparator:Ljava/util/Comparator;
         4: .line 738
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.provider.FontsContract this
         0: .line 170
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 171
            return
        end local 0 // android.provider.FontsContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/provider/FontsContract;

  public static void setApplicationContextForResources(android.content.Context);
    descriptor: (Landroid/content/Context;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.content.Context context
         0: .line 175
            aload 0 /* context */
            invokevirtual android.content.Context.getApplicationContext:()Landroid/content/Context;
            putstatic android.provider.FontsContract.sContext:Landroid/content/Context;
         1: .line 176
            return
        end local 0 // android.content.Context context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  context  Landroid/content/Context;
    MethodParameters:
         Name  Flags
      context  

  public static android.graphics.Typeface getFontSync(android.provider.FontRequest);
    descriptor: (Landroid/provider/FontRequest;)Landroid/graphics/Typeface;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=13, args_size=1
        start local 0 // android.provider.FontRequest request
         0: .line 334
            aload 0 /* request */
            invokevirtual android.provider.FontRequest.getIdentifier:()Ljava/lang/String;
            astore 1 /* id */
        start local 1 // java.lang.String id
         1: .line 335
            getstatic android.provider.FontsContract.sTypefaceCache:Landroid/util/LruCache;
            aload 1 /* id */
            invokevirtual android.util.LruCache.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.graphics.Typeface
            astore 2 /* cachedTypeface */
        start local 2 // android.graphics.Typeface cachedTypeface
         2: .line 336
            aload 2 /* cachedTypeface */
            ifnull 4
         3: .line 337
            aload 2 /* cachedTypeface */
            areturn
         4: .line 343
      StackMap locals: java.lang.String android.graphics.Typeface
      StackMap stack:
            getstatic android.provider.FontsContract.sLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         5: .line 344
            getstatic android.provider.FontsContract.sHandler:Landroid/os/Handler;
            ifnonnull 9
         6: .line 345
            new android.os.HandlerThread
            dup
            ldc "fonts"
            bipush 10
            invokespecial android.os.HandlerThread.<init>:(Ljava/lang/String;I)V
            putstatic android.provider.FontsContract.sThread:Landroid/os/HandlerThread;
         7: .line 346
            getstatic android.provider.FontsContract.sThread:Landroid/os/HandlerThread;
            invokevirtual android.os.HandlerThread.start:()V
         8: .line 347
            new android.os.Handler
            dup
            getstatic android.provider.FontsContract.sThread:Landroid/os/HandlerThread;
            invokevirtual android.os.HandlerThread.getLooper:()Landroid/os/Looper;
            invokespecial android.os.Handler.<init>:(Landroid/os/Looper;)V
            putstatic android.provider.FontsContract.sHandler:Landroid/os/Handler;
         9: .line 349
      StackMap locals: java.lang.Object
      StackMap stack:
            new java.util.concurrent.locks.ReentrantLock
            dup
            invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
            astore 4 /* lock */
        start local 4 // java.util.concurrent.locks.Lock lock
        10: .line 350
            aload 4 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.newCondition:()Ljava/util/concurrent/locks/Condition;
            astore 5 /* cond */
        start local 5 // java.util.concurrent.locks.Condition cond
        11: .line 351
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            astore 6 /* holder */
        start local 6 // java.util.concurrent.atomic.AtomicReference holder
        12: .line 352
            new java.util.concurrent.atomic.AtomicBoolean
            dup
            iconst_1
            invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
            astore 7 /* waiting */
        start local 7 // java.util.concurrent.atomic.AtomicBoolean waiting
        13: .line 353
            new java.util.concurrent.atomic.AtomicBoolean
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
            astore 8 /* timeout */
        start local 8 // java.util.concurrent.atomic.AtomicBoolean timeout
        14: .line 355
            getstatic android.provider.FontsContract.sHandler:Landroid/os/Handler;
            aload 0 /* request */
            aload 1 /* id */
            aload 6 /* holder */
            aload 4 /* lock */
            aload 8 /* timeout */
            aload 7 /* waiting */
            aload 5 /* cond */
            invokedynamic run(Landroid/provider/FontRequest;Ljava/lang/String;Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/locks/Lock;Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/concurrent/locks/Condition;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  android/provider/FontsContract.lambda$1(Landroid/provider/FontRequest;Ljava/lang/String;Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/locks/Lock;Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/concurrent/locks/Condition;)V (6)
                  ()V
            invokevirtual android.os.Handler.post:(Ljava/lang/Runnable;)Z
            pop
        15: .line 378
            getstatic android.provider.FontsContract.sHandler:Landroid/os/Handler;
            getstatic android.provider.FontsContract.sReplaceDispatcherThreadRunnable:Ljava/lang/Runnable;
            invokevirtual android.os.Handler.removeCallbacks:(Ljava/lang/Runnable;)V
        16: .line 379
            getstatic android.provider.FontsContract.sHandler:Landroid/os/Handler;
            getstatic android.provider.FontsContract.sReplaceDispatcherThreadRunnable:Ljava/lang/Runnable;
            ldc 10000
            invokevirtual android.os.Handler.postDelayed:(Ljava/lang/Runnable;J)Z
            pop
        17: .line 381
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            ldc 500
            invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
            lstore 9 /* remaining */
        start local 9 // long remaining
        18: .line 382
            aload 4 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
        19: .line 384
            aload 7 /* waiting */
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
            ifne 24
        20: .line 385
            aload 6 /* holder */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast android.graphics.Typeface
            astore 12
        21: .line 404
            aload 4 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        22: .line 385
            aload 3
            monitorexit
        23: aload 12
            areturn
        24: .line 389
      StackMap locals: android.provider.FontRequest java.lang.String android.graphics.Typeface java.lang.Object java.util.concurrent.locks.Lock java.util.concurrent.locks.Condition java.util.concurrent.atomic.AtomicReference java.util.concurrent.atomic.AtomicBoolean java.util.concurrent.atomic.AtomicBoolean long
      StackMap stack:
            aload 5 /* cond */
            lload 9 /* remaining */
            invokeinterface java.util.concurrent.locks.Condition.awaitNanos:(J)J
            lstore 9 /* remaining */
        25: .line 390
            goto 27
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        26: pop
        27: .line 393
      StackMap locals:
      StackMap stack:
            aload 7 /* waiting */
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
            ifne 32
        28: .line 394
            aload 6 /* holder */
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast android.graphics.Typeface
            astore 12
        29: .line 404
            aload 4 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        30: .line 394
            aload 3
            monitorexit
        31: aload 12
            areturn
        32: .line 396
      StackMap locals:
      StackMap stack:
            lload 9 /* remaining */
            lconst_0
            lcmp
            ifgt 24
        33: .line 397
            aload 8 /* timeout */
            iconst_1
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
        34: .line 398
            ldc "FontsContract"
            new java.lang.StringBuilder
            dup
            ldc "Remote font fetch timed out: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        35: .line 399
            aload 0 /* request */
            invokevirtual android.provider.FontRequest.getProviderAuthority:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* request */
            invokevirtual android.provider.FontRequest.getQuery:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        36: .line 398
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        37: .line 404
            aload 4 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
            aload 3
            monitorexit
        38: .line 400
            aconst_null
            areturn
        39: .line 403
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 11
        40: .line 404
            aload 4 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        41: .line 405
            aload 11
            athrow
        end local 9 // long remaining
        end local 8 // java.util.concurrent.atomic.AtomicBoolean timeout
        end local 7 // java.util.concurrent.atomic.AtomicBoolean waiting
        end local 6 // java.util.concurrent.atomic.AtomicReference holder
        end local 5 // java.util.concurrent.locks.Condition cond
        end local 4 // java.util.concurrent.locks.Lock lock
        42: .line 343
      StackMap locals: android.provider.FontRequest java.lang.String android.graphics.Typeface java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
        43: athrow
        end local 2 // android.graphics.Typeface cachedTypeface
        end local 1 // java.lang.String id
        end local 0 // android.provider.FontRequest request
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   44     0         request  Landroid/provider/FontRequest;
            1   44     1              id  Ljava/lang/String;
            2   44     2  cachedTypeface  Landroid/graphics/Typeface;
           10   42     4            lock  Ljava/util/concurrent/locks/Lock;
           11   42     5            cond  Ljava/util/concurrent/locks/Condition;
           12   42     6          holder  Ljava/util/concurrent/atomic/AtomicReference<Landroid/graphics/Typeface;>;
           13   42     7         waiting  Ljava/util/concurrent/atomic/AtomicBoolean;
           14   42     8         timeout  Ljava/util/concurrent/atomic/AtomicBoolean;
           18   42     9       remaining  J
      Exception table:
        from    to  target  type
          24    25      26  Class java.lang.InterruptedException
          19    21      39  any
          24    29      39  any
          32    37      39  any
           5    23      42  any
          24    31      42  any
          32    38      42  any
          39    43      42  any
    MethodParameters:
         Name  Flags
      request  

  public static void requestFonts(android.content.Context, android.provider.FontRequest, android.os.Handler, android.os.CancellationSignal, android.provider.FontsContract$FontRequestCallback);
    descriptor: (Landroid/content/Context;Landroid/provider/FontRequest;Landroid/os/Handler;Landroid/os/CancellationSignal;Landroid/provider/FontsContract$FontRequestCallback;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=5
        start local 0 // android.content.Context context
        start local 1 // android.provider.FontRequest request
        start local 2 // android.os.Handler handler
        start local 3 // android.os.CancellationSignal cancellationSignal
        start local 4 // android.provider.FontsContract$FontRequestCallback callback
         0: .line 501
            new android.os.Handler
            dup
            invokespecial android.os.Handler.<init>:()V
            astore 5 /* callerThreadHandler */
        start local 5 // android.os.Handler callerThreadHandler
         1: .line 502
            getstatic android.provider.FontsContract.sTypefaceCache:Landroid/util/LruCache;
            aload 1 /* request */
            invokevirtual android.provider.FontRequest.getIdentifier:()Ljava/lang/String;
            invokevirtual android.util.LruCache.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.graphics.Typeface
            astore 6 /* cachedTypeface */
        start local 6 // android.graphics.Typeface cachedTypeface
         2: .line 503
            aload 6 /* cachedTypeface */
            ifnull 5
         3: .line 504
            aload 5 /* callerThreadHandler */
            aload 4 /* callback */
            aload 6 /* cachedTypeface */
            invokedynamic run(Landroid/provider/FontsContract$FontRequestCallback;Landroid/graphics/Typeface;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  android/provider/FontsContract.lambda$2(Landroid/provider/FontsContract$FontRequestCallback;Landroid/graphics/Typeface;)V (6)
                  ()V
            invokevirtual android.os.Handler.post:(Ljava/lang/Runnable;)Z
            pop
         4: .line 505
            return
         5: .line 508
      StackMap locals: android.os.Handler android.graphics.Typeface
      StackMap stack:
            aload 2 /* handler */
            aload 0 /* context */
            aload 3 /* cancellationSignal */
            aload 1 /* request */
            aload 5 /* callerThreadHandler */
            aload 4 /* callback */
            invokedynamic run(Landroid/content/Context;Landroid/os/CancellationSignal;Landroid/provider/FontRequest;Landroid/os/Handler;Landroid/provider/FontsContract$FontRequestCallback;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  android/provider/FontsContract.lambda$3(Landroid/content/Context;Landroid/os/CancellationSignal;Landroid/provider/FontRequest;Landroid/os/Handler;Landroid/provider/FontsContract$FontRequestCallback;)V (6)
                  ()V
            invokevirtual android.os.Handler.post:(Ljava/lang/Runnable;)Z
            pop
         6: .line 578
            return
        end local 6 // android.graphics.Typeface cachedTypeface
        end local 5 // android.os.Handler callerThreadHandler
        end local 4 // android.provider.FontsContract$FontRequestCallback callback
        end local 3 // android.os.CancellationSignal cancellationSignal
        end local 2 // android.os.Handler handler
        end local 1 // android.provider.FontRequest request
        end local 0 // android.content.Context context
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    7     0              context  Landroid/content/Context;
            0    7     1              request  Landroid/provider/FontRequest;
            0    7     2              handler  Landroid/os/Handler;
            0    7     3   cancellationSignal  Landroid/os/CancellationSignal;
            0    7     4             callback  Landroid/provider/FontsContract$FontRequestCallback;
            1    7     5  callerThreadHandler  Landroid/os/Handler;
            2    7     6       cachedTypeface  Landroid/graphics/Typeface;
    MethodParameters:
                    Name  Flags
      context             
      request             
      handler             
      cancellationSignal  
      callback            

  public static android.provider.FontsContract$FontFamilyResult fetchFonts(android.content.Context, android.os.CancellationSignal, android.provider.FontRequest);
    descriptor: (Landroid/content/Context;Landroid/os/CancellationSignal;Landroid/provider/FontRequest;)Landroid/provider/FontsContract$FontFamilyResult;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // android.content.Context context
        start local 1 // android.os.CancellationSignal cancellationSignal
        start local 2 // android.provider.FontRequest request
         0: .line 598
            aload 0 /* context */
            invokevirtual android.content.Context.isRestricted:()Z
            ifeq 2
         1: .line 600
            new android.provider.FontsContract$FontFamilyResult
            dup
            iconst_3
            aconst_null
            invokespecial android.provider.FontsContract$FontFamilyResult.<init>:(I[Landroid/provider/FontsContract$FontInfo;)V
            areturn
         2: .line 602
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            invokevirtual android.content.Context.getPackageManager:()Landroid/content/pm/PackageManager;
            aload 2 /* request */
            invokestatic android.provider.FontsContract.getProvider:(Landroid/content/pm/PackageManager;Landroid/provider/FontRequest;)Landroid/content/pm/ProviderInfo;
            astore 3 /* providerInfo */
        start local 3 // android.content.pm.ProviderInfo providerInfo
         3: .line 603
            aload 3 /* providerInfo */
            ifnonnull 5
         4: .line 604
            new android.provider.FontsContract$FontFamilyResult
            dup
            iconst_1
            aconst_null
            invokespecial android.provider.FontsContract$FontFamilyResult.<init>:(I[Landroid/provider/FontsContract$FontInfo;)V
            areturn
         5: .line 609
      StackMap locals: android.content.pm.ProviderInfo
      StackMap stack:
            aload 0 /* context */
            aload 2 /* request */
            aload 3 /* providerInfo */
            getfield android.content.pm.ProviderInfo.authority:Ljava/lang/String;
            aload 1 /* cancellationSignal */
         6: .line 608
            invokestatic android.provider.FontsContract.getFontFromProvider:(Landroid/content/Context;Landroid/provider/FontRequest;Ljava/lang/String;Landroid/os/CancellationSignal;)[Landroid/provider/FontsContract$FontInfo;
            astore 4 /* fonts */
        start local 4 // android.provider.FontsContract$FontInfo[] fonts
         7: .line 610
            new android.provider.FontsContract$FontFamilyResult
            dup
            iconst_0
            aload 4 /* fonts */
            invokespecial android.provider.FontsContract$FontFamilyResult.<init>:(I[Landroid/provider/FontsContract$FontInfo;)V
         8: areturn
        end local 4 // android.provider.FontsContract$FontInfo[] fonts
         9: .line 611
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            pop
        10: .line 612
            new android.provider.FontsContract$FontFamilyResult
            dup
            iconst_2
            aconst_null
            invokespecial android.provider.FontsContract$FontFamilyResult.<init>:(I[Landroid/provider/FontsContract$FontInfo;)V
            areturn
        end local 3 // android.content.pm.ProviderInfo providerInfo
        end local 2 // android.provider.FontRequest request
        end local 1 // android.os.CancellationSignal cancellationSignal
        end local 0 // android.content.Context context
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   11     0             context  Landroid/content/Context;
            0   11     1  cancellationSignal  Landroid/os/CancellationSignal;
            0   11     2             request  Landroid/provider/FontRequest;
            3   11     3        providerInfo  Landroid/content/pm/ProviderInfo;
            7    9     4               fonts  [Landroid/provider/FontsContract$FontInfo;
      Exception table:
        from    to  target  type
           5     8       9  Class java.lang.IllegalArgumentException
    Exceptions:
      throws android.content.pm.PackageManager$NameNotFoundException
    MethodParameters:
                    Name  Flags
      context             
      cancellationSignal  
      request             

  public static android.graphics.Typeface buildTypeface(android.content.Context, android.os.CancellationSignal, android.provider.FontsContract$FontInfo[]);
    descriptor: (Landroid/content/Context;Landroid/os/CancellationSignal;[Landroid/provider/FontsContract$FontInfo;)Landroid/graphics/Typeface;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // android.content.Context context
        start local 1 // android.os.CancellationSignal cancellationSignal
        start local 2 // android.provider.FontsContract$FontInfo[] fonts
         0: .line 630
            aload 0 /* context */
            invokevirtual android.content.Context.isRestricted:()Z
            ifeq 2
         1: .line 632
            aconst_null
            areturn
         2: .line 635
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 2 /* fonts */
            aload 1 /* cancellationSignal */
            invokestatic android.provider.FontsContract.prepareFontData:(Landroid/content/Context;[Landroid/provider/FontsContract$FontInfo;Landroid/os/CancellationSignal;)Ljava/util/Map;
         3: .line 634
            astore 3 /* uriBuffer */
        start local 3 // java.util.Map uriBuffer
         4: .line 636
            aload 3 /* uriBuffer */
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 6
         5: .line 637
            aconst_null
            areturn
         6: .line 639
      StackMap locals: java.util.Map
      StackMap stack:
            new android.graphics.Typeface$Builder
            dup
            aload 2 /* fonts */
            aload 3 /* uriBuffer */
            invokespecial android.graphics.Typeface$Builder.<init>:([Landroid/provider/FontsContract$FontInfo;Ljava/util/Map;)V
            invokevirtual android.graphics.Typeface$Builder.build:()Landroid/graphics/Typeface;
            areturn
        end local 3 // java.util.Map uriBuffer
        end local 2 // android.provider.FontsContract$FontInfo[] fonts
        end local 1 // android.os.CancellationSignal cancellationSignal
        end local 0 // android.content.Context context
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    7     0             context  Landroid/content/Context;
            0    7     1  cancellationSignal  Landroid/os/CancellationSignal;
            0    7     2               fonts  [Landroid/provider/FontsContract$FontInfo;
            4    7     3           uriBuffer  Ljava/util/Map<Landroid/net/Uri;Ljava/nio/ByteBuffer;>;
    MethodParameters:
                    Name  Flags
      context             
      cancellationSignal  
      fonts               

  private static java.util.Map<android.net.Uri, java.nio.ByteBuffer> prepareFontData(android.content.Context, android.provider.FontsContract$FontInfo[], android.os.CancellationSignal);
    descriptor: (Landroid/content/Context;[Landroid/provider/FontsContract$FontInfo;Landroid/os/CancellationSignal;)Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=20, args_size=3
        start local 0 // android.content.Context context
        start local 1 // android.provider.FontsContract$FontInfo[] fonts
        start local 2 // android.os.CancellationSignal cancellationSignal
         0: .line 654
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* out */
        start local 3 // java.util.HashMap out
         1: .line 655
            aload 0 /* context */
            invokevirtual android.content.Context.getContentResolver:()Landroid/content/ContentResolver;
            astore 4 /* resolver */
        start local 4 // android.content.ContentResolver resolver
         2: .line 657
            aload 1 /* fonts */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 36
      StackMap locals: android.content.Context android.provider.FontsContract$FontInfo[] android.os.CancellationSignal java.util.HashMap android.content.ContentResolver top int int android.provider.FontsContract$FontInfo[]
      StackMap stack:
         3: aload 8
            iload 6
            aaload
            astore 5 /* font */
        start local 5 // android.provider.FontsContract$FontInfo font
         4: .line 658
            aload 5 /* font */
            invokevirtual android.provider.FontsContract$FontInfo.getResultCode:()I
            ifeq 6
         5: .line 659
            goto 35
         6: .line 662
      StackMap locals: android.content.Context android.provider.FontsContract$FontInfo[] android.os.CancellationSignal java.util.HashMap android.content.ContentResolver android.provider.FontsContract$FontInfo int int android.provider.FontsContract$FontInfo[]
      StackMap stack:
            aload 5 /* font */
            invokevirtual android.provider.FontsContract$FontInfo.getUri:()Landroid/net/Uri;
            astore 9 /* uri */
        start local 9 // android.net.Uri uri
         7: .line 663
            aload 3 /* out */
            aload 9 /* uri */
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 664
            goto 35
         9: .line 667
      StackMap locals: android.net.Uri
      StackMap stack:
            aconst_null
            astore 10 /* buffer */
        start local 10 // java.nio.ByteBuffer buffer
        10: .line 668
            aconst_null
            astore 11
            aconst_null
            astore 12
        11: .line 669
            aload 4 /* resolver */
            aload 9 /* uri */
            ldc "r"
            aload 2 /* cancellationSignal */
            invokevirtual android.content.ContentResolver.openFileDescriptor:(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor;
        12: .line 668
            astore 13 /* pfd */
        start local 13 // android.os.ParcelFileDescriptor pfd
        13: .line 670
            aload 13 /* pfd */
            ifnull 27
        14: .line 671
            aconst_null
            astore 14
            aconst_null
            astore 15
        15: .line 672
            new java.io.FileInputStream
            dup
            aload 13 /* pfd */
            invokevirtual android.os.ParcelFileDescriptor.getFileDescriptor:()Ljava/io/FileDescriptor;
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/FileDescriptor;)V
        16: .line 671
            astore 16 /* fis */
        start local 16 // java.io.FileInputStream fis
        17: .line 673
            aload 16 /* fis */
            invokevirtual java.io.FileInputStream.getChannel:()Ljava/nio/channels/FileChannel;
            astore 17 /* fileChannel */
        start local 17 // java.nio.channels.FileChannel fileChannel
        18: .line 674
            aload 17 /* fileChannel */
            invokevirtual java.nio.channels.FileChannel.size:()J
            lstore 18 /* size */
        start local 18 // long size
        19: .line 675
            aload 17 /* fileChannel */
            getstatic java.nio.channels.FileChannel$MapMode.READ_ONLY:Ljava/nio/channels/FileChannel$MapMode;
            lconst_0
            lload 18 /* size */
            invokevirtual java.nio.channels.FileChannel.map:(Ljava/nio/channels/FileChannel$MapMode;JJ)Ljava/nio/MappedByteBuffer;
            astore 10 /* buffer */
        end local 18 // long size
        end local 17 // java.nio.channels.FileChannel fileChannel
        20: .line 676
            aload 16 /* fis */
            ifnull 27
            aload 16 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
            goto 27
      StackMap locals: android.content.Context android.provider.FontsContract$FontInfo[] android.os.CancellationSignal java.util.HashMap android.content.ContentResolver android.provider.FontsContract$FontInfo int int android.provider.FontsContract$FontInfo[] android.net.Uri java.nio.ByteBuffer java.lang.Throwable java.lang.Throwable android.os.ParcelFileDescriptor java.lang.Throwable java.lang.Throwable java.io.FileInputStream
      StackMap stack: java.lang.Throwable
        21: astore 14
            aload 16 /* fis */
            ifnull 22
            aload 16 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
        end local 16 // java.io.FileInputStream fis
      StackMap locals:
      StackMap stack:
        22: aload 14
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        23: astore 15
            aload 14
            ifnonnull 24
            aload 15
            astore 14
            goto 25
      StackMap locals:
      StackMap stack:
        24: aload 14
            aload 15
            if_acmpeq 25
            aload 14
            aload 15
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        25: aload 14
            athrow
      StackMap locals: android.content.Context android.provider.FontsContract$FontInfo[] android.os.CancellationSignal java.util.HashMap android.content.ContentResolver android.provider.FontsContract$FontInfo int int android.provider.FontsContract$FontInfo[] android.net.Uri java.nio.ByteBuffer java.lang.Throwable java.lang.Throwable android.os.ParcelFileDescriptor
      StackMap stack: java.io.IOException
        26: pop
        27: .line 680
      StackMap locals:
      StackMap stack:
            aload 13 /* pfd */
            ifnull 34
            aload 13 /* pfd */
            invokevirtual android.os.ParcelFileDescriptor.close:()V
            goto 34
      StackMap locals:
      StackMap stack: java.lang.Throwable
        28: astore 11
            aload 13 /* pfd */
            ifnull 29
            aload 13 /* pfd */
            invokevirtual android.os.ParcelFileDescriptor.close:()V
        end local 13 // android.os.ParcelFileDescriptor pfd
      StackMap locals:
      StackMap stack:
        29: aload 11
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        30: astore 12
            aload 11
            ifnonnull 31
            aload 12
            astore 11
            goto 32
      StackMap locals:
      StackMap stack:
        31: aload 11
            aload 12
            if_acmpeq 32
            aload 11
            aload 12
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        32: aload 11
            athrow
      StackMap locals: android.content.Context android.provider.FontsContract$FontInfo[] android.os.CancellationSignal java.util.HashMap android.content.ContentResolver android.provider.FontsContract$FontInfo int int android.provider.FontsContract$FontInfo[] android.net.Uri java.nio.ByteBuffer
      StackMap stack: java.io.IOException
        33: pop
        34: .line 686
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            aload 9 /* uri */
            aload 10 /* buffer */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 10 // java.nio.ByteBuffer buffer
        end local 9 // android.net.Uri uri
        end local 5 // android.provider.FontsContract$FontInfo font
        35: .line 657
      StackMap locals: android.content.Context android.provider.FontsContract$FontInfo[] android.os.CancellationSignal java.util.HashMap android.content.ContentResolver top int int android.provider.FontsContract$FontInfo[]
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        36: iload 6
            iload 7
            if_icmplt 3
        37: .line 688
            aload 3 /* out */
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            areturn
        end local 4 // android.content.ContentResolver resolver
        end local 3 // java.util.HashMap out
        end local 2 // android.os.CancellationSignal cancellationSignal
        end local 1 // android.provider.FontsContract$FontInfo[] fonts
        end local 0 // android.content.Context context
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   38     0             context  Landroid/content/Context;
            0   38     1               fonts  [Landroid/provider/FontsContract$FontInfo;
            0   38     2  cancellationSignal  Landroid/os/CancellationSignal;
            1   38     3                 out  Ljava/util/HashMap<Landroid/net/Uri;Ljava/nio/ByteBuffer;>;
            2   38     4            resolver  Landroid/content/ContentResolver;
            4   35     5                font  Landroid/provider/FontsContract$FontInfo;
            7   35     9                 uri  Landroid/net/Uri;
           10   35    10              buffer  Ljava/nio/ByteBuffer;
           13   29    13                 pfd  Landroid/os/ParcelFileDescriptor;
           17   22    16                 fis  Ljava/io/FileInputStream;
           18   20    17         fileChannel  Ljava/nio/channels/FileChannel;
           19   20    18                size  J
      Exception table:
        from    to  target  type
          17    20      21  any
          15    23      23  any
          14    26      26  Class java.io.IOException
          13    27      28  any
          11    30      30  any
          10    33      33  Class java.io.IOException
    Signature: (Landroid/content/Context;[Landroid/provider/FontsContract$FontInfo;Landroid/os/CancellationSignal;)Ljava/util/Map<Landroid/net/Uri;Ljava/nio/ByteBuffer;>;
    MethodParameters:
                    Name  Flags
      context             
      fonts               
      cancellationSignal  

  public static android.content.pm.ProviderInfo getProvider(android.content.pm.PackageManager, android.provider.FontRequest);
    descriptor: (Landroid/content/pm/PackageManager;Landroid/provider/FontRequest;)Landroid/content/pm/ProviderInfo;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // android.content.pm.PackageManager packageManager
        start local 1 // android.provider.FontRequest request
         0: .line 695
            aload 1 /* request */
            invokevirtual android.provider.FontRequest.getProviderAuthority:()Ljava/lang/String;
            astore 2 /* providerAuthority */
        start local 2 // java.lang.String providerAuthority
         1: .line 696
            aload 0 /* packageManager */
            aload 2 /* providerAuthority */
            iconst_0
            invokevirtual android.content.pm.PackageManager.resolveContentProvider:(Ljava/lang/String;I)Landroid/content/pm/ProviderInfo;
            astore 3 /* info */
        start local 3 // android.content.pm.ProviderInfo info
         2: .line 697
            aload 3 /* info */
            ifnonnull 4
         3: .line 698
            new android.content.pm.PackageManager$NameNotFoundException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No package found for authority: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* providerAuthority */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial android.content.pm.PackageManager$NameNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 701
      StackMap locals: java.lang.String android.content.pm.ProviderInfo
      StackMap stack:
            aload 3 /* info */
            getfield android.content.pm.ProviderInfo.packageName:Ljava/lang/String;
            aload 1 /* request */
            invokevirtual android.provider.FontRequest.getProviderPackage:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
         5: .line 702
            new android.content.pm.PackageManager$NameNotFoundException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Found content provider "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* providerAuthority */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 703
            ldc ", but package was not "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* request */
            invokevirtual android.provider.FontRequest.getProviderPackage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 702
            invokespecial android.content.pm.PackageManager$NameNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 706
      StackMap locals:
      StackMap stack:
            aload 3 /* info */
            getfield android.content.pm.ProviderInfo.applicationInfo:Landroid/content/pm/ApplicationInfo;
            invokevirtual android.content.pm.ApplicationInfo.isSystemApp:()Z
            ifeq 10
         9: .line 707
            aload 3 /* info */
            areturn
        10: .line 711
      StackMap locals:
      StackMap stack:
            aload 0 /* packageManager */
            aload 3 /* info */
            getfield android.content.pm.ProviderInfo.packageName:Ljava/lang/String;
        11: .line 712
            bipush 64
        12: .line 711
            invokevirtual android.content.pm.PackageManager.getPackageInfo:(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
            astore 5 /* packageInfo */
        start local 5 // android.content.pm.PackageInfo packageInfo
        13: .line 713
            aload 5 /* packageInfo */
            getfield android.content.pm.PackageInfo.signatures:[Landroid/content/pm/Signature;
            invokestatic android.provider.FontsContract.convertToByteArrayList:([Landroid/content/pm/Signature;)Ljava/util/List;
            astore 4 /* signatures */
        start local 4 // java.util.List signatures
        14: .line 714
            aload 4 /* signatures */
            getstatic android.provider.FontsContract.sByteArrayComparator:Ljava/util/Comparator;
            invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
        15: .line 716
            aload 1 /* request */
            invokevirtual android.provider.FontRequest.getCertificates:()Ljava/util/List;
            astore 6 /* requestCertificatesList */
        start local 6 // java.util.List requestCertificatesList
        16: .line 717
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        17: goto 23
        18: .line 719
      StackMap locals: android.content.pm.PackageManager android.provider.FontRequest java.lang.String android.content.pm.ProviderInfo java.util.List android.content.pm.PackageInfo java.util.List int
      StackMap stack:
            new java.util.ArrayList
            dup
            aload 6 /* requestCertificatesList */
            iload 7 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.util.Collection
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 8 /* requestSignatures */
        start local 8 // java.util.List requestSignatures
        19: .line 720
            aload 8 /* requestSignatures */
            getstatic android.provider.FontsContract.sByteArrayComparator:Ljava/util/Comparator;
            invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
        20: .line 721
            aload 4 /* signatures */
            aload 8 /* requestSignatures */
            invokestatic android.provider.FontsContract.equalsByteArrayList:(Ljava/util/List;Ljava/util/List;)Z
            ifeq 22
        21: .line 722
            aload 3 /* info */
            areturn
        end local 8 // java.util.List requestSignatures
        22: .line 717
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 7 /* i */
            aload 6 /* requestCertificatesList */
            invokeinterface java.util.List.size:()I
            if_icmplt 18
        end local 7 // int i
        24: .line 725
            aconst_null
            areturn
        end local 6 // java.util.List requestCertificatesList
        end local 5 // android.content.pm.PackageInfo packageInfo
        end local 4 // java.util.List signatures
        end local 3 // android.content.pm.ProviderInfo info
        end local 2 // java.lang.String providerAuthority
        end local 1 // android.provider.FontRequest request
        end local 0 // android.content.pm.PackageManager packageManager
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   25     0           packageManager  Landroid/content/pm/PackageManager;
            0   25     1                  request  Landroid/provider/FontRequest;
            1   25     2        providerAuthority  Ljava/lang/String;
            2   25     3                     info  Landroid/content/pm/ProviderInfo;
           14   25     4               signatures  Ljava/util/List<[B>;
           13   25     5              packageInfo  Landroid/content/pm/PackageInfo;
           16   25     6  requestCertificatesList  Ljava/util/List<Ljava/util/List<[B>;>;
           17   24     7                        i  I
           19   22     8        requestSignatures  Ljava/util/List<[B>;
    Exceptions:
      throws android.content.pm.PackageManager$NameNotFoundException
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.VisibleForTesting()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        com.android.internal.annotations.VisibleForTesting()
    MethodParameters:
                Name  Flags
      packageManager  
      request         

  private static boolean equalsByteArrayList(java.util.List<byte[]>, java.util.List<byte[]>);
    descriptor: (Ljava/util/List;Ljava/util/List;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.util.List signatures
        start local 1 // java.util.List requestSignatures
         0: .line 742
            aload 0 /* signatures */
            invokeinterface java.util.List.size:()I
            aload 1 /* requestSignatures */
            invokeinterface java.util.List.size:()I
            if_icmpeq 2
         1: .line 743
            iconst_0
            ireturn
         2: .line 745
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 7
         4: .line 746
      StackMap locals: int
      StackMap stack:
            aload 0 /* signatures */
            iload 2 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast byte[]
            aload 1 /* requestSignatures */
            iload 2 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast byte[]
            invokestatic java.util.Arrays.equals:([B[B)Z
            ifne 6
         5: .line 747
            iconst_0
            ireturn
         6: .line 745
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 0 /* signatures */
            invokeinterface java.util.List.size:()I
            if_icmplt 4
        end local 2 // int i
         8: .line 750
            iconst_1
            ireturn
        end local 1 // java.util.List requestSignatures
        end local 0 // java.util.List signatures
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    9     0         signatures  Ljava/util/List<[B>;
            0    9     1  requestSignatures  Ljava/util/List<[B>;
            3    8     2                  i  I
    Signature: (Ljava/util/List<[B>;Ljava/util/List<[B>;)Z
    MethodParameters:
                   Name  Flags
      signatures         
      requestSignatures  

  private static java.util.List<byte[]> convertToByteArrayList(android.content.pm.Signature[]);
    descriptor: ([Landroid/content/pm/Signature;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // android.content.pm.Signature[] signatures
         0: .line 754
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* shas */
        start local 1 // java.util.List shas
         1: .line 755
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 756
      StackMap locals: java.util.List int
      StackMap stack:
            aload 1 /* shas */
            aload 0 /* signatures */
            iload 2 /* i */
            aaload
            invokevirtual android.content.pm.Signature.toByteArray:()[B
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 755
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* signatures */
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 758
            aload 1 /* shas */
            areturn
        end local 1 // java.util.List shas
        end local 0 // android.content.pm.Signature[] signatures
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0  signatures  [Landroid/content/pm/Signature;
            1    7     1        shas  Ljava/util/List<[B>;
            2    6     2           i  I
    Signature: ([Landroid/content/pm/Signature;)Ljava/util/List<[B>;
    MethodParameters:
            Name  Flags
      signatures  

  public static android.provider.FontsContract$FontInfo[] getFontFromProvider(android.content.Context, android.provider.FontRequest, java.lang.String, android.os.CancellationSignal);
    descriptor: (Landroid/content/Context;Landroid/provider/FontRequest;Ljava/lang/String;Landroid/os/CancellationSignal;)[Landroid/provider/FontsContract$FontInfo;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=24, args_size=4
        start local 0 // android.content.Context context
        start local 1 // android.provider.FontRequest request
        start local 2 // java.lang.String authority
        start local 3 // android.os.CancellationSignal cancellationSignal
         0: .line 766
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* result */
        start local 4 // java.util.ArrayList result
         1: .line 767
            new android.net.Uri$Builder
            dup
            invokespecial android.net.Uri$Builder.<init>:()V
            ldc "content"
            invokevirtual android.net.Uri$Builder.scheme:(Ljava/lang/String;)Landroid/net/Uri$Builder;
         2: .line 768
            aload 2 /* authority */
            invokevirtual android.net.Uri$Builder.authority:(Ljava/lang/String;)Landroid/net/Uri$Builder;
         3: .line 769
            invokevirtual android.net.Uri$Builder.build:()Landroid/net/Uri;
         4: .line 767
            astore 5 /* uri */
        start local 5 // android.net.Uri uri
         5: .line 770
            new android.net.Uri$Builder
            dup
            invokespecial android.net.Uri$Builder.<init>:()V
            ldc "content"
            invokevirtual android.net.Uri$Builder.scheme:(Ljava/lang/String;)Landroid/net/Uri$Builder;
         6: .line 771
            aload 2 /* authority */
            invokevirtual android.net.Uri$Builder.authority:(Ljava/lang/String;)Landroid/net/Uri$Builder;
         7: .line 772
            ldc "file"
            invokevirtual android.net.Uri$Builder.appendPath:(Ljava/lang/String;)Landroid/net/Uri$Builder;
         8: .line 773
            invokevirtual android.net.Uri$Builder.build:()Landroid/net/Uri;
         9: .line 770
            astore 6 /* fileBaseUri */
        start local 6 // android.net.Uri fileBaseUri
        10: .line 774
            aconst_null
            astore 7
            aconst_null
            astore 8
        11: aload 0 /* context */
            invokevirtual android.content.Context.getContentResolver:()Landroid/content/ContentResolver;
            aload 5 /* uri */
            bipush 7
            anewarray java.lang.String
            dup
            iconst_0
            ldc "_id"
            aastore
            dup
            iconst_1
        12: .line 775
            ldc "file_id"
            aastore
            dup
            iconst_2
            ldc "font_ttc_index"
            aastore
            dup
            iconst_3
            ldc "font_variation_settings"
            aastore
            dup
            iconst_4
        13: .line 776
            ldc "font_weight"
            aastore
            dup
            iconst_5
            ldc "font_italic"
            aastore
            dup
            bipush 6
            ldc "result_code"
            aastore
        14: .line 777
            ldc "query = ?"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* request */
            invokevirtual android.provider.FontRequest.getQuery:()Ljava/lang/String;
            aastore
            aconst_null
            aload 3 /* cancellationSignal */
        15: .line 774
            invokevirtual android.content.ContentResolver.query:(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
            astore 9 /* cursor */
        start local 9 // android.database.Cursor cursor
        16: .line 780
            aload 9 /* cursor */
            ifnull 56
            aload 9 /* cursor */
            invokeinterface android.database.Cursor.getCount:()I
            ifle 56
        17: .line 781
            aload 9 /* cursor */
            ldc "result_code"
            invokeinterface android.database.Cursor.getColumnIndex:(Ljava/lang/String;)I
            istore 10 /* resultCodeColumnIndex */
        start local 10 // int resultCodeColumnIndex
        18: .line 782
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* result */
        19: .line 783
            aload 9 /* cursor */
            ldc "_id"
            invokeinterface android.database.Cursor.getColumnIndexOrThrow:(Ljava/lang/String;)I
            istore 11 /* idColumnIndex */
        start local 11 // int idColumnIndex
        20: .line 784
            aload 9 /* cursor */
            ldc "file_id"
            invokeinterface android.database.Cursor.getColumnIndex:(Ljava/lang/String;)I
            istore 12 /* fileIdColumnIndex */
        start local 12 // int fileIdColumnIndex
        21: .line 785
            aload 9 /* cursor */
            ldc "font_ttc_index"
            invokeinterface android.database.Cursor.getColumnIndex:(Ljava/lang/String;)I
            istore 13 /* ttcIndexColumnIndex */
        start local 13 // int ttcIndexColumnIndex
        22: .line 786
            aload 9 /* cursor */
            ldc "font_variation_settings"
            invokeinterface android.database.Cursor.getColumnIndex:(Ljava/lang/String;)I
            istore 14 /* vsColumnIndex */
        start local 14 // int vsColumnIndex
        23: .line 787
            aload 9 /* cursor */
            ldc "font_weight"
            invokeinterface android.database.Cursor.getColumnIndex:(Ljava/lang/String;)I
            istore 15 /* weightColumnIndex */
        start local 15 // int weightColumnIndex
        24: .line 788
            aload 9 /* cursor */
            ldc "font_italic"
            invokeinterface android.database.Cursor.getColumnIndex:(Ljava/lang/String;)I
            istore 16 /* italicColumnIndex */
        start local 16 // int italicColumnIndex
        25: .line 789
            goto 55
        26: .line 790
      StackMap locals: android.content.Context android.provider.FontRequest java.lang.String android.os.CancellationSignal java.util.ArrayList android.net.Uri android.net.Uri java.lang.Throwable java.lang.Throwable android.database.Cursor int int int int int int int
      StackMap stack:
            iload 10 /* resultCodeColumnIndex */
            iconst_m1
            if_icmpeq 28
        27: .line 791
            aload 9 /* cursor */
            iload 10 /* resultCodeColumnIndex */
            invokeinterface android.database.Cursor.getInt:(I)I
            goto 29
      StackMap locals:
      StackMap stack:
        28: iconst_0
        29: .line 790
      StackMap locals:
      StackMap stack: int
            istore 17 /* resultCode */
        start local 17 // int resultCode
        30: .line 792
            iload 13 /* ttcIndexColumnIndex */
            iconst_m1
            if_icmpeq 32
        31: .line 793
            aload 9 /* cursor */
            iload 13 /* ttcIndexColumnIndex */
            invokeinterface android.database.Cursor.getInt:(I)I
            goto 33
      StackMap locals: int
      StackMap stack:
        32: iconst_0
        33: .line 792
      StackMap locals:
      StackMap stack: int
            istore 18 /* ttcIndex */
        start local 18 // int ttcIndex
        34: .line 794
            iload 14 /* vsColumnIndex */
            iconst_m1
            if_icmpeq 36
        35: .line 795
            aload 9 /* cursor */
            iload 14 /* vsColumnIndex */
            invokeinterface android.database.Cursor.getString:(I)Ljava/lang/String;
            goto 37
      StackMap locals: int
      StackMap stack:
        36: aconst_null
        37: .line 794
      StackMap locals:
      StackMap stack: java.lang.String
            astore 19 /* variationSettings */
        start local 19 // java.lang.String variationSettings
        38: .line 798
            iload 12 /* fileIdColumnIndex */
            iconst_m1
            if_icmpne 42
        39: .line 799
            aload 9 /* cursor */
            iload 11 /* idColumnIndex */
            invokeinterface android.database.Cursor.getLong:(I)J
            lstore 21 /* id */
        start local 21 // long id
        40: .line 800
            aload 5 /* uri */
            lload 21 /* id */
            invokestatic android.content.ContentUris.withAppendedId:(Landroid/net/Uri;J)Landroid/net/Uri;
            astore 20 /* fileUri */
        end local 21 // long id
        start local 20 // android.net.Uri fileUri
        41: .line 801
            goto 44
        end local 20 // android.net.Uri fileUri
        42: .line 802
      StackMap locals: java.lang.String
      StackMap stack:
            aload 9 /* cursor */
            iload 12 /* fileIdColumnIndex */
            invokeinterface android.database.Cursor.getLong:(I)J
            lstore 21 /* id */
        start local 21 // long id
        43: .line 803
            aload 6 /* fileBaseUri */
            lload 21 /* id */
            invokestatic android.content.ContentUris.withAppendedId:(Landroid/net/Uri;J)Landroid/net/Uri;
            astore 20 /* fileUri */
        end local 21 // long id
        start local 20 // android.net.Uri fileUri
        44: .line 807
      StackMap locals: android.net.Uri
      StackMap stack:
            iload 15 /* weightColumnIndex */
            iconst_m1
            if_icmpeq 50
            iload 16 /* italicColumnIndex */
            iconst_m1
            if_icmpeq 50
        45: .line 808
            aload 9 /* cursor */
            iload 15 /* weightColumnIndex */
            invokeinterface android.database.Cursor.getInt:(I)I
            istore 21 /* weight */
        start local 21 // int weight
        46: .line 809
            aload 9 /* cursor */
            iload 16 /* italicColumnIndex */
            invokeinterface android.database.Cursor.getInt:(I)I
            iconst_1
            if_icmpne 47
            iconst_1
            goto 48
      StackMap locals: int
      StackMap stack:
        47: iconst_0
      StackMap locals:
      StackMap stack: int
        48: istore 22 /* italic */
        start local 22 // boolean italic
        49: .line 810
            goto 52
        end local 22 // boolean italic
        end local 21 // int weight
        50: .line 811
      StackMap locals:
      StackMap stack:
            sipush 400
            istore 21 /* weight */
        start local 21 // int weight
        51: .line 812
            iconst_0
            istore 22 /* italic */
        start local 22 // boolean italic
        52: .line 815
      StackMap locals: int int
      StackMap stack:
            aload 19 /* variationSettings */
            invokestatic android.graphics.fonts.FontVariationAxis.fromFontVariationSettings:(Ljava/lang/String;)[Landroid/graphics/fonts/FontVariationAxis;
        53: .line 814
            astore 23 /* axes */
        start local 23 // android.graphics.fonts.FontVariationAxis[] axes
        54: .line 816
            aload 4 /* result */
            new android.provider.FontsContract$FontInfo
            dup
            aload 20 /* fileUri */
            iload 18 /* ttcIndex */
            aload 23 /* axes */
            iload 21 /* weight */
            iload 22 /* italic */
            iload 17 /* resultCode */
            invokespecial android.provider.FontsContract$FontInfo.<init>:(Landroid/net/Uri;I[Landroid/graphics/fonts/FontVariationAxis;IZI)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 23 // android.graphics.fonts.FontVariationAxis[] axes
        end local 22 // boolean italic
        end local 21 // int weight
        end local 20 // android.net.Uri fileUri
        end local 19 // java.lang.String variationSettings
        end local 18 // int ttcIndex
        end local 17 // int resultCode
        55: .line 789
      StackMap locals: android.content.Context android.provider.FontRequest java.lang.String android.os.CancellationSignal java.util.ArrayList android.net.Uri android.net.Uri java.lang.Throwable java.lang.Throwable android.database.Cursor int int int int int int int
      StackMap stack:
            aload 9 /* cursor */
            invokeinterface android.database.Cursor.moveToNext:()Z
            ifne 26
        end local 16 // int italicColumnIndex
        end local 15 // int weightColumnIndex
        end local 14 // int vsColumnIndex
        end local 13 // int ttcIndexColumnIndex
        end local 12 // int fileIdColumnIndex
        end local 11 // int idColumnIndex
        end local 10 // int resultCodeColumnIndex
        56: .line 819
      StackMap locals: android.content.Context android.provider.FontRequest java.lang.String android.os.CancellationSignal java.util.ArrayList android.net.Uri android.net.Uri java.lang.Throwable java.lang.Throwable android.database.Cursor
      StackMap stack:
            aload 9 /* cursor */
            ifnull 62
            aload 9 /* cursor */
            invokeinterface android.database.Cursor.close:()V
            goto 62
      StackMap locals:
      StackMap stack: java.lang.Throwable
        57: astore 7
            aload 9 /* cursor */
            ifnull 58
            aload 9 /* cursor */
            invokeinterface android.database.Cursor.close:()V
        end local 9 // android.database.Cursor cursor
      StackMap locals:
      StackMap stack:
        58: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        59: astore 8
            aload 7
            ifnonnull 60
            aload 8
            astore 7
            goto 61
      StackMap locals:
      StackMap stack:
        60: aload 7
            aload 8
            if_acmpeq 61
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        61: aload 7
            athrow
        62: .line 820
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            iconst_0
            anewarray android.provider.FontsContract$FontInfo
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast android.provider.FontsContract$FontInfo[]
            areturn
        end local 6 // android.net.Uri fileBaseUri
        end local 5 // android.net.Uri uri
        end local 4 // java.util.ArrayList result
        end local 3 // android.os.CancellationSignal cancellationSignal
        end local 2 // java.lang.String authority
        end local 1 // android.provider.FontRequest request
        end local 0 // android.content.Context context
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   63     0                context  Landroid/content/Context;
            0   63     1                request  Landroid/provider/FontRequest;
            0   63     2              authority  Ljava/lang/String;
            0   63     3     cancellationSignal  Landroid/os/CancellationSignal;
            1   63     4                 result  Ljava/util/ArrayList<Landroid/provider/FontsContract$FontInfo;>;
            5   63     5                    uri  Landroid/net/Uri;
           10   63     6            fileBaseUri  Landroid/net/Uri;
           16   58     9                 cursor  Landroid/database/Cursor;
           18   56    10  resultCodeColumnIndex  I
           20   56    11          idColumnIndex  I
           21   56    12      fileIdColumnIndex  I
           22   56    13    ttcIndexColumnIndex  I
           23   56    14          vsColumnIndex  I
           24   56    15      weightColumnIndex  I
           25   56    16      italicColumnIndex  I
           30   55    17             resultCode  I
           34   55    18               ttcIndex  I
           38   55    19      variationSettings  Ljava/lang/String;
           41   42    20                fileUri  Landroid/net/Uri;
           44   55    20                fileUri  Landroid/net/Uri;
           40   41    21                     id  J
           43   44    21                     id  J
           46   50    21                 weight  I
           51   55    21                 weight  I
           49   50    22                 italic  Z
           52   55    22                 italic  Z
           54   55    23                   axes  [Landroid/graphics/fonts/FontVariationAxis;
      Exception table:
        from    to  target  type
          16    56      57  any
          11    59      59  any
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.VisibleForTesting()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN, location=[ARRAY_ELEMENT]
        com.android.internal.annotations.VisibleForTesting()
    MethodParameters:
                    Name  Flags
      context             
      request             
      authority           
      cancellationSignal  

  private static int lambda$0(byte[], byte[]);
    descriptor: ([B[B)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // byte[] l
        start local 1 // byte[] r
         0: .line 729
            aload 0 /* l */
            arraylength
            aload 1 /* r */
            arraylength
            if_icmpeq 2
         1: .line 730
            aload 0 /* l */
            arraylength
            aload 1 /* r */
            arraylength
            isub
            ireturn
         2: .line 732
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 7
         4: .line 733
      StackMap locals: int
      StackMap stack:
            aload 0 /* l */
            iload 2 /* i */
            baload
            aload 1 /* r */
            iload 2 /* i */
            baload
            if_icmpeq 6
         5: .line 734
            aload 0 /* l */
            iload 2 /* i */
            baload
            aload 1 /* r */
            iload 2 /* i */
            baload
            isub
            ireturn
         6: .line 732
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 0 /* l */
            arraylength
            if_icmplt 4
        end local 2 // int i
         8: .line 737
            iconst_0
            ireturn
        end local 1 // byte[] r
        end local 0 // byte[] l
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0     l  [B
            0    9     1     r  [B
            3    8     2     i  I

  private static void lambda$1(android.provider.FontRequest, java.lang.String, java.util.concurrent.atomic.AtomicReference, java.util.concurrent.locks.Lock, java.util.concurrent.atomic.AtomicBoolean, java.util.concurrent.atomic.AtomicBoolean, java.util.concurrent.locks.Condition);
    descriptor: (Landroid/provider/FontRequest;Ljava/lang/String;Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/locks/Lock;Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/concurrent/locks/Condition;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=9, args_size=7
         0: .line 357
            getstatic android.provider.FontsContract.sContext:Landroid/content/Context;
            aconst_null
            aload 0
            invokestatic android.provider.FontsContract.fetchFonts:(Landroid/content/Context;Landroid/os/CancellationSignal;Landroid/provider/FontRequest;)Landroid/provider/FontsContract$FontFamilyResult;
            astore 7 /* result */
        start local 7 // android.provider.FontsContract$FontFamilyResult result
         1: .line 358
            aload 7 /* result */
            invokevirtual android.provider.FontsContract$FontFamilyResult.getStatusCode:()I
            ifne 8
         2: .line 359
            getstatic android.provider.FontsContract.sContext:Landroid/content/Context;
            aconst_null
            aload 7 /* result */
            invokevirtual android.provider.FontsContract$FontFamilyResult.getFonts:()[Landroid/provider/FontsContract$FontInfo;
            invokestatic android.provider.FontsContract.buildTypeface:(Landroid/content/Context;Landroid/os/CancellationSignal;[Landroid/provider/FontsContract$FontInfo;)Landroid/graphics/Typeface;
            astore 8 /* typeface */
        start local 8 // android.graphics.Typeface typeface
         3: .line 360
            aload 8 /* typeface */
            ifnull 5
         4: .line 361
            getstatic android.provider.FontsContract.sTypefaceCache:Landroid/util/LruCache;
            aload 1
            aload 8 /* typeface */
            invokevirtual android.util.LruCache.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 363
      StackMap locals: android.provider.FontsContract$FontFamilyResult android.graphics.Typeface
      StackMap stack:
            aload 2
            aload 8 /* typeface */
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
        end local 8 // android.graphics.Typeface typeface
        end local 7 // android.provider.FontsContract$FontFamilyResult result
         6: .line 365
            goto 8
      StackMap locals: android.provider.FontRequest java.lang.String java.util.concurrent.atomic.AtomicReference java.util.concurrent.locks.Lock java.util.concurrent.atomic.AtomicBoolean java.util.concurrent.atomic.AtomicBoolean java.util.concurrent.locks.Condition
      StackMap stack: android.content.pm.PackageManager$NameNotFoundException
         7: pop
         8: .line 368
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         9: .line 370
            aload 4
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
            ifne 16
        10: .line 371
            aload 5
            iconst_0
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
        11: .line 372
            aload 6
            invokeinterface java.util.concurrent.locks.Condition.signal:()V
        12: .line 374
            goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 7
        14: .line 375
            aload 3
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        15: .line 376
            aload 7
            athrow
        16: .line 375
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        17: .line 377
            return
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            1    6     7    result  Landroid/provider/FontsContract$FontFamilyResult;
            3    6     8  typeface  Landroid/graphics/Typeface;
      Exception table:
        from    to  target  type
           0     6       7  Class android.content.pm.PackageManager$NameNotFoundException
           9    13      13  any

  private static void lambda$2(android.provider.FontsContract$FontRequestCallback, android.graphics.Typeface);
    descriptor: (Landroid/provider/FontsContract$FontRequestCallback;Landroid/graphics/Typeface;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 504
            aload 0
            aload 1
            invokevirtual android.provider.FontsContract$FontRequestCallback.onTypefaceRetrieved:(Landroid/graphics/Typeface;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$3(android.content.Context, android.os.CancellationSignal, android.provider.FontRequest, android.os.Handler, android.provider.FontsContract$FontRequestCallback);
    descriptor: (Landroid/content/Context;Landroid/os/CancellationSignal;Landroid/provider/FontRequest;Landroid/os/Handler;Landroid/provider/FontsContract$FontRequestCallback;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=13, args_size=5
         0: .line 511
            aload 0
            aload 1
            aload 2
            invokestatic android.provider.FontsContract.fetchFonts:(Landroid/content/Context;Landroid/os/CancellationSignal;Landroid/provider/FontRequest;)Landroid/provider/FontsContract$FontFamilyResult;
            astore 5 /* result */
        start local 5 // android.provider.FontsContract$FontFamilyResult result
         1: .line 512
            goto 5
        end local 5 // android.provider.FontsContract$FontFamilyResult result
      StackMap locals:
      StackMap stack: android.content.pm.PackageManager$NameNotFoundException
         2: pop
         3: .line 513
            aload 3
            aload 4
            invokedynamic run(Landroid/provider/FontsContract$FontRequestCallback;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  android/provider/FontsContract.lambda$4(Landroid/provider/FontsContract$FontRequestCallback;)V (6)
                  ()V
            invokevirtual android.os.Handler.post:(Ljava/lang/Runnable;)Z
            pop
         4: .line 515
            return
        start local 5 // android.provider.FontsContract$FontFamilyResult result
         5: .line 519
      StackMap locals: android.provider.FontsContract$FontFamilyResult
      StackMap stack:
            getstatic android.provider.FontsContract.sTypefaceCache:Landroid/util/LruCache;
            aload 2
            invokevirtual android.provider.FontRequest.getIdentifier:()Ljava/lang/String;
            invokevirtual android.util.LruCache.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.graphics.Typeface
            astore 6 /* anotherCachedTypeface */
        start local 6 // android.graphics.Typeface anotherCachedTypeface
         6: .line 520
            aload 6 /* anotherCachedTypeface */
            ifnull 9
         7: .line 521
            aload 3
            aload 4
            aload 6 /* anotherCachedTypeface */
            invokedynamic run(Landroid/provider/FontsContract$FontRequestCallback;Landroid/graphics/Typeface;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  android/provider/FontsContract.lambda$5(Landroid/provider/FontsContract$FontRequestCallback;Landroid/graphics/Typeface;)V (6)
                  ()V
            invokevirtual android.os.Handler.post:(Ljava/lang/Runnable;)Z
            pop
         8: .line 522
            return
         9: .line 525
      StackMap locals: android.graphics.Typeface
      StackMap stack:
            aload 5 /* result */
            invokevirtual android.provider.FontsContract$FontFamilyResult.getStatusCode:()I
            ifeq 17
        10: .line 526
            aload 5 /* result */
            invokevirtual android.provider.FontsContract$FontFamilyResult.getStatusCode:()I
            tableswitch { // 1 - 2
                    1: 11
                    2: 13
              default: 15
          }
        11: .line 528
      StackMap locals:
      StackMap stack:
            aload 3
            aload 4
            invokedynamic run(Landroid/provider/FontsContract$FontRequestCallback;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  android/provider/FontsContract.lambda$6(Landroid/provider/FontsContract$FontRequestCallback;)V (6)
                  ()V
            invokevirtual android.os.Handler.post:(Ljava/lang/Runnable;)Z
            pop
        12: .line 530
            return
        13: .line 532
      StackMap locals:
      StackMap stack:
            aload 3
            aload 4
            invokedynamic run(Landroid/provider/FontsContract$FontRequestCallback;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  android/provider/FontsContract.lambda$7(Landroid/provider/FontsContract$FontRequestCallback;)V (6)
                  ()V
            invokevirtual android.os.Handler.post:(Ljava/lang/Runnable;)Z
            pop
        14: .line 534
            return
        15: .line 537
      StackMap locals:
      StackMap stack:
            aload 3
            aload 4
            invokedynamic run(Landroid/provider/FontsContract$FontRequestCallback;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  android/provider/FontsContract.lambda$8(Landroid/provider/FontsContract$FontRequestCallback;)V (6)
                  ()V
            invokevirtual android.os.Handler.post:(Ljava/lang/Runnable;)Z
            pop
        16: .line 539
            return
        17: .line 543
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            invokevirtual android.provider.FontsContract$FontFamilyResult.getFonts:()[Landroid/provider/FontsContract$FontInfo;
            astore 7 /* fonts */
        start local 7 // android.provider.FontsContract$FontInfo[] fonts
        18: .line 544
            aload 7 /* fonts */
            ifnull 19
            aload 7 /* fonts */
            arraylength
            ifne 21
        19: .line 545
      StackMap locals: android.provider.FontsContract$FontInfo[]
      StackMap stack:
            aload 3
            aload 4
            invokedynamic run(Landroid/provider/FontsContract$FontRequestCallback;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  android/provider/FontsContract.lambda$9(Landroid/provider/FontsContract$FontRequestCallback;)V (6)
                  ()V
            invokevirtual android.os.Handler.post:(Ljava/lang/Runnable;)Z
            pop
        20: .line 547
            return
        21: .line 549
      StackMap locals:
      StackMap stack:
            aload 7 /* fonts */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 31
      StackMap locals: android.content.Context android.os.CancellationSignal android.provider.FontRequest android.os.Handler android.provider.FontsContract$FontRequestCallback android.provider.FontsContract$FontFamilyResult android.graphics.Typeface android.provider.FontsContract$FontInfo[] top int int android.provider.FontsContract$FontInfo[]
      StackMap stack:
        22: aload 11
            iload 9
            aaload
            astore 8 /* font */
        start local 8 // android.provider.FontsContract$FontInfo font
        23: .line 550
            aload 8 /* font */
            invokevirtual android.provider.FontsContract$FontInfo.getResultCode:()I
            ifeq 30
        24: .line 553
            aload 8 /* font */
            invokevirtual android.provider.FontsContract$FontInfo.getResultCode:()I
            istore 12 /* resultCode */
        start local 12 // int resultCode
        25: .line 554
            iload 12 /* resultCode */
            ifge 28
        26: .line 556
            aload 3
            aload 4
            invokedynamic run(Landroid/provider/FontsContract$FontRequestCallback;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  android/provider/FontsContract.lambda$10(Landroid/provider/FontsContract$FontRequestCallback;)V (6)
                  ()V
            invokevirtual android.os.Handler.post:(Ljava/lang/Runnable;)Z
            pop
        27: .line 558
            goto 29
        28: .line 559
      StackMap locals: android.content.Context android.os.CancellationSignal android.provider.FontRequest android.os.Handler android.provider.FontsContract$FontRequestCallback android.provider.FontsContract$FontFamilyResult android.graphics.Typeface android.provider.FontsContract$FontInfo[] android.provider.FontsContract$FontInfo int int android.provider.FontsContract$FontInfo[] int
      StackMap stack:
            aload 3
            aload 4
            iload 12 /* resultCode */
            invokedynamic run(Landroid/provider/FontsContract$FontRequestCallback;I)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  android/provider/FontsContract.lambda$11(Landroid/provider/FontsContract$FontRequestCallback;I)V (6)
                  ()V
            invokevirtual android.os.Handler.post:(Ljava/lang/Runnable;)Z
            pop
        29: .line 562
      StackMap locals:
      StackMap stack:
            return
        end local 12 // int resultCode
        end local 8 // android.provider.FontsContract$FontInfo font
        30: .line 549
      StackMap locals: android.content.Context android.os.CancellationSignal android.provider.FontRequest android.os.Handler android.provider.FontsContract$FontRequestCallback android.provider.FontsContract$FontFamilyResult android.graphics.Typeface android.provider.FontsContract$FontInfo[] top int int android.provider.FontsContract$FontInfo[]
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        31: iload 9
            iload 10
            if_icmplt 22
        32: .line 566
            aload 0
            aload 1
            aload 7 /* fonts */
            invokestatic android.provider.FontsContract.buildTypeface:(Landroid/content/Context;Landroid/os/CancellationSignal;[Landroid/provider/FontsContract$FontInfo;)Landroid/graphics/Typeface;
            astore 8 /* typeface */
        start local 8 // android.graphics.Typeface typeface
        33: .line 567
            aload 8 /* typeface */
            ifnonnull 36
        34: .line 570
            aload 3
            aload 4
            invokedynamic run(Landroid/provider/FontsContract$FontRequestCallback;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  android/provider/FontsContract.lambda$12(Landroid/provider/FontsContract$FontRequestCallback;)V (6)
                  ()V
            invokevirtual android.os.Handler.post:(Ljava/lang/Runnable;)Z
            pop
        35: .line 572
            return
        36: .line 575
      StackMap locals: android.content.Context android.os.CancellationSignal android.provider.FontRequest android.os.Handler android.provider.FontsContract$FontRequestCallback android.provider.FontsContract$FontFamilyResult android.graphics.Typeface android.provider.FontsContract$FontInfo[] android.graphics.Typeface
      StackMap stack:
            getstatic android.provider.FontsContract.sTypefaceCache:Landroid/util/LruCache;
            aload 2
            invokevirtual android.provider.FontRequest.getIdentifier:()Ljava/lang/String;
            aload 8 /* typeface */
            invokevirtual android.util.LruCache.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        37: .line 576
            aload 3
            aload 4
            aload 8 /* typeface */
            invokedynamic run(Landroid/provider/FontsContract$FontRequestCallback;Landroid/graphics/Typeface;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  android/provider/FontsContract.lambda$13(Landroid/provider/FontsContract$FontRequestCallback;Landroid/graphics/Typeface;)V (6)
                  ()V
            invokevirtual android.os.Handler.post:(Ljava/lang/Runnable;)Z
            pop
        end local 8 // android.graphics.Typeface typeface
        end local 7 // android.provider.FontsContract$FontInfo[] fonts
        end local 6 // android.graphics.Typeface anotherCachedTypeface
        end local 5 // android.provider.FontsContract$FontFamilyResult result
        38: .line 577
            return
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            1    2     5                 result  Landroid/provider/FontsContract$FontFamilyResult;
            5   38     5                 result  Landroid/provider/FontsContract$FontFamilyResult;
            6   38     6  anotherCachedTypeface  Landroid/graphics/Typeface;
           18   38     7                  fonts  [Landroid/provider/FontsContract$FontInfo;
           23   30     8                   font  Landroid/provider/FontsContract$FontInfo;
           25   30    12             resultCode  I
           33   38     8               typeface  Landroid/graphics/Typeface;
      Exception table:
        from    to  target  type
           0     1       2  Class android.content.pm.PackageManager$NameNotFoundException

  private static void lambda$4(android.provider.FontsContract$FontRequestCallback);
    descriptor: (Landroid/provider/FontsContract$FontRequestCallback;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 513
            aload 0
         1: .line 514
            iconst_m1
         2: .line 513
            invokevirtual android.provider.FontsContract$FontRequestCallback.onTypefaceRequestFailed:(I)V
         3: .line 514
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$5(android.provider.FontsContract$FontRequestCallback, android.graphics.Typeface);
    descriptor: (Landroid/provider/FontsContract$FontRequestCallback;Landroid/graphics/Typeface;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 521
            aload 0
            aload 1
            invokevirtual android.provider.FontsContract$FontRequestCallback.onTypefaceRetrieved:(Landroid/graphics/Typeface;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$6(android.provider.FontsContract$FontRequestCallback);
    descriptor: (Landroid/provider/FontsContract$FontRequestCallback;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 528
            aload 0
         1: .line 529
            bipush -2
         2: .line 528
            invokevirtual android.provider.FontsContract$FontRequestCallback.onTypefaceRequestFailed:(I)V
         3: .line 529
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$7(android.provider.FontsContract$FontRequestCallback);
    descriptor: (Landroid/provider/FontsContract$FontRequestCallback;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 532
            aload 0
         1: .line 533
            bipush -3
         2: .line 532
            invokevirtual android.provider.FontsContract$FontRequestCallback.onTypefaceRequestFailed:(I)V
         3: .line 533
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$8(android.provider.FontsContract$FontRequestCallback);
    descriptor: (Landroid/provider/FontsContract$FontRequestCallback;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 537
            aload 0
         1: .line 538
            bipush -3
         2: .line 537
            invokevirtual android.provider.FontsContract$FontRequestCallback.onTypefaceRequestFailed:(I)V
         3: .line 538
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$9(android.provider.FontsContract$FontRequestCallback);
    descriptor: (Landroid/provider/FontsContract$FontRequestCallback;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 545
            aload 0
         1: .line 546
            iconst_1
         2: .line 545
            invokevirtual android.provider.FontsContract$FontRequestCallback.onTypefaceRequestFailed:(I)V
         3: .line 546
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$10(android.provider.FontsContract$FontRequestCallback);
    descriptor: (Landroid/provider/FontsContract$FontRequestCallback;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 556
            aload 0
         1: .line 557
            bipush -3
         2: .line 556
            invokevirtual android.provider.FontsContract$FontRequestCallback.onTypefaceRequestFailed:(I)V
         3: .line 557
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$11(android.provider.FontsContract$FontRequestCallback, int);
    descriptor: (Landroid/provider/FontsContract$FontRequestCallback;I)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 559
            aload 0
         1: .line 560
            iload 1
         2: .line 559
            invokevirtual android.provider.FontsContract$FontRequestCallback.onTypefaceRequestFailed:(I)V
         3: .line 560
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$12(android.provider.FontsContract$FontRequestCallback);
    descriptor: (Landroid/provider/FontsContract$FontRequestCallback;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 570
            aload 0
         1: .line 571
            bipush -3
         2: .line 570
            invokevirtual android.provider.FontsContract$FontRequestCallback.onTypefaceRequestFailed:(I)V
         3: .line 571
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$13(android.provider.FontsContract$FontRequestCallback, android.graphics.Typeface);
    descriptor: (Landroid/provider/FontsContract$FontRequestCallback;Landroid/graphics/Typeface;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 576
            aload 0
            aload 1
            invokevirtual android.provider.FontsContract$FontRequestCallback.onTypefaceRetrieved:(Landroid/graphics/Typeface;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "FontsContract.java"
NestMembers:
  android.provider.FontsContract$1  android.provider.FontsContract$Columns  android.provider.FontsContract$FontFamilyResult  android.provider.FontsContract$FontFamilyResult$FontResultStatus  android.provider.FontsContract$FontInfo  android.provider.FontsContract$FontRequestCallback  android.provider.FontsContract$FontRequestCallback$FontRequestFailReason
InnerClasses:
  public NameNotFoundException = android.content.pm.PackageManager$NameNotFoundException of android.content.pm.PackageManager
  public final Builder = android.graphics.Typeface$Builder of android.graphics.Typeface
  public final Builder = android.net.Uri$Builder of android.net.Uri
  android.provider.FontsContract$1
  public final Columns = android.provider.FontsContract$Columns of android.provider.FontsContract
  public FontFamilyResult = android.provider.FontsContract$FontFamilyResult of android.provider.FontsContract
  public FontInfo = android.provider.FontsContract$FontInfo of android.provider.FontsContract
  public FontRequestCallback = android.provider.FontsContract$FontRequestCallback of android.provider.FontsContract
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public MapMode = java.nio.channels.FileChannel$MapMode of java.nio.channels.FileChannel