public class android.app.Application extends android.content.ContextWrapper implements android.content.ComponentCallbacks2
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.app.Application
  super_class: android.content.ContextWrapper
{
  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Application"

  private java.util.ArrayList<android.content.ComponentCallbacks> mComponentCallbacks;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/ArrayList<Landroid/content/ComponentCallbacks;>;

  private java.util.ArrayList<android.app.Application$ActivityLifecycleCallbacks> mActivityLifecycleCallbacks;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/ArrayList<Landroid/app/Application$ActivityLifecycleCallbacks;>;

  private java.util.ArrayList<android.app.Application$OnProvideAssistDataListener> mAssistCallbacks;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/ArrayList<Landroid/app/Application$OnProvideAssistDataListener;>;

  public android.app.LoadedApk mLoadedApk;
    descriptor: Landroid/app/LoadedApk;
    flags: (0x0001) ACC_PUBLIC

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.app.Application this
         0: .line 86
            aload 0 /* this */
            aconst_null
            invokespecial android.content.ContextWrapper.<init>:(Landroid/content/Context;)V
         1: .line 51
            aload 0 /* this */
         2: .line 52
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield android.app.Application.mComponentCallbacks:Ljava/util/ArrayList;
         3: .line 53
            aload 0 /* this */
         4: .line 54
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield android.app.Application.mActivityLifecycleCallbacks:Ljava/util/ArrayList;
         5: .line 55
            aload 0 /* this */
            aconst_null
            putfield android.app.Application.mAssistCallbacks:Ljava/util/ArrayList;
         6: .line 87
            return
        end local 0 // android.app.Application this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Landroid/app/Application;

  public void onCreate();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // android.app.Application this
         0: .line 110
            return
        end local 0 // android.app.Application this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/app/Application;

  public void onTerminate();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // android.app.Application this
         0: .line 120
            return
        end local 0 // android.app.Application this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/app/Application;

  public void onConfigurationChanged(android.content.res.Configuration);
    descriptor: (Landroid/content/res/Configuration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // android.app.Application this
        start local 1 // android.content.res.Configuration newConfig
         0: .line 124
            aload 0 /* this */
            invokevirtual android.app.Application.collectComponentCallbacks:()[Ljava/lang/Object;
            astore 2 /* callbacks */
        start local 2 // java.lang.Object[] callbacks
         1: .line 125
            aload 2 /* callbacks */
            ifnull 7
         2: .line 126
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 127
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 2 /* callbacks */
            iload 3 /* i */
            aaload
            checkcast android.content.ComponentCallbacks
            aload 1 /* newConfig */
            invokeinterface android.content.ComponentCallbacks.onConfigurationChanged:(Landroid/content/res/Configuration;)V
         5: .line 126
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 2 /* callbacks */
            arraylength
            if_icmplt 4
        end local 3 // int i
         7: .line 130
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object[] callbacks
        end local 1 // android.content.res.Configuration newConfig
        end local 0 // android.app.Application this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Landroid/app/Application;
            0    8     1  newConfig  Landroid/content/res/Configuration;
            1    8     2  callbacks  [Ljava/lang/Object;
            3    7     3          i  I
    MethodParameters:
           Name  Flags
      newConfig  

  public void onLowMemory();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // android.app.Application this
         0: .line 134
            aload 0 /* this */
            invokevirtual android.app.Application.collectComponentCallbacks:()[Ljava/lang/Object;
            astore 1 /* callbacks */
        start local 1 // java.lang.Object[] callbacks
         1: .line 135
            aload 1 /* callbacks */
            ifnull 7
         2: .line 136
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 6
         4: .line 137
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 1 /* callbacks */
            iload 2 /* i */
            aaload
            checkcast android.content.ComponentCallbacks
            invokeinterface android.content.ComponentCallbacks.onLowMemory:()V
         5: .line 136
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 1 /* callbacks */
            arraylength
            if_icmplt 4
        end local 2 // int i
         7: .line 140
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object[] callbacks
        end local 0 // android.app.Application this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Landroid/app/Application;
            1    8     1  callbacks  [Ljava/lang/Object;
            3    7     2          i  I

  public void onTrimMemory(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // android.app.Application this
        start local 1 // int level
         0: .line 144
            aload 0 /* this */
            invokevirtual android.app.Application.collectComponentCallbacks:()[Ljava/lang/Object;
            astore 2 /* callbacks */
        start local 2 // java.lang.Object[] callbacks
         1: .line 145
            aload 2 /* callbacks */
            ifnull 9
         2: .line 146
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 8
         4: .line 147
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 2 /* callbacks */
            iload 3 /* i */
            aaload
            astore 4 /* c */
        start local 4 // java.lang.Object c
         5: .line 148
            aload 4 /* c */
            instanceof android.content.ComponentCallbacks2
            ifeq 7
         6: .line 149
            aload 4 /* c */
            checkcast android.content.ComponentCallbacks2
            iload 1 /* level */
            invokeinterface android.content.ComponentCallbacks2.onTrimMemory:(I)V
        end local 4 // java.lang.Object c
         7: .line 146
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 2 /* callbacks */
            arraylength
            if_icmplt 4
        end local 3 // int i
         9: .line 153
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object[] callbacks
        end local 1 // int level
        end local 0 // android.app.Application this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Landroid/app/Application;
            0   10     1      level  I
            1   10     2  callbacks  [Ljava/lang/Object;
            3    9     3          i  I
            5    7     4          c  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      level  

  public void registerComponentCallbacks(android.content.ComponentCallbacks);
    descriptor: (Landroid/content/ComponentCallbacks;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.app.Application this
        start local 1 // android.content.ComponentCallbacks callback
         0: .line 156
            aload 0 /* this */
            getfield android.app.Application.mComponentCallbacks:Ljava/util/ArrayList;
            dup
            astore 2
            monitorenter
         1: .line 157
            aload 0 /* this */
            getfield android.app.Application.mComponentCallbacks:Ljava/util/ArrayList;
            aload 1 /* callback */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         2: .line 156
            aload 2
            monitorexit
         3: goto 6
      StackMap locals: android.app.Application android.content.ComponentCallbacks java.util.ArrayList
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
         6: .line 159
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.content.ComponentCallbacks callback
        end local 0 // android.app.Application this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Landroid/app/Application;
            0    7     1  callback  Landroid/content/ComponentCallbacks;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
          Name  Flags
      callback  

  public void unregisterComponentCallbacks(android.content.ComponentCallbacks);
    descriptor: (Landroid/content/ComponentCallbacks;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.app.Application this
        start local 1 // android.content.ComponentCallbacks callback
         0: .line 162
            aload 0 /* this */
            getfield android.app.Application.mComponentCallbacks:Ljava/util/ArrayList;
            dup
            astore 2
            monitorenter
         1: .line 163
            aload 0 /* this */
            getfield android.app.Application.mComponentCallbacks:Ljava/util/ArrayList;
            aload 1 /* callback */
            invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
            pop
         2: .line 162
            aload 2
            monitorexit
         3: goto 6
      StackMap locals: android.app.Application android.content.ComponentCallbacks java.util.ArrayList
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
         6: .line 165
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.content.ComponentCallbacks callback
        end local 0 // android.app.Application this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Landroid/app/Application;
            0    7     1  callback  Landroid/content/ComponentCallbacks;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
          Name  Flags
      callback  

  public void registerActivityLifecycleCallbacks(android.app.Application$ActivityLifecycleCallbacks);
    descriptor: (Landroid/app/Application$ActivityLifecycleCallbacks;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.app.Application this
        start local 1 // android.app.Application$ActivityLifecycleCallbacks callback
         0: .line 168
            aload 0 /* this */
            getfield android.app.Application.mActivityLifecycleCallbacks:Ljava/util/ArrayList;
            dup
            astore 2
            monitorenter
         1: .line 169
            aload 0 /* this */
            getfield android.app.Application.mActivityLifecycleCallbacks:Ljava/util/ArrayList;
            aload 1 /* callback */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         2: .line 168
            aload 2
            monitorexit
         3: goto 6
      StackMap locals: android.app.Application android.app.Application$ActivityLifecycleCallbacks java.util.ArrayList
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
         6: .line 171
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.app.Application$ActivityLifecycleCallbacks callback
        end local 0 // android.app.Application this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Landroid/app/Application;
            0    7     1  callback  Landroid/app/Application$ActivityLifecycleCallbacks;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
          Name  Flags
      callback  

  public void unregisterActivityLifecycleCallbacks(android.app.Application$ActivityLifecycleCallbacks);
    descriptor: (Landroid/app/Application$ActivityLifecycleCallbacks;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.app.Application this
        start local 1 // android.app.Application$ActivityLifecycleCallbacks callback
         0: .line 174
            aload 0 /* this */
            getfield android.app.Application.mActivityLifecycleCallbacks:Ljava/util/ArrayList;
            dup
            astore 2
            monitorenter
         1: .line 175
            aload 0 /* this */
            getfield android.app.Application.mActivityLifecycleCallbacks:Ljava/util/ArrayList;
            aload 1 /* callback */
            invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
            pop
         2: .line 174
            aload 2
            monitorexit
         3: goto 6
      StackMap locals: android.app.Application android.app.Application$ActivityLifecycleCallbacks java.util.ArrayList
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
         6: .line 177
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.app.Application$ActivityLifecycleCallbacks callback
        end local 0 // android.app.Application this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Landroid/app/Application;
            0    7     1  callback  Landroid/app/Application$ActivityLifecycleCallbacks;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
          Name  Flags
      callback  

  public void registerOnProvideAssistDataListener(android.app.Application$OnProvideAssistDataListener);
    descriptor: (Landroid/app/Application$OnProvideAssistDataListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.app.Application this
        start local 1 // android.app.Application$OnProvideAssistDataListener callback
         0: .line 180
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 181
            aload 0 /* this */
            getfield android.app.Application.mAssistCallbacks:Ljava/util/ArrayList;
            ifnonnull 3
         2: .line 182
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield android.app.Application.mAssistCallbacks:Ljava/util/ArrayList;
         3: .line 184
      StackMap locals: android.app.Application
      StackMap stack:
            aload 0 /* this */
            getfield android.app.Application.mAssistCallbacks:Ljava/util/ArrayList;
            aload 1 /* callback */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         4: .line 180
            aload 2
            monitorexit
         5: goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 2
            monitorexit
         7: athrow
         8: .line 186
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.app.Application$OnProvideAssistDataListener callback
        end local 0 // android.app.Application this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Landroid/app/Application;
            0    9     1  callback  Landroid/app/Application$OnProvideAssistDataListener;
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
    MethodParameters:
          Name  Flags
      callback  

  public void unregisterOnProvideAssistDataListener(android.app.Application$OnProvideAssistDataListener);
    descriptor: (Landroid/app/Application$OnProvideAssistDataListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.app.Application this
        start local 1 // android.app.Application$OnProvideAssistDataListener callback
         0: .line 189
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 190
            aload 0 /* this */
            getfield android.app.Application.mAssistCallbacks:Ljava/util/ArrayList;
            ifnull 3
         2: .line 191
            aload 0 /* this */
            getfield android.app.Application.mAssistCallbacks:Ljava/util/ArrayList;
            aload 1 /* callback */
            invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
            pop
         3: .line 189
      StackMap locals: android.app.Application
      StackMap stack:
            aload 2
            monitorexit
         4: goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: aload 2
            monitorexit
         6: athrow
         7: .line 194
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.app.Application$OnProvideAssistDataListener callback
        end local 0 // android.app.Application this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Landroid/app/Application;
            0    8     1  callback  Landroid/app/Application$OnProvideAssistDataListener;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
    MethodParameters:
          Name  Flags
      callback  

  public static java.lang.String getProcessName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 203
            invokestatic android.app.ActivityThread.currentProcessName:()Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  final void attach(android.content.Context);
    descriptor: (Landroid/content/Context;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.app.Application this
        start local 1 // android.content.Context context
         0: .line 212
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual android.app.Application.attachBaseContext:(Landroid/content/Context;)V
         1: .line 213
            aload 0 /* this */
            aload 1 /* context */
            invokestatic android.app.ContextImpl.getImpl:(Landroid/content/Context;)Landroid/app/ContextImpl;
            getfield android.app.ContextImpl.mPackageInfo:Landroid/app/LoadedApk;
            putfield android.app.Application.mLoadedApk:Landroid/app/LoadedApk;
         2: .line 214
            return
        end local 1 // android.content.Context context
        end local 0 // android.app.Application this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Landroid/app/Application;
            0    3     1  context  Landroid/content/Context;
    MethodParameters:
         Name  Flags
      context  

  void dispatchActivityCreated(android.app.Activity, android.os.Bundle);
    descriptor: (Landroid/app/Activity;Landroid/os/Bundle;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // android.app.Application this
        start local 1 // android.app.Activity activity
        start local 2 // android.os.Bundle savedInstanceState
         0: .line 217
            aload 0 /* this */
            invokevirtual android.app.Application.collectActivityLifecycleCallbacks:()[Ljava/lang/Object;
            astore 3 /* callbacks */
        start local 3 // java.lang.Object[] callbacks
         1: .line 218
            aload 3 /* callbacks */
            ifnull 9
         2: .line 219
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 8
         4: .line 220
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 3 /* callbacks */
            iload 4 /* i */
            aaload
            checkcast android.app.Application$ActivityLifecycleCallbacks
            aload 1 /* activity */
         5: .line 221
            aload 2 /* savedInstanceState */
         6: .line 220
            invokeinterface android.app.Application$ActivityLifecycleCallbacks.onActivityCreated:(Landroid/app/Activity;Landroid/os/Bundle;)V
         7: .line 219
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            aload 3 /* callbacks */
            arraylength
            if_icmplt 4
        end local 4 // int i
         9: .line 224
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.Object[] callbacks
        end local 2 // android.os.Bundle savedInstanceState
        end local 1 // android.app.Activity activity
        end local 0 // android.app.Application this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   10     0                this  Landroid/app/Application;
            0   10     1            activity  Landroid/app/Activity;
            0   10     2  savedInstanceState  Landroid/os/Bundle;
            1   10     3           callbacks  [Ljava/lang/Object;
            3    9     4                   i  I
    MethodParameters:
                    Name  Flags
      activity            
      savedInstanceState  

  void dispatchActivityStarted(android.app.Activity);
    descriptor: (Landroid/app/Activity;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // android.app.Application this
        start local 1 // android.app.Activity activity
         0: .line 227
            aload 0 /* this */
            invokevirtual android.app.Application.collectActivityLifecycleCallbacks:()[Ljava/lang/Object;
            astore 2 /* callbacks */
        start local 2 // java.lang.Object[] callbacks
         1: .line 228
            aload 2 /* callbacks */
            ifnull 7
         2: .line 229
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 230
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 2 /* callbacks */
            iload 3 /* i */
            aaload
            checkcast android.app.Application$ActivityLifecycleCallbacks
            aload 1 /* activity */
            invokeinterface android.app.Application$ActivityLifecycleCallbacks.onActivityStarted:(Landroid/app/Activity;)V
         5: .line 229
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 2 /* callbacks */
            arraylength
            if_icmplt 4
        end local 3 // int i
         7: .line 233
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object[] callbacks
        end local 1 // android.app.Activity activity
        end local 0 // android.app.Application this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Landroid/app/Application;
            0    8     1   activity  Landroid/app/Activity;
            1    8     2  callbacks  [Ljava/lang/Object;
            3    7     3          i  I
    MethodParameters:
          Name  Flags
      activity  

  void dispatchActivityResumed(android.app.Activity);
    descriptor: (Landroid/app/Activity;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // android.app.Application this
        start local 1 // android.app.Activity activity
         0: .line 236
            aload 0 /* this */
            invokevirtual android.app.Application.collectActivityLifecycleCallbacks:()[Ljava/lang/Object;
            astore 2 /* callbacks */
        start local 2 // java.lang.Object[] callbacks
         1: .line 237
            aload 2 /* callbacks */
            ifnull 7
         2: .line 238
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 239
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 2 /* callbacks */
            iload 3 /* i */
            aaload
            checkcast android.app.Application$ActivityLifecycleCallbacks
            aload 1 /* activity */
            invokeinterface android.app.Application$ActivityLifecycleCallbacks.onActivityResumed:(Landroid/app/Activity;)V
         5: .line 238
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 2 /* callbacks */
            arraylength
            if_icmplt 4
        end local 3 // int i
         7: .line 242
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object[] callbacks
        end local 1 // android.app.Activity activity
        end local 0 // android.app.Application this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Landroid/app/Application;
            0    8     1   activity  Landroid/app/Activity;
            1    8     2  callbacks  [Ljava/lang/Object;
            3    7     3          i  I
    MethodParameters:
          Name  Flags
      activity  

  void dispatchActivityPaused(android.app.Activity);
    descriptor: (Landroid/app/Activity;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // android.app.Application this
        start local 1 // android.app.Activity activity
         0: .line 245
            aload 0 /* this */
            invokevirtual android.app.Application.collectActivityLifecycleCallbacks:()[Ljava/lang/Object;
            astore 2 /* callbacks */
        start local 2 // java.lang.Object[] callbacks
         1: .line 246
            aload 2 /* callbacks */
            ifnull 7
         2: .line 247
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 248
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 2 /* callbacks */
            iload 3 /* i */
            aaload
            checkcast android.app.Application$ActivityLifecycleCallbacks
            aload 1 /* activity */
            invokeinterface android.app.Application$ActivityLifecycleCallbacks.onActivityPaused:(Landroid/app/Activity;)V
         5: .line 247
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 2 /* callbacks */
            arraylength
            if_icmplt 4
        end local 3 // int i
         7: .line 251
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object[] callbacks
        end local 1 // android.app.Activity activity
        end local 0 // android.app.Application this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Landroid/app/Application;
            0    8     1   activity  Landroid/app/Activity;
            1    8     2  callbacks  [Ljava/lang/Object;
            3    7     3          i  I
    MethodParameters:
          Name  Flags
      activity  

  void dispatchActivityStopped(android.app.Activity);
    descriptor: (Landroid/app/Activity;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // android.app.Application this
        start local 1 // android.app.Activity activity
         0: .line 254
            aload 0 /* this */
            invokevirtual android.app.Application.collectActivityLifecycleCallbacks:()[Ljava/lang/Object;
            astore 2 /* callbacks */
        start local 2 // java.lang.Object[] callbacks
         1: .line 255
            aload 2 /* callbacks */
            ifnull 7
         2: .line 256
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 257
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 2 /* callbacks */
            iload 3 /* i */
            aaload
            checkcast android.app.Application$ActivityLifecycleCallbacks
            aload 1 /* activity */
            invokeinterface android.app.Application$ActivityLifecycleCallbacks.onActivityStopped:(Landroid/app/Activity;)V
         5: .line 256
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 2 /* callbacks */
            arraylength
            if_icmplt 4
        end local 3 // int i
         7: .line 260
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object[] callbacks
        end local 1 // android.app.Activity activity
        end local 0 // android.app.Application this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Landroid/app/Application;
            0    8     1   activity  Landroid/app/Activity;
            1    8     2  callbacks  [Ljava/lang/Object;
            3    7     3          i  I
    MethodParameters:
          Name  Flags
      activity  

  void dispatchActivitySaveInstanceState(android.app.Activity, android.os.Bundle);
    descriptor: (Landroid/app/Activity;Landroid/os/Bundle;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // android.app.Application this
        start local 1 // android.app.Activity activity
        start local 2 // android.os.Bundle outState
         0: .line 263
            aload 0 /* this */
            invokevirtual android.app.Application.collectActivityLifecycleCallbacks:()[Ljava/lang/Object;
            astore 3 /* callbacks */
        start local 3 // java.lang.Object[] callbacks
         1: .line 264
            aload 3 /* callbacks */
            ifnull 9
         2: .line 265
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 8
         4: .line 266
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 3 /* callbacks */
            iload 4 /* i */
            aaload
            checkcast android.app.Application$ActivityLifecycleCallbacks
            aload 1 /* activity */
         5: .line 267
            aload 2 /* outState */
         6: .line 266
            invokeinterface android.app.Application$ActivityLifecycleCallbacks.onActivitySaveInstanceState:(Landroid/app/Activity;Landroid/os/Bundle;)V
         7: .line 265
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            aload 3 /* callbacks */
            arraylength
            if_icmplt 4
        end local 4 // int i
         9: .line 270
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.Object[] callbacks
        end local 2 // android.os.Bundle outState
        end local 1 // android.app.Activity activity
        end local 0 // android.app.Application this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Landroid/app/Application;
            0   10     1   activity  Landroid/app/Activity;
            0   10     2   outState  Landroid/os/Bundle;
            1   10     3  callbacks  [Ljava/lang/Object;
            3    9     4          i  I
    MethodParameters:
          Name  Flags
      activity  
      outState  

  void dispatchActivityDestroyed(android.app.Activity);
    descriptor: (Landroid/app/Activity;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // android.app.Application this
        start local 1 // android.app.Activity activity
         0: .line 273
            aload 0 /* this */
            invokevirtual android.app.Application.collectActivityLifecycleCallbacks:()[Ljava/lang/Object;
            astore 2 /* callbacks */
        start local 2 // java.lang.Object[] callbacks
         1: .line 274
            aload 2 /* callbacks */
            ifnull 7
         2: .line 275
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 276
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 2 /* callbacks */
            iload 3 /* i */
            aaload
            checkcast android.app.Application$ActivityLifecycleCallbacks
            aload 1 /* activity */
            invokeinterface android.app.Application$ActivityLifecycleCallbacks.onActivityDestroyed:(Landroid/app/Activity;)V
         5: .line 275
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 2 /* callbacks */
            arraylength
            if_icmplt 4
        end local 3 // int i
         7: .line 279
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object[] callbacks
        end local 1 // android.app.Activity activity
        end local 0 // android.app.Application this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Landroid/app/Application;
            0    8     1   activity  Landroid/app/Activity;
            1    8     2  callbacks  [Ljava/lang/Object;
            3    7     3          i  I
    MethodParameters:
          Name  Flags
      activity  

  private java.lang.Object[] collectComponentCallbacks();
    descriptor: ()[Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // android.app.Application this
         0: .line 282
            aconst_null
            astore 1 /* callbacks */
        start local 1 // java.lang.Object[] callbacks
         1: .line 283
            aload 0 /* this */
            getfield android.app.Application.mComponentCallbacks:Ljava/util/ArrayList;
            dup
            astore 2
            monitorenter
         2: .line 284
            aload 0 /* this */
            getfield android.app.Application.mComponentCallbacks:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            ifle 4
         3: .line 285
            aload 0 /* this */
            getfield android.app.Application.mComponentCallbacks:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.toArray:()[Ljava/lang/Object;
            astore 1 /* callbacks */
         4: .line 283
      StackMap locals: java.lang.Object[] java.util.ArrayList
      StackMap stack:
            aload 2
            monitorexit
         5: goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 2
            monitorexit
         7: athrow
         8: .line 288
      StackMap locals:
      StackMap stack:
            aload 1 /* callbacks */
            areturn
        end local 1 // java.lang.Object[] callbacks
        end local 0 // android.app.Application this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Landroid/app/Application;
            1    9     1  callbacks  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
           2     5       6  any
           6     7       6  any

  private java.lang.Object[] collectActivityLifecycleCallbacks();
    descriptor: ()[Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // android.app.Application this
         0: .line 292
            aconst_null
            astore 1 /* callbacks */
        start local 1 // java.lang.Object[] callbacks
         1: .line 293
            aload 0 /* this */
            getfield android.app.Application.mActivityLifecycleCallbacks:Ljava/util/ArrayList;
            dup
            astore 2
            monitorenter
         2: .line 294
            aload 0 /* this */
            getfield android.app.Application.mActivityLifecycleCallbacks:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            ifle 4
         3: .line 295
            aload 0 /* this */
            getfield android.app.Application.mActivityLifecycleCallbacks:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.toArray:()[Ljava/lang/Object;
            astore 1 /* callbacks */
         4: .line 293
      StackMap locals: java.lang.Object[] java.util.ArrayList
      StackMap stack:
            aload 2
            monitorexit
         5: goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 2
            monitorexit
         7: athrow
         8: .line 298
      StackMap locals:
      StackMap stack:
            aload 1 /* callbacks */
            areturn
        end local 1 // java.lang.Object[] callbacks
        end local 0 // android.app.Application this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Landroid/app/Application;
            1    9     1  callbacks  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
           2     5       6  any
           6     7       6  any

  void dispatchOnProvideAssistData(android.app.Activity, android.os.Bundle);
    descriptor: (Landroid/app/Activity;Landroid/os/Bundle;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // android.app.Application this
        start local 1 // android.app.Activity activity
        start local 2 // android.os.Bundle data
         0: .line 303
            aload 0 /* this */
            dup
            astore 4
            monitorenter
         1: .line 304
            aload 0 /* this */
            getfield android.app.Application.mAssistCallbacks:Ljava/util/ArrayList;
            ifnonnull 4
         2: .line 305
            aload 4
            monitorexit
         3: return
         4: .line 307
      StackMap locals: android.app.Application android.app.Activity android.os.Bundle top android.app.Application
      StackMap stack:
            aload 0 /* this */
            getfield android.app.Application.mAssistCallbacks:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.toArray:()[Ljava/lang/Object;
            astore 3 /* callbacks */
        start local 3 // java.lang.Object[] callbacks
         5: .line 303
            aload 4
            monitorexit
         6: goto 9
        end local 3 // java.lang.Object[] callbacks
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: aload 4
            monitorexit
         8: athrow
        start local 3 // java.lang.Object[] callbacks
         9: .line 309
      StackMap locals: android.app.Application android.app.Activity android.os.Bundle java.lang.Object[]
      StackMap stack:
            aload 3 /* callbacks */
            ifnull 15
        10: .line 310
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        11: goto 14
        12: .line 311
      StackMap locals: int
      StackMap stack:
            aload 3 /* callbacks */
            iload 4 /* i */
            aaload
            checkcast android.app.Application$OnProvideAssistDataListener
            aload 1 /* activity */
            aload 2 /* data */
            invokeinterface android.app.Application$OnProvideAssistDataListener.onProvideAssistData:(Landroid/app/Activity;Landroid/os/Bundle;)V
        13: .line 310
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 4 /* i */
            aload 3 /* callbacks */
            arraylength
            if_icmplt 12
        end local 4 // int i
        15: .line 314
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.Object[] callbacks
        end local 2 // android.os.Bundle data
        end local 1 // android.app.Activity activity
        end local 0 // android.app.Application this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Landroid/app/Application;
            0   16     1   activity  Landroid/app/Activity;
            0   16     2       data  Landroid/os/Bundle;
            5    7     3  callbacks  [Ljava/lang/Object;
            9   16     3  callbacks  [Ljava/lang/Object;
           11   15     4          i  I
      Exception table:
        from    to  target  type
           1     3       7  any
           4     6       7  any
           7     8       7  any
    MethodParameters:
          Name  Flags
      activity  
      data      

  public android.view.autofill.AutofillManager$AutofillClient getAutofillClient();
    descriptor: ()Landroid/view/autofill/AutofillManager$AutofillClient;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // android.app.Application this
         0: .line 319
            aload 0 /* this */
            invokespecial android.content.ContextWrapper.getAutofillClient:()Landroid/view/autofill/AutofillManager$AutofillClient;
            astore 1 /* client */
        start local 1 // android.view.autofill.AutofillManager$AutofillClient client
         1: .line 320
            aload 1 /* client */
            ifnull 3
         2: .line 321
            aload 1 /* client */
            areturn
         3: .line 323
      StackMap locals: android.view.autofill.AutofillManager$AutofillClient
      StackMap stack:
            getstatic android.view.autofill.Helper.sVerbose:Z
            ifeq 5
         4: .line 324
            ldc "Application"
            ldc "getAutofillClient(): null on super, trying to find activity thread"
            invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         5: .line 330
      StackMap locals:
      StackMap stack:
            invokestatic android.app.ActivityThread.currentActivityThread:()Landroid/app/ActivityThread;
            astore 2 /* activityThread */
        start local 2 // android.app.ActivityThread activityThread
         6: .line 331
            aload 2 /* activityThread */
            ifnonnull 8
         7: .line 332
            aconst_null
            areturn
         8: .line 334
      StackMap locals: android.app.ActivityThread
      StackMap stack:
            aload 2 /* activityThread */
            getfield android.app.ActivityThread.mActivities:Landroid/util/ArrayMap;
            invokevirtual android.util.ArrayMap.size:()I
            istore 3 /* activityCount */
        start local 3 // int activityCount
         9: .line 335
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        10: goto 23
        11: .line 337
      StackMap locals: int int
      StackMap stack:
            aload 2 /* activityThread */
            getfield android.app.ActivityThread.mActivities:Landroid/util/ArrayMap;
            iload 4 /* i */
            invokevirtual android.util.ArrayMap.valueAt:(I)Ljava/lang/Object;
            checkcast android.app.ActivityThread$ActivityClientRecord
        12: .line 336
            astore 5 /* record */
        start local 5 // android.app.ActivityThread$ActivityClientRecord record
        13: .line 338
            aload 5 /* record */
            ifnonnull 15
        14: .line 339
            goto 22
        15: .line 341
      StackMap locals: android.app.ActivityThread$ActivityClientRecord
      StackMap stack:
            aload 5 /* record */
            getfield android.app.ActivityThread$ActivityClientRecord.activity:Landroid/app/Activity;
            astore 6 /* activity */
        start local 6 // android.app.Activity activity
        16: .line 342
            aload 6 /* activity */
            ifnonnull 18
        17: .line 343
            goto 22
        18: .line 345
      StackMap locals: android.app.Activity
      StackMap stack:
            aload 6 /* activity */
            invokevirtual android.app.Activity.getWindow:()Landroid/view/Window;
            invokevirtual android.view.Window.getDecorView:()Landroid/view/View;
            invokevirtual android.view.View.hasFocus:()Z
            ifeq 22
        19: .line 346
            getstatic android.view.autofill.Helper.sVerbose:Z
            ifeq 21
        20: .line 347
            ldc "Application"
            new java.lang.StringBuilder
            dup
            ldc "getAutofillClient(): found activity for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* activity */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        21: .line 349
      StackMap locals:
      StackMap stack:
            aload 6 /* activity */
            areturn
        end local 6 // android.app.Activity activity
        end local 5 // android.app.ActivityThread$ActivityClientRecord record
        22: .line 335
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 4 /* i */
            iload 3 /* activityCount */
            if_icmplt 11
        end local 4 // int i
        24: .line 352
            getstatic android.view.autofill.Helper.sVerbose:Z
            ifeq 28
        25: .line 353
            ldc "Application"
            new java.lang.StringBuilder
            dup
            ldc "getAutofillClient(): none of the "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* activityCount */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " activities on "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        26: .line 354
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " have focus"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 353
            invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        28: .line 356
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // int activityCount
        end local 2 // android.app.ActivityThread activityThread
        end local 1 // android.view.autofill.AutofillManager$AutofillClient client
        end local 0 // android.app.Application this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   29     0            this  Landroid/app/Application;
            1   29     1          client  Landroid/view/autofill/AutofillManager$AutofillClient;
            6   29     2  activityThread  Landroid/app/ActivityThread;
            9   29     3   activityCount  I
           10   24     4               i  I
           13   22     5          record  Landroid/app/ActivityThread$ActivityClientRecord;
           16   22     6        activity  Landroid/app/Activity;
}
SourceFile: "Application.java"
NestMembers:
  android.app.Application$ActivityLifecycleCallbacks  android.app.Application$OnProvideAssistDataListener
InnerClasses:
  public final ActivityClientRecord = android.app.ActivityThread$ActivityClientRecord of android.app.ActivityThread
  public abstract ActivityLifecycleCallbacks = android.app.Application$ActivityLifecycleCallbacks of android.app.Application
  public abstract OnProvideAssistDataListener = android.app.Application$OnProvideAssistDataListener of android.app.Application
  public abstract AutofillClient = android.view.autofill.AutofillManager$AutofillClient of android.view.autofill.AutofillManager