androidx.camera.core.impl.utils.futures.FutureChain -> aq2:
# {"id":"sourceFile","fileName":"FutureChain.java"}
    com.google.common.util.concurrent.ListenableFuture mDelegate -> X
      # {"id":"com.android.tools.r8.residualsignature","signature":"La04;"}
    androidx.concurrent.futures.CallbackToFutureAdapter$Completer mCompleter -> Y
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lkf0;"}
    1:3:void <init>():113:113 -> <init>
    4:17:void <init>():114:114 -> <init>
    18:18:void <init>(com.google.common.util.concurrent.ListenableFuture):109:109 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(La04;)V"}
    19:19:java.lang.Object androidx.core.util.Preconditions.checkNotNull(java.lang.Object):136:136 -> <init>
    19:19:void <init>(com.google.common.util.concurrent.ListenableFuture):110 -> <init>
    20:20:void <init>(com.google.common.util.concurrent.ListenableFuture):110:110 -> <init>
    1:4:androidx.camera.core.impl.utils.futures.FutureChain from(com.google.common.util.concurrent.ListenableFuture):60:60 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(La04;)Laq2;"}
    5:13:androidx.camera.core.impl.utils.futures.FutureChain from(com.google.common.util.concurrent.ListenableFuture):61:61 -> a
    1:6:void addListener(java.lang.Runnable,java.util.concurrent.Executor):129:129 -> b
    1:7:boolean cancel(boolean):134:134 -> cancel
    1:7:java.lang.Object get():150:150 -> get
    8:8:java.lang.Object get(long,java.util.concurrent.TimeUnit):156:156 -> get
    1:7:boolean isCancelled():139:139 -> isCancelled
    1:7:boolean isDone():144:144 -> isDone
