public class com.android.systemui.ForegroundServiceControllerImpl implements com.android.systemui.ForegroundServiceController
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.android.systemui.ForegroundServiceControllerImpl
  super_class: java.lang.Object
{
  public static final long FG_SERVICE_GRACE_MILLIS;
    descriptor: J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 5000

  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "FgServiceController"

  private static final boolean DBG;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private final android.content.Context mContext;
    descriptor: Landroid/content/Context;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.util.SparseArray<com.android.systemui.ForegroundServiceControllerImpl$UserServices> mUserServices;
    descriptor: Landroid/util/SparseArray;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Landroid/util/SparseArray<Lcom/android/systemui/ForegroundServiceControllerImpl$UserServices;>;

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

  public void <init>(android.content.Context);
    descriptor: (Landroid/content/Context;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.android.systemui.ForegroundServiceControllerImpl this
        start local 1 // android.content.Context context
         0: .line 49
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 46
            aload 0 /* this */
            new android.util.SparseArray
            dup
            invokespecial android.util.SparseArray.<init>:()V
            putfield com.android.systemui.ForegroundServiceControllerImpl.mUserServices:Landroid/util/SparseArray;
         2: .line 47
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield com.android.systemui.ForegroundServiceControllerImpl.mMutex:Ljava/lang/Object;
         3: .line 50
            aload 0 /* this */
            aload 1 /* context */
            putfield com.android.systemui.ForegroundServiceControllerImpl.mContext:Landroid/content/Context;
         4: .line 51
            return
        end local 1 // android.content.Context context
        end local 0 // com.android.systemui.ForegroundServiceControllerImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lcom/android/systemui/ForegroundServiceControllerImpl;
            0    5     1  context  Landroid/content/Context;
    MethodParameters:
         Name  Flags
      context  

  public boolean isDungeonNeededForUser(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.android.systemui.ForegroundServiceControllerImpl this
        start local 1 // int userId
         0: .line 55
            aload 0 /* this */
            getfield com.android.systemui.ForegroundServiceControllerImpl.mMutex:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 56
            aload 0 /* this */
            getfield com.android.systemui.ForegroundServiceControllerImpl.mUserServices:Landroid/util/SparseArray;
            iload 1 /* userId */
            invokevirtual android.util.SparseArray.get:(I)Ljava/lang/Object;
            checkcast com.android.systemui.ForegroundServiceControllerImpl$UserServices
            astore 3 /* services */
        start local 3 // com.android.systemui.ForegroundServiceControllerImpl$UserServices services
         2: .line 57
            aload 3 /* services */
            ifnonnull 4
            aload 2
            monitorexit
         3: iconst_0
            ireturn
         4: .line 58
      StackMap locals: java.lang.Object com.android.systemui.ForegroundServiceControllerImpl$UserServices
      StackMap stack:
            aload 3 /* services */
            invokevirtual com.android.systemui.ForegroundServiceControllerImpl$UserServices.isDungeonNeeded:()Z
            aload 2
            monitorexit
         5: ireturn
        end local 3 // com.android.systemui.ForegroundServiceControllerImpl$UserServices services
         6: .line 55
      StackMap locals: com.android.systemui.ForegroundServiceControllerImpl int java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         7: athrow
        end local 1 // int userId
        end local 0 // com.android.systemui.ForegroundServiceControllerImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lcom/android/systemui/ForegroundServiceControllerImpl;
            0    8     1    userId  I
            2    6     3  services  Lcom/android/systemui/ForegroundServiceControllerImpl$UserServices;
      Exception table:
        from    to  target  type
           1     3       6  any
           4     5       6  any
           6     7       6  any
    MethodParameters:
        Name  Flags
      userId  

  public boolean isSystemAlertWarningNeeded(int, java.lang.String);
    descriptor: (ILjava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // com.android.systemui.ForegroundServiceControllerImpl this
        start local 1 // int userId
        start local 2 // java.lang.String pkg
         0: .line 64
            aload 0 /* this */
            getfield com.android.systemui.ForegroundServiceControllerImpl.mMutex:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 65
            aload 0 /* this */
            getfield com.android.systemui.ForegroundServiceControllerImpl.mUserServices:Landroid/util/SparseArray;
            iload 1 /* userId */
            invokevirtual android.util.SparseArray.get:(I)Ljava/lang/Object;
            checkcast com.android.systemui.ForegroundServiceControllerImpl$UserServices
            astore 4 /* services */
        start local 4 // com.android.systemui.ForegroundServiceControllerImpl$UserServices services
         2: .line 66
            aload 4 /* services */
            ifnonnull 4
            aload 3
            monitorexit
         3: iconst_0
            ireturn
         4: .line 67
      StackMap locals: java.lang.Object com.android.systemui.ForegroundServiceControllerImpl$UserServices
      StackMap stack:
            aload 4 /* services */
            aload 2 /* pkg */
            invokevirtual com.android.systemui.ForegroundServiceControllerImpl$UserServices.getStandardLayoutKey:(Ljava/lang/String;)Ljava/lang/String;
            ifnonnull 5
            iconst_1
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: aload 3
            monitorexit
         7: ireturn
        end local 4 // com.android.systemui.ForegroundServiceControllerImpl$UserServices services
         8: .line 64
      StackMap locals: com.android.systemui.ForegroundServiceControllerImpl int java.lang.String java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
         9: athrow
        end local 2 // java.lang.String pkg
        end local 1 // int userId
        end local 0 // com.android.systemui.ForegroundServiceControllerImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lcom/android/systemui/ForegroundServiceControllerImpl;
            0   10     1    userId  I
            0   10     2       pkg  Ljava/lang/String;
            2    8     4  services  Lcom/android/systemui/ForegroundServiceControllerImpl$UserServices;
      Exception table:
        from    to  target  type
           1     3       8  any
           4     7       8  any
           8     9       8  any
    MethodParameters:
        Name  Flags
      userId  
      pkg     

  public java.lang.String getStandardLayoutKey(int, java.lang.String);
    descriptor: (ILjava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // com.android.systemui.ForegroundServiceControllerImpl this
        start local 1 // int userId
        start local 2 // java.lang.String pkg
         0: .line 73
            aload 0 /* this */
            getfield com.android.systemui.ForegroundServiceControllerImpl.mMutex:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 74
            aload 0 /* this */
            getfield com.android.systemui.ForegroundServiceControllerImpl.mUserServices:Landroid/util/SparseArray;
            iload 1 /* userId */
            invokevirtual android.util.SparseArray.get:(I)Ljava/lang/Object;
            checkcast com.android.systemui.ForegroundServiceControllerImpl$UserServices
            astore 4 /* services */
        start local 4 // com.android.systemui.ForegroundServiceControllerImpl$UserServices services
         2: .line 75
            aload 4 /* services */
            ifnonnull 4
            aload 3
            monitorexit
         3: aconst_null
            areturn
         4: .line 76
      StackMap locals: java.lang.Object com.android.systemui.ForegroundServiceControllerImpl$UserServices
      StackMap stack:
            aload 4 /* services */
            aload 2 /* pkg */
            invokevirtual com.android.systemui.ForegroundServiceControllerImpl$UserServices.getStandardLayoutKey:(Ljava/lang/String;)Ljava/lang/String;
            aload 3
            monitorexit
         5: areturn
        end local 4 // com.android.systemui.ForegroundServiceControllerImpl$UserServices services
         6: .line 73
      StackMap locals: com.android.systemui.ForegroundServiceControllerImpl int java.lang.String java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
         7: athrow
        end local 2 // java.lang.String pkg
        end local 1 // int userId
        end local 0 // com.android.systemui.ForegroundServiceControllerImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lcom/android/systemui/ForegroundServiceControllerImpl;
            0    8     1    userId  I
            0    8     2       pkg  Ljava/lang/String;
            2    6     4  services  Lcom/android/systemui/ForegroundServiceControllerImpl$UserServices;
      Exception table:
        from    to  target  type
           1     3       6  any
           4     5       6  any
           6     7       6  any
    MethodParameters:
        Name  Flags
      userId  
      pkg     

  public android.util.ArraySet<java.lang.Integer> getAppOps(int, java.lang.String);
    descriptor: (ILjava/lang/String;)Landroid/util/ArraySet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // com.android.systemui.ForegroundServiceControllerImpl this
        start local 1 // int userId
        start local 2 // java.lang.String pkg
         0: .line 82
            aload 0 /* this */
            getfield com.android.systemui.ForegroundServiceControllerImpl.mMutex:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 83
            aload 0 /* this */
            getfield com.android.systemui.ForegroundServiceControllerImpl.mUserServices:Landroid/util/SparseArray;
            iload 1 /* userId */
            invokevirtual android.util.SparseArray.get:(I)Ljava/lang/Object;
            checkcast com.android.systemui.ForegroundServiceControllerImpl$UserServices
            astore 4 /* services */
        start local 4 // com.android.systemui.ForegroundServiceControllerImpl$UserServices services
         2: .line 84
            aload 4 /* services */
            ifnonnull 5
         3: .line 85
            aload 3
            monitorexit
         4: aconst_null
            areturn
         5: .line 87
      StackMap locals: java.lang.Object com.android.systemui.ForegroundServiceControllerImpl$UserServices
      StackMap stack:
            aload 4 /* services */
            aload 2 /* pkg */
            invokevirtual com.android.systemui.ForegroundServiceControllerImpl$UserServices.getFeatures:(Ljava/lang/String;)Landroid/util/ArraySet;
            aload 3
            monitorexit
         6: areturn
        end local 4 // com.android.systemui.ForegroundServiceControllerImpl$UserServices services
         7: .line 82
      StackMap locals: com.android.systemui.ForegroundServiceControllerImpl int java.lang.String java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
         8: athrow
        end local 2 // java.lang.String pkg
        end local 1 // int userId
        end local 0 // com.android.systemui.ForegroundServiceControllerImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lcom/android/systemui/ForegroundServiceControllerImpl;
            0    9     1    userId  I
            0    9     2       pkg  Ljava/lang/String;
            2    7     4  services  Lcom/android/systemui/ForegroundServiceControllerImpl$UserServices;
      Exception table:
        from    to  target  type
           1     4       7  any
           5     6       7  any
           7     8       7  any
    Signature: (ILjava/lang/String;)Landroid/util/ArraySet<Ljava/lang/Integer;>;
    MethodParameters:
        Name  Flags
      userId  
      pkg     

  public void onAppOpChanged(int, int, java.lang.String, boolean);
    descriptor: (IILjava/lang/String;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=5
        start local 0 // com.android.systemui.ForegroundServiceControllerImpl this
        start local 1 // int code
        start local 2 // int uid
        start local 3 // java.lang.String packageName
        start local 4 // boolean active
         0: .line 93
            iload 2 /* uid */
            invokestatic android.os.UserHandle.getUserId:(I)I
            istore 5 /* userId */
        start local 5 // int userId
         1: .line 94
            aload 0 /* this */
            getfield com.android.systemui.ForegroundServiceControllerImpl.mMutex:Ljava/lang/Object;
            dup
            astore 6
            monitorenter
         2: .line 95
            aload 0 /* this */
            getfield com.android.systemui.ForegroundServiceControllerImpl.mUserServices:Landroid/util/SparseArray;
            iload 5 /* userId */
            invokevirtual android.util.SparseArray.get:(I)Ljava/lang/Object;
            checkcast com.android.systemui.ForegroundServiceControllerImpl$UserServices
            astore 7 /* userServices */
        start local 7 // com.android.systemui.ForegroundServiceControllerImpl$UserServices userServices
         3: .line 96
            aload 7 /* userServices */
            ifnonnull 6
         4: .line 97
            new com.android.systemui.ForegroundServiceControllerImpl$UserServices
            dup
            invokespecial com.android.systemui.ForegroundServiceControllerImpl$UserServices.<init>:()V
            astore 7 /* userServices */
         5: .line 98
            aload 0 /* this */
            getfield com.android.systemui.ForegroundServiceControllerImpl.mUserServices:Landroid/util/SparseArray;
            iload 5 /* userId */
            aload 7 /* userServices */
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
         6: .line 100
      StackMap locals: int java.lang.Object com.android.systemui.ForegroundServiceControllerImpl$UserServices
      StackMap stack:
            iload 4 /* active */
            ifeq 9
         7: .line 101
            aload 7 /* userServices */
            aload 3 /* packageName */
            iload 1 /* code */
            invokevirtual com.android.systemui.ForegroundServiceControllerImpl$UserServices.addOp:(Ljava/lang/String;I)V
         8: .line 102
            goto 10
         9: .line 103
      StackMap locals:
      StackMap stack:
            aload 7 /* userServices */
            aload 3 /* packageName */
            iload 1 /* code */
            invokevirtual com.android.systemui.ForegroundServiceControllerImpl$UserServices.removeOp:(Ljava/lang/String;I)Z
            pop
        end local 7 // com.android.systemui.ForegroundServiceControllerImpl$UserServices userServices
        10: .line 94
      StackMap locals:
      StackMap stack:
            aload 6
            monitorexit
        11: goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: aload 6
            monitorexit
        13: athrow
        14: .line 106
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int userId
        end local 4 // boolean active
        end local 3 // java.lang.String packageName
        end local 2 // int uid
        end local 1 // int code
        end local 0 // com.android.systemui.ForegroundServiceControllerImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0          this  Lcom/android/systemui/ForegroundServiceControllerImpl;
            0   15     1          code  I
            0   15     2           uid  I
            0   15     3   packageName  Ljava/lang/String;
            0   15     4        active  Z
            1   15     5        userId  I
            3   10     7  userServices  Lcom/android/systemui/ForegroundServiceControllerImpl$UserServices;
      Exception table:
        from    to  target  type
           2    11      12  any
          12    13      12  any
    MethodParameters:
             Name  Flags
      code         
      uid          
      packageName  
      active       

  public void addNotification(android.service.notification.StatusBarNotification, int);
    descriptor: (Landroid/service/notification/StatusBarNotification;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.android.systemui.ForegroundServiceControllerImpl this
        start local 1 // android.service.notification.StatusBarNotification sbn
        start local 2 // int importance
         0: .line 110
            aload 0 /* this */
            aload 1 /* sbn */
            iload 2 /* importance */
            invokevirtual com.android.systemui.ForegroundServiceControllerImpl.updateNotification:(Landroid/service/notification/StatusBarNotification;I)V
         1: .line 111
            return
        end local 2 // int importance
        end local 1 // android.service.notification.StatusBarNotification sbn
        end local 0 // com.android.systemui.ForegroundServiceControllerImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/android/systemui/ForegroundServiceControllerImpl;
            0    2     1         sbn  Landroid/service/notification/StatusBarNotification;
            0    2     2  importance  I
    MethodParameters:
            Name  Flags
      sbn         
      importance  

  public boolean removeNotification(android.service.notification.StatusBarNotification);
    descriptor: (Landroid/service/notification/StatusBarNotification;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.android.systemui.ForegroundServiceControllerImpl this
        start local 1 // android.service.notification.StatusBarNotification sbn
         0: .line 115
            aload 0 /* this */
            getfield com.android.systemui.ForegroundServiceControllerImpl.mMutex:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 116
            aload 0 /* this */
            getfield com.android.systemui.ForegroundServiceControllerImpl.mUserServices:Landroid/util/SparseArray;
            aload 1 /* sbn */
            invokevirtual android.service.notification.StatusBarNotification.getUserId:()I
            invokevirtual android.util.SparseArray.get:(I)Ljava/lang/Object;
            checkcast com.android.systemui.ForegroundServiceControllerImpl$UserServices
            astore 3 /* userServices */
        start local 3 // com.android.systemui.ForegroundServiceControllerImpl$UserServices userServices
         2: .line 117
            aload 3 /* userServices */
            ifnonnull 5
         3: .line 123
            aload 2
            monitorexit
         4: iconst_0
            ireturn
         5: .line 125
      StackMap locals: java.lang.Object com.android.systemui.ForegroundServiceControllerImpl$UserServices
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sbn */
            invokevirtual com.android.systemui.ForegroundServiceControllerImpl.isDungeonNotification:(Landroid/service/notification/StatusBarNotification;)Z
            ifeq 9
         6: .line 128
            aload 3 /* userServices */
            aconst_null
            lconst_0
            invokevirtual com.android.systemui.ForegroundServiceControllerImpl$UserServices.setRunningServices:([Ljava/lang/String;J)V
         7: .line 129
            aload 2
            monitorexit
         8: iconst_1
            ireturn
         9: .line 132
      StackMap locals:
      StackMap stack:
            aload 3 /* userServices */
            aload 1 /* sbn */
            invokevirtual android.service.notification.StatusBarNotification.getPackageName:()Ljava/lang/String;
            aload 1 /* sbn */
            invokevirtual android.service.notification.StatusBarNotification.getKey:()Ljava/lang/String;
            invokevirtual com.android.systemui.ForegroundServiceControllerImpl$UserServices.removeNotification:(Ljava/lang/String;Ljava/lang/String;)Z
            aload 2
            monitorexit
        10: ireturn
        end local 3 // com.android.systemui.ForegroundServiceControllerImpl$UserServices userServices
        11: .line 115
      StackMap locals: com.android.systemui.ForegroundServiceControllerImpl android.service.notification.StatusBarNotification java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
        12: athrow
        end local 1 // android.service.notification.StatusBarNotification sbn
        end local 0 // com.android.systemui.ForegroundServiceControllerImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lcom/android/systemui/ForegroundServiceControllerImpl;
            0   13     1           sbn  Landroid/service/notification/StatusBarNotification;
            2   11     3  userServices  Lcom/android/systemui/ForegroundServiceControllerImpl$UserServices;
      Exception table:
        from    to  target  type
           1     4      11  any
           5     8      11  any
           9    10      11  any
          11    12      11  any
    MethodParameters:
      Name  Flags
      sbn   

  public void updateNotification(android.service.notification.StatusBarNotification, int);
    descriptor: (Landroid/service/notification/StatusBarNotification;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // com.android.systemui.ForegroundServiceControllerImpl this
        start local 1 // android.service.notification.StatusBarNotification sbn
        start local 2 // int newImportance
         0: .line 139
            aload 0 /* this */
            getfield com.android.systemui.ForegroundServiceControllerImpl.mMutex:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 140
            aload 0 /* this */
            getfield com.android.systemui.ForegroundServiceControllerImpl.mUserServices:Landroid/util/SparseArray;
            aload 1 /* sbn */
            invokevirtual android.service.notification.StatusBarNotification.getUserId:()I
            invokevirtual android.util.SparseArray.get:(I)Ljava/lang/Object;
            checkcast com.android.systemui.ForegroundServiceControllerImpl$UserServices
            astore 4 /* userServices */
        start local 4 // com.android.systemui.ForegroundServiceControllerImpl$UserServices userServices
         2: .line 141
            aload 4 /* userServices */
            ifnonnull 5
         3: .line 142
            new com.android.systemui.ForegroundServiceControllerImpl$UserServices
            dup
            invokespecial com.android.systemui.ForegroundServiceControllerImpl$UserServices.<init>:()V
            astore 4 /* userServices */
         4: .line 143
            aload 0 /* this */
            getfield com.android.systemui.ForegroundServiceControllerImpl.mUserServices:Landroid/util/SparseArray;
            aload 1 /* sbn */
            invokevirtual android.service.notification.StatusBarNotification.getUserId:()I
            aload 4 /* userServices */
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
         5: .line 146
      StackMap locals: java.lang.Object com.android.systemui.ForegroundServiceControllerImpl$UserServices
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sbn */
            invokevirtual com.android.systemui.ForegroundServiceControllerImpl.isDungeonNotification:(Landroid/service/notification/StatusBarNotification;)Z
            ifeq 11
         6: .line 147
            aload 1 /* sbn */
            invokevirtual android.service.notification.StatusBarNotification.getNotification:()Landroid/app/Notification;
            getfield android.app.Notification.extras:Landroid/os/Bundle;
            astore 5 /* extras */
        start local 5 // android.os.Bundle extras
         7: .line 148
            aload 5 /* extras */
            ifnull 21
         8: .line 149
            aload 5 /* extras */
            ldc "android.foregroundApps"
            invokevirtual android.os.Bundle.getStringArray:(Ljava/lang/String;)[Ljava/lang/String;
            astore 6 /* svcs */
        start local 6 // java.lang.String[] svcs
         9: .line 150
            aload 4 /* userServices */
            aload 6 /* svcs */
            aload 1 /* sbn */
            invokevirtual android.service.notification.StatusBarNotification.getNotification:()Landroid/app/Notification;
            getfield android.app.Notification.when:J
            invokevirtual com.android.systemui.ForegroundServiceControllerImpl$UserServices.setRunningServices:([Ljava/lang/String;J)V
        end local 6 // java.lang.String[] svcs
        end local 5 // android.os.Bundle extras
        10: .line 152
            goto 21
        11: .line 153
      StackMap locals:
      StackMap stack:
            aload 4 /* userServices */
            aload 1 /* sbn */
            invokevirtual android.service.notification.StatusBarNotification.getPackageName:()Ljava/lang/String;
            aload 1 /* sbn */
            invokevirtual android.service.notification.StatusBarNotification.getKey:()Ljava/lang/String;
            invokevirtual com.android.systemui.ForegroundServiceControllerImpl$UserServices.removeNotification:(Ljava/lang/String;Ljava/lang/String;)Z
            pop
        12: .line 154
            aload 1 /* sbn */
            invokevirtual android.service.notification.StatusBarNotification.getNotification:()Landroid/app/Notification;
            getfield android.app.Notification.flags:I
            bipush 64
            iand
            ifeq 21
        13: .line 155
            iload 2 /* newImportance */
            iconst_1
            if_icmple 15
        14: .line 156
            aload 4 /* userServices */
            aload 1 /* sbn */
            invokevirtual android.service.notification.StatusBarNotification.getPackageName:()Ljava/lang/String;
            aload 1 /* sbn */
            invokevirtual android.service.notification.StatusBarNotification.getKey:()Ljava/lang/String;
            invokevirtual com.android.systemui.ForegroundServiceControllerImpl$UserServices.addImportantNotification:(Ljava/lang/String;Ljava/lang/String;)V
        15: .line 159
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.systemui.ForegroundServiceControllerImpl.mContext:Landroid/content/Context;
            aload 1 /* sbn */
            invokevirtual android.service.notification.StatusBarNotification.getNotification:()Landroid/app/Notification;
        16: .line 158
            invokestatic android.app.Notification$Builder.recoverBuilder:(Landroid/content/Context;Landroid/app/Notification;)Landroid/app/Notification$Builder;
            astore 5 /* builder */
        start local 5 // android.app.Notification$Builder builder
        17: .line 160
            aload 5 /* builder */
            invokevirtual android.app.Notification$Builder.usesStandardHeader:()Z
            ifeq 21
        18: .line 161
            aload 4 /* userServices */
        19: .line 162
            aload 1 /* sbn */
            invokevirtual android.service.notification.StatusBarNotification.getPackageName:()Ljava/lang/String;
            aload 1 /* sbn */
            invokevirtual android.service.notification.StatusBarNotification.getKey:()Ljava/lang/String;
        20: .line 161
            invokevirtual com.android.systemui.ForegroundServiceControllerImpl$UserServices.addStandardLayoutNotification:(Ljava/lang/String;Ljava/lang/String;)V
        end local 5 // android.app.Notification$Builder builder
        end local 4 // com.android.systemui.ForegroundServiceControllerImpl$UserServices userServices
        21: .line 139
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
        22: goto 25
      StackMap locals:
      StackMap stack: java.lang.Throwable
        23: aload 3
            monitorexit
        24: athrow
        25: .line 167
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int newImportance
        end local 1 // android.service.notification.StatusBarNotification sbn
        end local 0 // com.android.systemui.ForegroundServiceControllerImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   26     0           this  Lcom/android/systemui/ForegroundServiceControllerImpl;
            0   26     1            sbn  Landroid/service/notification/StatusBarNotification;
            0   26     2  newImportance  I
            2   21     4   userServices  Lcom/android/systemui/ForegroundServiceControllerImpl$UserServices;
            7   10     5         extras  Landroid/os/Bundle;
            9   10     6           svcs  [Ljava/lang/String;
           17   21     5        builder  Landroid/app/Notification$Builder;
      Exception table:
        from    to  target  type
           1    22      23  any
          23    24      23  any
    MethodParameters:
               Name  Flags
      sbn            
      newImportance  

  public boolean isDungeonNotification(android.service.notification.StatusBarNotification);
    descriptor: (Landroid/service/notification/StatusBarNotification;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.android.systemui.ForegroundServiceControllerImpl this
         0: .line 171
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tSystemMessageProto cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.android.systemui.ForegroundServiceControllerImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/systemui/ForegroundServiceControllerImpl;
    MethodParameters:
      Name  Flags
      sbn   

  public boolean isSystemAlertNotification(android.service.notification.StatusBarNotification);
    descriptor: (Landroid/service/notification/StatusBarNotification;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.android.systemui.ForegroundServiceControllerImpl this
        start local 1 // android.service.notification.StatusBarNotification sbn
         0: .line 178
            aload 1 /* sbn */
            invokevirtual android.service.notification.StatusBarNotification.getPackageName:()Ljava/lang/String;
            ldc "android"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         1: .line 179
            aload 1 /* sbn */
            invokevirtual android.service.notification.StatusBarNotification.getTag:()Ljava/lang/String;
            ifnull 4
         2: .line 180
            aload 1 /* sbn */
            invokevirtual android.service.notification.StatusBarNotification.getTag:()Ljava/lang/String;
            ldc "AlertWindowNotification"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 4
         3: .line 178
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 1 // android.service.notification.StatusBarNotification sbn
        end local 0 // com.android.systemui.ForegroundServiceControllerImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/android/systemui/ForegroundServiceControllerImpl;
            0    5     1   sbn  Landroid/service/notification/StatusBarNotification;
    MethodParameters:
      Name  Flags
      sbn   
}
SourceFile: "ForegroundServiceControllerImpl.java"
NestMembers:
  com.android.systemui.ForegroundServiceControllerImpl$UserServices
InnerClasses:
  public Builder = android.app.Notification$Builder of android.app.Notification
  private UserServices = com.android.systemui.ForegroundServiceControllerImpl$UserServices of com.android.systemui.ForegroundServiceControllerImpl