public class com.android.mtp.MtpDocumentsService extends android.app.Service
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.android.mtp.MtpDocumentsService
super_class: android.app.Service
{
static final java.lang.String ACTION_UPDATE_NOTIFICATION;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "com.android.mtp.UPDATE_NOTIFICATION"
static final java.lang.String EXTRA_DEVICE_IDS;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "deviceIds"
static final java.lang.String EXTRA_DEVICE_NOTIFICATIONS;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "deviceNotifications"
private android.app.NotificationManager mNotificationManager;
descriptor: Landroid/app/NotificationManager;
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial android.app.Service.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/mtp/MtpDocumentsService;
public android.os.IBinder onBind(android.content.Intent);
descriptor: (Landroid/content/Intent;)Landroid/os/IBinder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/mtp/MtpDocumentsService;
0 1 1 intent Landroid/content/Intent;
MethodParameters:
Name Flags
intent
public void onCreate();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial android.app.Service.onCreate:()V
1: aload 0
aload 0
ldc Landroid/app/NotificationManager;
invokevirtual com.android.mtp.MtpDocumentsService.getSystemService:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast android.app.NotificationManager
putfield com.android.mtp.MtpDocumentsService.mNotificationManager:Landroid/app/NotificationManager;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/android/mtp/MtpDocumentsService;
public int onStartCommand(android.content.Intent, int, int);
descriptor: (Landroid/content/Intent;II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnull 1
ldc "com.android.mtp.UPDATE_NOTIFICATION"
aload 1
invokevirtual android.content.Intent.getAction:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
1: StackMap locals:
StackMap stack:
aload 1
ldc "deviceIds"
invokevirtual android.content.Intent.hasExtra:(Ljava/lang/String;)Z
ifeq 3
2: aload 1
invokevirtual android.content.Intent.getExtras:()Landroid/os/Bundle;
ldc "deviceIds"
invokevirtual android.os.Bundle.getIntArray:(Ljava/lang/String;)[I
goto 4
StackMap locals:
StackMap stack:
3: aconst_null
4: StackMap locals:
StackMap stack: int[]
astore 4
start local 4 5: aload 1
ldc "deviceNotifications"
invokevirtual android.content.Intent.hasExtra:(Ljava/lang/String;)Z
ifeq 10
6: aload 1
invokevirtual android.content.Intent.getExtras:()Landroid/os/Bundle;
7: ldc "deviceNotifications"
8: invokevirtual android.os.Bundle.getParcelableArray:(Ljava/lang/String;)[Landroid/os/Parcelable;
invokestatic com.android.mtp.MtpDocumentsService.castToNotifications:([Landroid/os/Parcelable;)[Landroid/app/Notification;
9: goto 11
StackMap locals: int[]
StackMap stack:
10: aconst_null
11: StackMap locals:
StackMap stack: android.app.Notification[]
astore 5
start local 5 12: aload 0
aload 4
aload 5
invokevirtual com.android.mtp.MtpDocumentsService.updateForegroundState:([I[Landroid/app/Notification;)Z
ifeq 13
iconst_1
goto 14
StackMap locals: android.app.Notification[]
StackMap stack:
13: iconst_2
StackMap locals:
StackMap stack: int
14: ireturn
end local 5 end local 4 15: StackMap locals:
StackMap stack:
iconst_2
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/android/mtp/MtpDocumentsService;
0 16 1 intent Landroid/content/Intent;
0 16 2 flags I
0 16 3 startId I
5 15 4 ids [I
12 15 5 notifications [Landroid/app/Notification;
MethodParameters:
Name Flags
intent
flags
startId
private boolean updateForegroundState(int[], android.app.Notification[]);
descriptor: ([I[Landroid/app/Notification;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 3
start local 3 1: aload 1
ifnull 2
aload 1
arraylength
goto 3
StackMap locals: java.util.Set
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 4
start local 4 4: iload 4
ifeq 14
5: aload 1
ifnull 6
iconst_1
goto 7
StackMap locals: int
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: invokestatic com.android.internal.util.Preconditions.checkArgument:(Z)V
8: aload 2
ifnull 9
iconst_1
goto 10
StackMap locals:
StackMap stack:
9: iconst_0
StackMap locals:
StackMap stack: int
10: invokestatic com.android.internal.util.Preconditions.checkArgument:(Z)V
11: aload 1
arraylength
aload 2
arraylength
if_icmpne 12
iconst_1
goto 13
StackMap locals:
StackMap stack:
12: iconst_0
StackMap locals:
StackMap stack: int
13: invokestatic com.android.internal.util.Preconditions.checkArgument:(Z)V
14: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 15: goto 22
16: StackMap locals: int
StackMap stack:
iload 5
ifne 19
17: aload 0
aload 1
iload 5
iaload
aload 2
iload 5
aaload
invokevirtual com.android.mtp.MtpDocumentsService.startForeground:(ILandroid/app/Notification;)V
18: goto 20
19: StackMap locals:
StackMap stack:
aload 0
getfield com.android.mtp.MtpDocumentsService.mNotificationManager:Landroid/app/NotificationManager;
aload 1
iload 5
iaload
aload 2
iload 5
aaload
invokevirtual android.app.NotificationManager.notify:(ILandroid/app/Notification;)V
20: StackMap locals:
StackMap stack:
aload 3
aload 1
iload 5
iaload
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
21: iinc 5 1
StackMap locals:
StackMap stack:
22: iload 5
iload 4
if_icmplt 16
end local 5 23: aload 0
getfield com.android.mtp.MtpDocumentsService.mNotificationManager:Landroid/app/NotificationManager;
invokevirtual android.app.NotificationManager.getActiveNotifications:()[Landroid/service/notification/StatusBarNotification;
24: astore 5
start local 5 25: aload 5
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 30
StackMap locals: com.android.mtp.MtpDocumentsService int[] android.app.Notification[] java.util.Set int android.service.notification.StatusBarNotification[] top int int android.service.notification.StatusBarNotification[]
StackMap stack:
26: aload 9
iload 7
aaload
astore 6
start local 6 27: aload 3
aload 6
invokevirtual android.service.notification.StatusBarNotification.getId:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 29
28: aload 0
getfield com.android.mtp.MtpDocumentsService.mNotificationManager:Landroid/app/NotificationManager;
aload 6
invokevirtual android.service.notification.StatusBarNotification.getId:()I
invokevirtual android.app.NotificationManager.cancel:(I)V
end local 6 29: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
30: iload 7
iload 8
if_icmplt 26
31: iload 4
ifne 35
32: aload 0
iconst_1
invokevirtual com.android.mtp.MtpDocumentsService.stopForeground:(Z)V
33: aload 0
invokevirtual com.android.mtp.MtpDocumentsService.stopSelf:()V
34: iconst_0
ireturn
35: StackMap locals: com.android.mtp.MtpDocumentsService int[] android.app.Notification[] java.util.Set int android.service.notification.StatusBarNotification[]
StackMap stack:
iconst_1
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lcom/android/mtp/MtpDocumentsService;
0 36 1 ids [I
0 36 2 notifications [Landroid/app/Notification;
1 36 3 openedNotification Ljava/util/Set<Ljava/lang/Integer;>;
4 36 4 size I
15 23 5 i I
25 36 5 activeNotifications [Landroid/service/notification/StatusBarNotification;
27 29 6 notification Landroid/service/notification/StatusBarNotification;
MethodParameters:
Name Flags
ids
notifications
private static android.app.Notification[] castToNotifications(android.os.Parcelable[]);
descriptor: ([Landroid/os/Parcelable;)[Landroid/app/Notification;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
arraylength
anewarray android.app.Notification
astore 1
start local 1 2: iconst_0
istore 2
start local 2 3: goto 6
4: StackMap locals: android.app.Notification[] int
StackMap stack:
aload 1
iload 2
aload 0
iload 2
aaload
checkcast android.app.Notification
aastore
5: iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
aload 0
arraylength
if_icmplt 4
end local 2 7: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 src [Landroid/os/Parcelable;
2 8 1 notifications [Landroid/app/Notification;
3 7 2 i I
MethodParameters:
Name Flags
src
}
SourceFile: "MtpDocumentsService.java"