public class com.android.shell.BugreportProgressService extends android.app.Service
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.android.shell.BugreportProgressService
super_class: android.app.Service
{
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "BugreportProgressService"
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final java.lang.String AUTHORITY;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "com.android.shell"
static final java.lang.String INTENT_BUGREPORT_STARTED;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "com.android.internal.intent.action.BUGREPORT_STARTED"
static final java.lang.String INTENT_BUGREPORT_FINISHED;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "com.android.internal.intent.action.BUGREPORT_FINISHED"
static final java.lang.String INTENT_REMOTE_BUGREPORT_FINISHED;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "com.android.internal.intent.action.REMOTE_BUGREPORT_FINISHED"
static final java.lang.String INTENT_BUGREPORT_CANCEL;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "android.intent.action.BUGREPORT_CANCEL"
static final java.lang.String INTENT_BUGREPORT_SHARE;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "android.intent.action.BUGREPORT_SHARE"
static final java.lang.String INTENT_BUGREPORT_INFO_LAUNCH;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "android.intent.action.BUGREPORT_INFO_LAUNCH"
static final java.lang.String INTENT_BUGREPORT_SCREENSHOT;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "android.intent.action.BUGREPORT_SCREENSHOT"
static final java.lang.String EXTRA_BUGREPORT;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "android.intent.extra.BUGREPORT"
static final java.lang.String EXTRA_SCREENSHOT;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "android.intent.extra.SCREENSHOT"
static final java.lang.String EXTRA_ID;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "android.intent.extra.ID"
static final java.lang.String EXTRA_PID;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "android.intent.extra.PID"
static final java.lang.String EXTRA_MAX;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "android.intent.extra.MAX"
static final java.lang.String EXTRA_NAME;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "android.intent.extra.NAME"
static final java.lang.String EXTRA_TITLE;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "android.intent.extra.TITLE"
static final java.lang.String EXTRA_DESCRIPTION;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "android.intent.extra.DESCRIPTION"
static final java.lang.String EXTRA_ORIGINAL_INTENT;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "android.intent.extra.ORIGINAL_INTENT"
static final java.lang.String EXTRA_INFO;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "android.intent.extra.INFO"
private static final int MSG_SERVICE_COMMAND;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int MSG_DELAYED_SCREENSHOT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int MSG_SCREENSHOT_REQUEST;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int MSG_SCREENSHOT_RESPONSE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int UNUSED_ARG2;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -2
private static final int CAPPED_PROGRESS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 9900
private static final int CAPPED_MAX;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 10000
private static final int LOG_PROGRESS_STEP;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 10
static final int SCREENSHOT_DELAY_SECONDS;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final java.lang.String DUMPSTATE_PREFIX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "dumpstate."
private static final java.lang.String NAME_SUFFIX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: ".name"
private static final java.lang.String CTL_STOP;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "ctl.stop"
private static final java.lang.String BUGREPORT_SERVICE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "bugreport"
private static final java.lang.String SCREENSHOT_DIR;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "bugreports"
private static final java.lang.String NOTIFICATION_CHANNEL_ID;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "bugreports"
private final java.lang.Object mLock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.util.SparseArray<com.android.shell.BugreportProgressService$DumpstateListener> mProcesses;
descriptor: Landroid/util/SparseArray;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Landroid/util/SparseArray<Lcom/android/shell/BugreportProgressService$DumpstateListener;>;
private android.content.Context mContext;
descriptor: Landroid/content/Context;
flags: (0x0002) ACC_PRIVATE
private android.os.Handler mMainThreadHandler;
descriptor: Landroid/os/Handler;
flags: (0x0002) ACC_PRIVATE
private com.android.shell.BugreportProgressService$ServiceHandler mServiceHandler;
descriptor: Lcom/android/shell/BugreportProgressService$ServiceHandler;
flags: (0x0002) ACC_PRIVATE
private com.android.shell.BugreportProgressService$ScreenshotHandler mScreenshotHandler;
descriptor: Lcom/android/shell/BugreportProgressService$ScreenshotHandler;
flags: (0x0002) ACC_PRIVATE
private final com.android.shell.BugreportProgressService$BugreportInfoDialog mInfoDialog;
descriptor: Lcom/android/shell/BugreportProgressService$BugreportInfoDialog;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.io.File mScreenshotsDir;
descriptor: Ljava/io/File;
flags: (0x0002) ACC_PRIVATE
private int mForegroundId;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean mTakingScreenshot;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static final android.os.Bundle sNotificationBundle;
descriptor: Landroid/os/Bundle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private boolean mIsWatch;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int mLastProgressPercent;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final java.lang.String SHORT_EXTRA_ORIGINAL_INTENT;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new android.os.Bundle
dup
invokespecial android.os.Bundle.<init>:()V
putstatic com.android.shell.BugreportProgressService.sNotificationBundle:Landroid/os/Bundle;
1: ldc "android.intent.extra.ORIGINAL_INTENT"
ldc "android.intent.extra.ORIGINAL_INTENT"
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
2: putstatic com.android.shell.BugreportProgressService.SHORT_EXTRA_ORIGINAL_INTENT:Ljava/lang/String;
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial android.app.Service.<init>:()V
1: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield com.android.shell.BugreportProgressService.mLock:Ljava/lang/Object;
2: aload 0
new android.util.SparseArray
dup
invokespecial android.util.SparseArray.<init>:()V
putfield com.android.shell.BugreportProgressService.mProcesses:Landroid/util/SparseArray;
3: aload 0
new com.android.shell.BugreportProgressService$BugreportInfoDialog
dup
aload 0
invokespecial com.android.shell.BugreportProgressService$BugreportInfoDialog.<init>:(Lcom/android/shell/BugreportProgressService;)V
putfield com.android.shell.BugreportProgressService.mInfoDialog:Lcom/android/shell/BugreportProgressService$BugreportInfoDialog;
4: aload 0
iconst_m1
putfield com.android.shell.BugreportProgressService.mForegroundId:I
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/android/shell/BugreportProgressService;
public void onCreate();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tR cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/shell/BugreportProgressService;
public int onStartCommand(android.content.Intent, int, int);
descriptor: (Landroid/content/Intent;II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: ldc "BugreportProgressService"
new java.lang.StringBuilder
dup
ldc "onStartCommand(): "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokestatic com.android.shell.BugreportProgressService.dumpIntent:(Landroid/content/Intent;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
pop
1: aload 1
ifnull 6
2: aload 0
getfield com.android.shell.BugreportProgressService.mServiceHandler:Lcom/android/shell/BugreportProgressService$ServiceHandler;
invokevirtual com.android.shell.BugreportProgressService$ServiceHandler.obtainMessage:()Landroid/os/Message;
astore 4
start local 4 3: aload 4
iconst_1
putfield android.os.Message.what:I
4: aload 4
aload 1
putfield android.os.Message.obj:Ljava/lang/Object;
5: aload 0
getfield com.android.shell.BugreportProgressService.mServiceHandler:Lcom/android/shell/BugreportProgressService$ServiceHandler;
aload 4
invokevirtual com.android.shell.BugreportProgressService$ServiceHandler.sendMessage:(Landroid/os/Message;)Z
pop
end local 4 6: 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 7 0 this Lcom/android/shell/BugreportProgressService;
0 7 1 intent Landroid/content/Intent;
0 7 2 flags I
0 7 3 startId I
3 6 4 msg Landroid/os/Message;
MethodParameters:
Name Flags
intent
flags
startId
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/shell/BugreportProgressService;
0 1 1 intent Landroid/content/Intent;
MethodParameters:
Name Flags
intent
public void onDestroy();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.android.shell.BugreportProgressService.mServiceHandler:Lcom/android/shell/BugreportProgressService$ServiceHandler;
invokevirtual com.android.shell.BugreportProgressService$ServiceHandler.getLooper:()Landroid/os/Looper;
invokevirtual android.os.Looper.quit:()V
1: aload 0
getfield com.android.shell.BugreportProgressService.mScreenshotHandler:Lcom/android/shell/BugreportProgressService$ScreenshotHandler;
invokevirtual com.android.shell.BugreportProgressService$ScreenshotHandler.getLooper:()Landroid/os/Looper;
invokevirtual android.os.Looper.quit:()V
2: aload 0
invokespecial android.app.Service.onDestroy:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/shell/BugreportProgressService;
protected void dump(java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
descriptor: (Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.android.shell.BugreportProgressService.mProcesses:Landroid/util/SparseArray;
invokevirtual android.util.SparseArray.size:()I
istore 4
start local 4 1: iload 4
ifne 4
2: aload 2
ldc "No monitored processes"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
3: return
4: StackMap locals: int
StackMap stack:
aload 2
ldc "Foreground id: "
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
aload 2
aload 0
getfield com.android.shell.BugreportProgressService.mForegroundId:I
invokevirtual java.io.PrintWriter.println:(I)V
5: aload 2
ldc "\n"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
6: aload 2
ldc "Monitored dumpstate processes"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
7: aload 2
ldc "-----------------------------"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
8: iconst_0
istore 5
start local 5 9: goto 13
10: StackMap locals: int
StackMap stack:
aload 2
ldc "#"
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
aload 2
iload 5
iconst_1
iadd
invokevirtual java.io.PrintWriter.println:(I)V
11: aload 2
aload 0
getfield com.android.shell.BugreportProgressService.mProcesses:Landroid/util/SparseArray;
iload 5
invokevirtual android.util.SparseArray.valueAt:(I)Ljava/lang/Object;
checkcast com.android.shell.BugreportProgressService$DumpstateListener
getfield com.android.shell.BugreportProgressService$DumpstateListener.info:Lcom/android/shell/BugreportProgressService$BugreportInfo;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/Object;)V
12: iinc 5 1
StackMap locals:
StackMap stack:
13: iload 5
iload 4
if_icmplt 10
end local 5 14: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/android/shell/BugreportProgressService;
0 15 1 fd Ljava/io/FileDescriptor;
0 15 2 writer Ljava/io/PrintWriter;
0 15 3 args [Ljava/lang/String;
1 15 4 size I
9 14 5 i I
MethodParameters:
Name Flags
fd
writer
args
private com.android.shell.BugreportProgressService$BugreportInfo getInfo(int);
descriptor: (I)Lcom/android/shell/BugreportProgressService$BugreportInfo;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.shell.BugreportProgressService.mProcesses:Landroid/util/SparseArray;
iload 1
invokevirtual android.util.SparseArray.get:(I)Ljava/lang/Object;
checkcast com.android.shell.BugreportProgressService$DumpstateListener
astore 2
start local 2 1: aload 2
ifnonnull 4
2: ldc "BugreportProgressService"
new java.lang.StringBuilder
dup
ldc "Not monitoring process with ID "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
3: aconst_null
areturn
4: StackMap locals: com.android.shell.BugreportProgressService$DumpstateListener
StackMap stack:
aload 2
getfield com.android.shell.BugreportProgressService$DumpstateListener.info:Lcom/android/shell/BugreportProgressService$BugreportInfo;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/shell/BugreportProgressService;
0 5 1 id I
1 5 2 listener Lcom/android/shell/BugreportProgressService$DumpstateListener;
MethodParameters:
Name Flags
id
private boolean startProgress(java.lang.String, int, int, int);
descriptor: (Ljava/lang/String;III)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
ifnonnull 2
1: ldc "BugreportProgressService"
ldc "Missing android.intent.extra.NAME on start intent"
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
2: StackMap locals:
StackMap stack:
iload 2
iconst_m1
if_icmpne 5
3: ldc "BugreportProgressService"
ldc "Missing android.intent.extra.ID on start intent"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
iload 3
iconst_m1
if_icmpne 8
6: ldc "BugreportProgressService"
ldc "Missing android.intent.extra.PID on start intent"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
7: iconst_0
ireturn
8: StackMap locals:
StackMap stack:
iload 4
ifgt 11
9: ldc "BugreportProgressService"
new java.lang.StringBuilder
dup
ldc "Invalid value for extra android.intent.extra.MAX: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
10: iconst_0
ireturn
11: StackMap locals:
StackMap stack:
new com.android.shell.BugreportProgressService$BugreportInfo
dup
aload 0
getfield com.android.shell.BugreportProgressService.mContext:Landroid/content/Context;
iload 2
iload 3
aload 1
iload 4
invokespecial com.android.shell.BugreportProgressService$BugreportInfo.<init>:(Landroid/content/Context;IILjava/lang/String;I)V
astore 5
start local 5 12: aload 0
getfield com.android.shell.BugreportProgressService.mProcesses:Landroid/util/SparseArray;
iload 2
invokevirtual android.util.SparseArray.indexOfKey:(I)I
iflt 15
13: ldc "BugreportProgressService"
new java.lang.StringBuilder
dup
ldc "ID "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " already watched"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
14: iconst_1
ireturn
15: StackMap locals: com.android.shell.BugreportProgressService$BugreportInfo
StackMap stack:
new com.android.shell.BugreportProgressService$DumpstateListener
dup
aload 0
aload 5
invokespecial com.android.shell.BugreportProgressService$DumpstateListener.<init>:(Lcom/android/shell/BugreportProgressService;Lcom/android/shell/BugreportProgressService$BugreportInfo;)V
astore 6
start local 6 16: aload 0
getfield com.android.shell.BugreportProgressService.mProcesses:Landroid/util/SparseArray;
aload 5
getfield com.android.shell.BugreportProgressService$BugreportInfo.id:I
aload 6
invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
17: aload 6
invokevirtual com.android.shell.BugreportProgressService$DumpstateListener.connect:()Z
ifeq 20
18: aload 0
aload 5
invokevirtual com.android.shell.BugreportProgressService.updateProgress:(Lcom/android/shell/BugreportProgressService$BugreportInfo;)V
19: iconst_1
ireturn
20: StackMap locals: com.android.shell.BugreportProgressService$DumpstateListener
StackMap stack:
ldc "BugreportProgressService"
ldc "not updating progress because it could not connect to dumpstate"
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
21: iconst_0
ireturn
end local 6 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 22 0 this Lcom/android/shell/BugreportProgressService;
0 22 1 name Ljava/lang/String;
0 22 2 id I
0 22 3 pid I
0 22 4 max I
12 22 5 info Lcom/android/shell/BugreportProgressService$BugreportInfo;
16 22 6 listener Lcom/android/shell/BugreportProgressService$DumpstateListener;
MethodParameters:
Name Flags
name
id
pid
max
private void updateProgress(com.android.shell.BugreportProgressService$BugreportInfo);
descriptor: (Lcom/android/shell/BugreportProgressService$BugreportInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tcom.android.internal.R.string cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/shell/BugreportProgressService;
MethodParameters:
Name Flags
info
private void sendForegroundabledNotification(int, android.app.Notification);
descriptor: (ILandroid/app/Notification;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.android.shell.BugreportProgressService.mForegroundId:I
iflt 3
1: aload 0
getfield com.android.shell.BugreportProgressService.mContext:Landroid/content/Context;
invokestatic android.app.NotificationManager.from:(Landroid/content/Context;)Landroid/app/NotificationManager;
iload 1
aload 2
invokevirtual android.app.NotificationManager.notify:(ILandroid/app/Notification;)V
2: goto 6
3: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield com.android.shell.BugreportProgressService.mForegroundId:I
4: ldc "BugreportProgressService"
new java.lang.StringBuilder
dup
ldc "Start running as foreground service on id "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.android.shell.BugreportProgressService.mForegroundId:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
5: aload 0
aload 0
getfield com.android.shell.BugreportProgressService.mForegroundId:I
aload 2
invokevirtual com.android.shell.BugreportProgressService.startForeground:(ILandroid/app/Notification;)V
6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/android/shell/BugreportProgressService;
0 7 1 id I
0 7 2 notification Landroid/app/Notification;
MethodParameters:
Name Flags
id
notification
private static android.app.PendingIntent newCancelIntent(android.content.Context, com.android.shell.BugreportProgressService$BugreportInfo);
descriptor: (Landroid/content/Context;Lcom/android/shell/BugreportProgressService$BugreportInfo;)Landroid/app/PendingIntent;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new android.content.Intent
dup
ldc "android.intent.action.BUGREPORT_CANCEL"
invokespecial android.content.Intent.<init>:(Ljava/lang/String;)V
astore 2
start local 2 1: aload 2
aload 0
ldc Lcom/android/shell/BugreportProgressService;
invokevirtual android.content.Intent.setClass:(Landroid/content/Context;Ljava/lang/Class;)Landroid/content/Intent;
pop
2: aload 2
ldc "android.intent.extra.ID"
aload 1
getfield com.android.shell.BugreportProgressService$BugreportInfo.id:I
invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;I)Landroid/content/Intent;
pop
3: aload 0
aload 1
getfield com.android.shell.BugreportProgressService$BugreportInfo.id:I
aload 2
4: ldc 134217728
5: invokestatic android.app.PendingIntent.getService:(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 context Landroid/content/Context;
0 6 1 info Lcom/android/shell/BugreportProgressService$BugreportInfo;
1 6 2 intent Landroid/content/Intent;
MethodParameters:
Name Flags
context
info
private void stopProgress(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.shell.BugreportProgressService.mProcesses:Landroid/util/SparseArray;
iload 1
invokevirtual android.util.SparseArray.indexOfKey:(I)I
ifge 3
1: ldc "BugreportProgressService"
new java.lang.StringBuilder
dup
ldc "ID not watched: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
2: goto 5
3: StackMap locals:
StackMap stack:
ldc "BugreportProgressService"
new java.lang.StringBuilder
dup
ldc "Removing ID "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
4: aload 0
getfield com.android.shell.BugreportProgressService.mProcesses:Landroid/util/SparseArray;
iload 1
invokevirtual android.util.SparseArray.remove:(I)V
5: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual com.android.shell.BugreportProgressService.stopForegroundWhenDone:(I)V
6: ldc "BugreportProgressService"
new java.lang.StringBuilder
dup
ldc "stopProgress("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "): cancel notification"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
7: aload 0
getfield com.android.shell.BugreportProgressService.mContext:Landroid/content/Context;
invokestatic android.app.NotificationManager.from:(Landroid/content/Context;)Landroid/app/NotificationManager;
iload 1
invokevirtual android.app.NotificationManager.cancel:(I)V
8: aload 0
invokevirtual com.android.shell.BugreportProgressService.stopSelfWhenDone:()V
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/android/shell/BugreportProgressService;
0 10 1 id I
MethodParameters:
Name Flags
id
private void cancel(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tMetricsEvent cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/shell/BugreportProgressService;
MethodParameters:
Name Flags
id
private void launchBugreportInfoDialog(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tMetricsEvent cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/shell/BugreportProgressService;
MethodParameters:
Name Flags
id
private void takeScreenshot(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tMetricsEvent cannot be resolved to a variable\n\tcom.android.internal.R.plurals cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/shell/BugreportProgressService;
MethodParameters:
Name Flags
id
private void takeScreenshot(int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifle 8
1: ldc "BugreportProgressService"
new java.lang.StringBuilder
dup
ldc "Taking screenshot for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " seconds"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
2: aload 0
getfield com.android.shell.BugreportProgressService.mServiceHandler:Lcom/android/shell/BugreportProgressService$ServiceHandler;
invokevirtual com.android.shell.BugreportProgressService$ServiceHandler.obtainMessage:()Landroid/os/Message;
astore 3
start local 3 3: aload 3
iconst_2
putfield android.os.Message.what:I
4: aload 3
iload 1
putfield android.os.Message.arg1:I
5: aload 3
iload 2
iconst_1
isub
putfield android.os.Message.arg2:I
6: aload 0
getfield com.android.shell.BugreportProgressService.mServiceHandler:Lcom/android/shell/BugreportProgressService$ServiceHandler;
aload 3
ldc 1000
invokevirtual com.android.shell.BugreportProgressService$ServiceHandler.sendMessageDelayed:(Landroid/os/Message;J)Z
pop
7: return
end local 3 8: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual com.android.shell.BugreportProgressService.getInfo:(I)Lcom/android/shell/BugreportProgressService$BugreportInfo;
astore 3
start local 3 9: aload 3
ifnonnull 11
10: return
11: StackMap locals: com.android.shell.BugreportProgressService$BugreportInfo
StackMap stack:
new java.io.File
dup
aload 0
getfield com.android.shell.BugreportProgressService.mScreenshotsDir:Ljava/io/File;
aload 3
invokevirtual com.android.shell.BugreportProgressService$BugreportInfo.getPathNextScreenshot:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
12: astore 4
start local 4 13: aload 0
getfield com.android.shell.BugreportProgressService.mScreenshotHandler:Lcom/android/shell/BugreportProgressService$ScreenshotHandler;
iconst_3
iload 1
bipush -2
aload 4
invokestatic android.os.Message.obtain:(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
14: invokevirtual android.os.Message.sendToTarget:()V
15: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/android/shell/BugreportProgressService;
0 16 1 id I
0 16 2 delay I
3 8 3 msg Landroid/os/Message;
9 16 3 info Lcom/android/shell/BugreportProgressService$BugreportInfo;
13 16 4 screenshotPath Ljava/lang/String;
MethodParameters:
Name Flags
id
delay
private void setTakingScreenshot(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: aload 0
iload 1
putfield com.android.shell.BugreportProgressService.mTakingScreenshot:Z
2: iconst_0
istore 3
start local 3 3: goto 12
4: StackMap locals: com.android.shell.BugreportProgressService int
StackMap stack:
aload 0
getfield com.android.shell.BugreportProgressService.mProcesses:Landroid/util/SparseArray;
iload 3
invokevirtual android.util.SparseArray.valueAt:(I)Ljava/lang/Object;
checkcast com.android.shell.BugreportProgressService$DumpstateListener
getfield com.android.shell.BugreportProgressService$DumpstateListener.info:Lcom/android/shell/BugreportProgressService$BugreportInfo;
astore 4
start local 4 5: aload 4
getfield com.android.shell.BugreportProgressService$BugreportInfo.finished:Z
ifeq 10
6: ldc "BugreportProgressService"
new java.lang.StringBuilder
dup
ldc "Not updating progress for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
getfield com.android.shell.BugreportProgressService$BugreportInfo.id:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " while taking screenshot"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: ldc " because share notification was already sent"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
9: goto 11
10: StackMap locals: com.android.shell.BugreportProgressService$BugreportInfo
StackMap stack:
aload 0
aload 4
invokevirtual com.android.shell.BugreportProgressService.updateProgress:(Lcom/android/shell/BugreportProgressService$BugreportInfo;)V
end local 4 11: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
12: iload 3
aload 0
getfield com.android.shell.BugreportProgressService.mProcesses:Landroid/util/SparseArray;
invokevirtual android.util.SparseArray.size:()I
if_icmplt 4
end local 3 13: aload 2
monitorexit
14: goto 17
StackMap locals: com.android.shell.BugreportProgressService int com.android.shell.BugreportProgressService
StackMap stack: java.lang.Throwable
15: aload 2
monitorexit
16: athrow
17: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/android/shell/BugreportProgressService;
0 18 1 flag Z
3 13 3 i I
5 11 4 info Lcom/android/shell/BugreportProgressService$BugreportInfo;
Exception table:
from to target type
1 14 15 any
15 16 15 any
MethodParameters:
Name Flags
flag
private void handleScreenshotRequest(android.os.Message);
descriptor: (Landroid/os/Message;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
getfield android.os.Message.obj:Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 1: aload 0
getfield com.android.shell.BugreportProgressService.mContext:Landroid/content/Context;
aload 2
invokestatic com.android.shell.BugreportProgressService.takeScreenshot:(Landroid/content/Context;Ljava/lang/String;)Z
istore 3
start local 3 2: aload 0
iconst_0
invokevirtual com.android.shell.BugreportProgressService.setTakingScreenshot:(Z)V
3: aload 0
getfield com.android.shell.BugreportProgressService.mServiceHandler:Lcom/android/shell/BugreportProgressService$ServiceHandler;
iconst_4
aload 1
getfield android.os.Message.arg1:I
iload 3
ifeq 4
iconst_1
goto 5
StackMap locals: com.android.shell.BugreportProgressService android.os.Message java.lang.String int
StackMap stack: com.android.shell.BugreportProgressService$ServiceHandler int int
4: iconst_0
5: StackMap locals: com.android.shell.BugreportProgressService android.os.Message java.lang.String int
StackMap stack: com.android.shell.BugreportProgressService$ServiceHandler int int int
aload 2
6: invokestatic android.os.Message.obtain:(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
7: invokevirtual android.os.Message.sendToTarget:()V
8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/android/shell/BugreportProgressService;
0 9 1 requestMsg Landroid/os/Message;
1 9 2 screenshotFile Ljava/lang/String;
2 9 3 taken Z
MethodParameters:
Name Flags
requestMsg
private void handleScreenshotResponse(android.os.Message);
descriptor: (Landroid/os/Message;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/shell/BugreportProgressService;
MethodParameters:
Name Flags
resultMsg
private void deleteScreenshots(com.android.shell.BugreportProgressService$BugreportInfo);
descriptor: (Lcom/android/shell/BugreportProgressService$BugreportInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
getfield com.android.shell.BugreportProgressService$BugreportInfo.screenshotFiles:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: com.android.shell.BugreportProgressService com.android.shell.BugreportProgressService$BugreportInfo top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.io.File
astore 2
start local 2 2: ldc "BugreportProgressService"
new java.lang.StringBuilder
dup
ldc "Deleting screenshot file "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.i:(Ljava/lang/String;Ljava/lang/String;)I
pop
3: aload 2
invokevirtual java.io.File.delete:()Z
pop
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/android/shell/BugreportProgressService;
0 6 1 info Lcom/android/shell/BugreportProgressService$BugreportInfo;
2 4 2 file Ljava/io/File;
MethodParameters:
Name Flags
info
private void stopForegroundWhenDone(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield com.android.shell.BugreportProgressService.mForegroundId:I
if_icmpeq 5
1: ldc "BugreportProgressService"
new java.lang.StringBuilder
dup
ldc "stopForegroundWhenDone("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "): ignoring since foreground id is "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: aload 0
getfield com.android.shell.BugreportProgressService.mForegroundId:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
4: return
5: StackMap locals:
StackMap stack:
ldc "BugreportProgressService"
new java.lang.StringBuilder
dup
ldc "detaching foreground from id "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.android.shell.BugreportProgressService.mForegroundId:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
6: aload 0
iconst_2
invokevirtual com.android.shell.BugreportProgressService.stopForeground:(I)V
7: aload 0
iconst_m1
putfield com.android.shell.BugreportProgressService.mForegroundId:I
8: aload 0
getfield com.android.shell.BugreportProgressService.mProcesses:Landroid/util/SparseArray;
invokevirtual android.util.SparseArray.size:()I
istore 2
start local 2 9: iload 2
ifle 18
10: iconst_0
istore 3
start local 3 11: goto 17
12: StackMap locals: int int
StackMap stack:
aload 0
getfield com.android.shell.BugreportProgressService.mProcesses:Landroid/util/SparseArray;
iload 3
invokevirtual android.util.SparseArray.valueAt:(I)Ljava/lang/Object;
checkcast com.android.shell.BugreportProgressService$DumpstateListener
getfield com.android.shell.BugreportProgressService$DumpstateListener.info:Lcom/android/shell/BugreportProgressService$BugreportInfo;
astore 4
start local 4 13: aload 4
getfield com.android.shell.BugreportProgressService$BugreportInfo.finished:Z
ifne 16
14: aload 0
aload 4
invokevirtual com.android.shell.BugreportProgressService.updateProgress:(Lcom/android/shell/BugreportProgressService$BugreportInfo;)V
15: goto 18
end local 4 16: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
17: iload 3
iload 2
if_icmplt 12
end local 3 18: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/android/shell/BugreportProgressService;
0 19 1 id I
9 19 2 total I
11 18 3 i I
13 16 4 info Lcom/android/shell/BugreportProgressService$BugreportInfo;
MethodParameters:
Name Flags
id
private void stopSelfWhenDone();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.android.shell.BugreportProgressService.mProcesses:Landroid/util/SparseArray;
invokevirtual android.util.SparseArray.size:()I
ifle 2
1: return
2: StackMap locals:
StackMap stack:
ldc "BugreportProgressService"
ldc "No more processes to handle, shutting down"
invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
pop
3: aload 0
invokevirtual com.android.shell.BugreportProgressService.stopSelf:()V
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/shell/BugreportProgressService;
private void onBugreportFinished(int, android.content.Intent);
descriptor: (ILandroid/content/Intent;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ldc "android.intent.extra.BUGREPORT"
invokestatic com.android.shell.BugreportProgressService.getFileExtra:(Landroid/content/Intent;Ljava/lang/String;)Ljava/io/File;
astore 3
start local 3 1: aload 3
ifnonnull 4
2: ldc "BugreportProgressService"
new java.lang.StringBuilder
dup
ldc "Missing android.intent.extra.BUGREPORT on intent "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.wtf:(Ljava/lang/String;Ljava/lang/String;)I
pop
3: return
4: StackMap locals: java.io.File
StackMap stack:
aload 0
getfield com.android.shell.BugreportProgressService.mInfoDialog:Lcom/android/shell/BugreportProgressService$BugreportInfoDialog;
invokevirtual com.android.shell.BugreportProgressService$BugreportInfoDialog.onBugreportFinished:()V
5: aload 0
iload 1
invokevirtual com.android.shell.BugreportProgressService.getInfo:(I)Lcom/android/shell/BugreportProgressService$BugreportInfo;
astore 4
start local 4 6: aload 4
ifnonnull 10
7: ldc "BugreportProgressService"
new java.lang.StringBuilder
dup
ldc "Creating info for untracked ID "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
pop
8: new com.android.shell.BugreportProgressService$BugreportInfo
dup
aload 0
getfield com.android.shell.BugreportProgressService.mContext:Landroid/content/Context;
iload 1
invokespecial com.android.shell.BugreportProgressService$BugreportInfo.<init>:(Landroid/content/Context;I)V
astore 4
9: aload 0
getfield com.android.shell.BugreportProgressService.mProcesses:Landroid/util/SparseArray;
iload 1
new com.android.shell.BugreportProgressService$DumpstateListener
dup
aload 0
aload 4
invokespecial com.android.shell.BugreportProgressService$DumpstateListener.<init>:(Lcom/android/shell/BugreportProgressService;Lcom/android/shell/BugreportProgressService$BugreportInfo;)V
invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
10: StackMap locals: com.android.shell.BugreportProgressService$BugreportInfo
StackMap stack:
aload 4
aload 0
getfield com.android.shell.BugreportProgressService.mScreenshotsDir:Ljava/io/File;
invokevirtual com.android.shell.BugreportProgressService$BugreportInfo.renameScreenshots:(Ljava/io/File;)V
11: aload 4
aload 3
putfield com.android.shell.BugreportProgressService$BugreportInfo.bugreportFile:Ljava/io/File;
12: aload 2
ldc "android.intent.extra.MAX"
iconst_m1
invokevirtual android.content.Intent.getIntExtra:(Ljava/lang/String;I)I
istore 5
start local 5 13: iload 5
iconst_m1
if_icmpeq 16
14: aload 0
ldc "dumpstate_duration"
iload 5
invokestatic com.android.internal.logging.MetricsLogger.histogram:(Landroid/content/Context;Ljava/lang/String;I)V
15: aload 4
iload 5
putfield com.android.shell.BugreportProgressService$BugreportInfo.max:I
16: StackMap locals: int
StackMap stack:
aload 2
ldc "android.intent.extra.SCREENSHOT"
invokestatic com.android.shell.BugreportProgressService.getFileExtra:(Landroid/content/Intent;Ljava/lang/String;)Ljava/io/File;
astore 6
start local 6 17: aload 6
ifnull 19
18: aload 4
aload 6
invokevirtual com.android.shell.BugreportProgressService$BugreportInfo.addScreenshot:(Ljava/io/File;)V
19: StackMap locals: java.io.File
StackMap stack:
aload 2
ldc "android.intent.extra.TITLE"
invokevirtual android.content.Intent.getStringExtra:(Ljava/lang/String;)Ljava/lang/String;
astore 7
start local 7 20: aload 7
invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifne 28
21: aload 4
aload 7
putfield com.android.shell.BugreportProgressService$BugreportInfo.title:Ljava/lang/String;
22: aload 2
ldc "android.intent.extra.DESCRIPTION"
invokevirtual android.content.Intent.getStringExtra:(Ljava/lang/String;)Ljava/lang/String;
astore 8
start local 8 23: aload 8
invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifne 25
24: aload 4
aload 8
putfield com.android.shell.BugreportProgressService$BugreportInfo.shareDescription:Ljava/lang/String;
25: StackMap locals: java.lang.String java.lang.String
StackMap stack:
ldc "BugreportProgressService"
new java.lang.StringBuilder
dup
ldc "Bugreport title is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
getfield com.android.shell.BugreportProgressService$BugreportInfo.title:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ","
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
26: ldc " shareDescription is "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
getfield com.android.shell.BugreportProgressService$BugreportInfo.shareDescription:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
27: invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
end local 8 28: StackMap locals:
StackMap stack:
aload 4
iconst_1
putfield com.android.shell.BugreportProgressService$BugreportInfo.finished:Z
29: aload 0
iload 1
invokevirtual com.android.shell.BugreportProgressService.stopForegroundWhenDone:(I)V
30: aload 0
aload 0
getfield com.android.shell.BugreportProgressService.mContext:Landroid/content/Context;
aload 4
invokevirtual com.android.shell.BugreportProgressService.triggerLocalNotification:(Landroid/content/Context;Lcom/android/shell/BugreportProgressService$BugreportInfo;)V
31: return
end local 7 end local 6 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 32 0 this Lcom/android/shell/BugreportProgressService;
0 32 1 id I
0 32 2 intent Landroid/content/Intent;
1 32 3 bugreportFile Ljava/io/File;
6 32 4 info Lcom/android/shell/BugreportProgressService$BugreportInfo;
13 32 5 max I
17 32 6 screenshot Ljava/io/File;
20 32 7 shareTitle Ljava/lang/String;
23 28 8 shareDescription Ljava/lang/String;
MethodParameters:
Name Flags
id
intent
private void triggerLocalNotification(android.content.Context, com.android.shell.BugreportProgressService$BugreportInfo);
descriptor: (Landroid/content/Context;Lcom/android/shell/BugreportProgressService$BugreportInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tR cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/shell/BugreportProgressService;
MethodParameters:
Name Flags
context final
info final
private static android.content.Intent buildWarningIntent(android.content.Context, android.content.Intent);
descriptor: (Landroid/content/Context;Landroid/content/Intent;)Landroid/content/Intent;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new android.content.Intent
dup
aload 0
ldc Lcom/android/shell/BugreportWarningActivity;
invokespecial android.content.Intent.<init>:(Landroid/content/Context;Ljava/lang/Class;)V
astore 2
start local 2 1: aload 2
ldc "android.intent.extra.INTENT"
aload 1
invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;Landroid/os/Parcelable;)Landroid/content/Intent;
pop
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 context Landroid/content/Context;
0 3 1 sendIntent Landroid/content/Intent;
1 3 2 intent Landroid/content/Intent;
MethodParameters:
Name Flags
context
sendIntent
private static android.content.Intent buildSendIntent(android.content.Context, com.android.shell.BugreportProgressService$BugreportInfo);
descriptor: (Landroid/content/Context;Lcom/android/shell/BugreportProgressService$BugreportInfo;)Landroid/content/Intent;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=10, locals=12, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getfield com.android.shell.BugreportProgressService$BugreportInfo.bugreportFile:Ljava/io/File;
invokestatic com.android.shell.BugreportProgressService.getUri:(Landroid/content/Context;Ljava/io/File;)Landroid/net/Uri;
astore 2
start local 2 1: goto 5
end local 2 StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
2: astore 3
start local 3 3: ldc "BugreportProgressService"
new java.lang.StringBuilder
dup
ldc "Could not get URI for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
getfield com.android.shell.BugreportProgressService$BugreportInfo.bugreportFile:Ljava/io/File;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
invokestatic android.util.Log.wtf:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
4: aconst_null
areturn
end local 3 start local 2 5: StackMap locals: android.net.Uri
StackMap stack:
new android.content.Intent
dup
ldc "android.intent.action.SEND_MULTIPLE"
invokespecial android.content.Intent.<init>:(Ljava/lang/String;)V
astore 3
start local 3 6: aload 3
iconst_1
invokevirtual android.content.Intent.addFlags:(I)Landroid/content/Intent;
pop
7: aload 3
ldc "android.intent.category.DEFAULT"
invokevirtual android.content.Intent.addCategory:(Ljava/lang/String;)Landroid/content/Intent;
pop
8: aload 3
ldc "application/vnd.android.bugreport"
invokevirtual android.content.Intent.setType:(Ljava/lang/String;)Landroid/content/Intent;
pop
9: aload 1
getfield com.android.shell.BugreportProgressService$BugreportInfo.title:Ljava/lang/String;
invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifne 11
10: aload 1
getfield com.android.shell.BugreportProgressService$BugreportInfo.title:Ljava/lang/String;
goto 12
StackMap locals: android.content.Intent
StackMap stack:
11: aload 2
invokevirtual android.net.Uri.getLastPathSegment:()Ljava/lang/String;
12: StackMap locals:
StackMap stack: java.lang.String
astore 4
start local 4 13: aload 3
ldc "android.intent.extra.SUBJECT"
aload 4
invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
pop
14: new java.lang.StringBuilder
dup
ldc "Build info: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
15: ldc "ro.build.description"
invokestatic android.os.SystemProperties.get:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
16: ldc "\nSerial number: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
17: ldc "ro.serialno"
invokestatic android.os.SystemProperties.get:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
18: astore 5
start local 5 19: iconst_0
istore 6
start local 6 20: aload 1
getfield com.android.shell.BugreportProgressService$BugreportInfo.description:Ljava/lang/String;
invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifne 23
21: aload 5
ldc "\nDescription: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
getfield com.android.shell.BugreportProgressService$BugreportInfo.description:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
22: aload 1
getfield com.android.shell.BugreportProgressService$BugreportInfo.description:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
istore 6
23: StackMap locals: java.lang.String java.lang.StringBuilder int
StackMap stack:
aload 3
ldc "android.intent.extra.TEXT"
aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
pop
24: new android.content.ClipData
dup
aconst_null
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "application/vnd.android.bugreport"
aastore
25: new android.content.ClipData$Item
dup
aconst_null
aconst_null
aconst_null
aload 2
invokespecial android.content.ClipData$Item.<init>:(Ljava/lang/CharSequence;Ljava/lang/String;Landroid/content/Intent;Landroid/net/Uri;)V
26: invokespecial android.content.ClipData.<init>:(Ljava/lang/CharSequence;[Ljava/lang/String;Landroid/content/ClipData$Item;)V
astore 7
start local 7 27: ldc "BugreportProgressService"
new java.lang.StringBuilder
dup
ldc "share intent: bureportUri="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
28: iconst_1
anewarray android.net.Uri
dup
iconst_0
aload 2
aastore
invokestatic com.google.android.collect.Lists.newArrayList:([Ljava/lang/Object;)Ljava/util/ArrayList;
astore 8
start local 8 29: aload 1
getfield com.android.shell.BugreportProgressService$BugreportInfo.screenshotFiles:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 35
StackMap locals: android.content.Context com.android.shell.BugreportProgressService$BugreportInfo android.net.Uri android.content.Intent java.lang.String java.lang.StringBuilder int android.content.ClipData java.util.ArrayList top java.util.Iterator
StackMap stack:
30: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.io.File
astore 9
start local 9 31: aload 0
aload 9
invokestatic com.android.shell.BugreportProgressService.getUri:(Landroid/content/Context;Ljava/io/File;)Landroid/net/Uri;
astore 11
start local 11 32: ldc "BugreportProgressService"
new java.lang.StringBuilder
dup
ldc "share intent: screenshotUri="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
33: aload 7
new android.content.ClipData$Item
dup
aconst_null
aconst_null
aconst_null
aload 11
invokespecial android.content.ClipData$Item.<init>:(Ljava/lang/CharSequence;Ljava/lang/String;Landroid/content/Intent;Landroid/net/Uri;)V
invokevirtual android.content.ClipData.addItem:(Landroid/content/ClipData$Item;)V
34: aload 8
aload 11
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 11 end local 9 35: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 30
36: aload 3
aload 7
invokevirtual android.content.Intent.setClipData:(Landroid/content/ClipData;)V
37: aload 3
ldc "android.intent.extra.STREAM"
aload 8
invokevirtual android.content.Intent.putParcelableArrayListExtra:(Ljava/lang/String;Ljava/util/ArrayList;)Landroid/content/Intent;
pop
38: aload 0
39: ldc "sendbug.preferred.domain"
invokestatic android.os.SystemProperties.get:(Ljava/lang/String;)Ljava/lang/String;
40: invokestatic com.android.shell.BugreportProgressService.findSendToAccount:(Landroid/content/Context;Ljava/lang/String;)Landroid/util/Pair;
astore 9
start local 9 41: aload 9
ifnull 43
42: aload 3
ldc "android.intent.extra.EMAIL"
iconst_1
anewarray java.lang.String
dup
iconst_0
aload 9
getfield android.util.Pair.second:Ljava/lang/Object;
checkcast android.accounts.Account
getfield android.accounts.Account.name:Ljava/lang/String;
aastore
invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;[Ljava/lang/String;)Landroid/content/Intent;
pop
43: StackMap locals: android.content.Context com.android.shell.BugreportProgressService$BugreportInfo android.net.Uri android.content.Intent java.lang.String java.lang.StringBuilder int android.content.ClipData java.util.ArrayList android.util.Pair
StackMap stack:
ldc "BugreportProgressService"
new java.lang.StringBuilder
dup
ldc "share intent: EXTRA_SUBJECT="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", EXTRA_TEXT="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.length:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
44: ldc " chars, description="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " chars"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
45: invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
46: aload 3
areturn
end local 9 end local 8 end local 7 end local 6 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 47 0 context Landroid/content/Context;
0 47 1 info Lcom/android/shell/BugreportProgressService$BugreportInfo;
1 2 2 bugreportUri Landroid/net/Uri;
5 47 2 bugreportUri Landroid/net/Uri;
3 5 3 e Ljava/lang/IllegalArgumentException;
6 47 3 intent Landroid/content/Intent;
13 47 4 subject Ljava/lang/String;
19 47 5 messageBody Ljava/lang/StringBuilder;
20 47 6 descriptionLength I
27 47 7 clipData Landroid/content/ClipData;
29 47 8 attachments Ljava/util/ArrayList<Landroid/net/Uri;>;
31 35 9 screenshot Ljava/io/File;
32 35 11 screenshotUri Landroid/net/Uri;
41 47 9 sendToAccount Landroid/util/Pair<Landroid/os/UserHandle;Landroid/accounts/Account;>;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
context
info
private void shareBugreport(int, com.android.shell.BugreportProgressService$BugreportInfo);
descriptor: (ILcom/android/shell/BugreportProgressService$BugreportInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tMetricsEvent cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/shell/BugreportProgressService;
MethodParameters:
Name Flags
id
sharedInfo
static void sendShareIntent(android.content.Context, android.content.Intent);
descriptor: (Landroid/content/Context;Landroid/content/Intent;)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=2
0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tR cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
context
intent
private void sendBugreportNotification(com.android.shell.BugreportProgressService$BugreportInfo, boolean);
descriptor: (Lcom/android/shell/BugreportProgressService$BugreportInfo;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/shell/BugreportProgressService;
MethodParameters:
Name Flags
info
takingScreenshot
private void sendBugreportBeingUpdatedNotification(android.content.Context, int);
descriptor: (Landroid/content/Context;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/shell/BugreportProgressService;
MethodParameters:
Name Flags
context
id
private static android.app.Notification$Builder newBaseNotification(android.content.Context);
descriptor: (Landroid/content/Context;)Landroid/app/Notification$Builder;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tcom.android.internal.R.string cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tcom.android.internal.R.drawable cannot be resolved to a variable\n\tcom.android.internal.R.color cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
context
private void sendZippedBugreportNotification(com.android.shell.BugreportProgressService$BugreportInfo, boolean);
descriptor: (Lcom/android/shell/BugreportProgressService$BugreportInfo;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new com.android.shell.BugreportProgressService$1
dup
aload 0
aload 1
iload 2
invokespecial com.android.shell.BugreportProgressService$1.<init>:(Lcom/android/shell/BugreportProgressService;Lcom/android/shell/BugreportProgressService$BugreportInfo;Z)V
iconst_0
anewarray java.lang.Void
1: invokevirtual com.android.shell.BugreportProgressService$1.execute:([Ljava/lang/Object;)Landroid/os/AsyncTask;
pop
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/android/shell/BugreportProgressService;
0 3 1 info Lcom/android/shell/BugreportProgressService$BugreportInfo;
0 3 2 takingScreenshot Z
MethodParameters:
Name Flags
info final
takingScreenshot final
private static void zipBugreport(com.android.shell.BugreportProgressService$BugreportInfo);
descriptor: (Lcom/android/shell/BugreportProgressService$BugreportInfo;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=9, args_size=1
start local 0 0: aload 0
getfield com.android.shell.BugreportProgressService$BugreportInfo.bugreportFile:Ljava/io/File;
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
astore 1
start local 1 1: aload 1
ldc ".txt"
ldc ".zip"
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
astore 2
start local 2 2: ldc "BugreportProgressService"
new java.lang.StringBuilder
dup
ldc "zipping "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " as "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
pop
3: new java.io.File
dup
aload 2
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 3
start local 3 4: aconst_null
astore 4
aconst_null
astore 5
5: new java.io.FileInputStream
dup
aload 0
getfield com.android.shell.BugreportProgressService$BugreportInfo.bugreportFile:Ljava/io/File;
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
astore 6
start local 6 6: new java.util.zip.ZipOutputStream
dup
7: new java.io.BufferedOutputStream
dup
new java.io.FileOutputStream
dup
aload 3
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;)V
8: invokespecial java.util.zip.ZipOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 7
start local 7 9: aload 7
aload 0
getfield com.android.shell.BugreportProgressService$BugreportInfo.bugreportFile:Ljava/io/File;
invokevirtual java.io.File.getName:()Ljava/lang/String;
aload 6
invokestatic com.android.shell.BugreportProgressService.addEntry:(Ljava/util/zip/ZipOutputStream;Ljava/lang/String;Ljava/io/InputStream;)V
10: aload 0
getfield com.android.shell.BugreportProgressService$BugreportInfo.bugreportFile:Ljava/io/File;
invokevirtual java.io.File.delete:()Z
istore 8
start local 8 11: iload 8
ifeq 14
12: ldc "BugreportProgressService"
new java.lang.StringBuilder
dup
ldc "deleted original bugreport ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
pop
13: goto 15
14: StackMap locals: com.android.shell.BugreportProgressService$BugreportInfo java.lang.String java.lang.String java.io.File java.lang.Throwable java.lang.Throwable java.io.InputStream java.util.zip.ZipOutputStream int
StackMap stack:
ldc "BugreportProgressService"
new java.lang.StringBuilder
dup
ldc "could not delete original bugreport ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
15: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield com.android.shell.BugreportProgressService$BugreportInfo.bugreportFile:Ljava/io/File;
end local 8 16: aload 7
ifnull 19
aload 7
invokevirtual java.util.zip.ZipOutputStream.close:()V
goto 19
StackMap locals: com.android.shell.BugreportProgressService$BugreportInfo java.lang.String java.lang.String java.io.File java.lang.Throwable java.lang.Throwable java.io.InputStream java.util.zip.ZipOutputStream
StackMap stack: java.lang.Throwable
17: astore 4
aload 7
ifnull 18
aload 7
invokevirtual java.util.zip.ZipOutputStream.close:()V
end local 7 StackMap locals:
StackMap stack:
18: aload 4
athrow
StackMap locals:
StackMap stack:
19: aload 6
ifnull 29
aload 6
invokevirtual java.io.InputStream.close:()V
goto 29
StackMap locals:
StackMap stack: java.lang.Throwable
20: astore 5
aload 4
ifnonnull 21
aload 5
astore 4
goto 22
StackMap locals:
StackMap stack:
21: aload 4
aload 5
if_acmpeq 22
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
22: aload 6
ifnull 23
aload 6
invokevirtual java.io.InputStream.close:()V
end local 6 StackMap locals:
StackMap stack:
23: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
24: astore 5
aload 4
ifnonnull 25
aload 5
astore 4
goto 26
StackMap locals:
StackMap stack:
25: aload 4
aload 5
if_acmpeq 26
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
26: aload 4
athrow
StackMap locals: com.android.shell.BugreportProgressService$BugreportInfo java.lang.String java.lang.String java.io.File
StackMap stack: java.io.IOException
27: astore 4
start local 4 28: ldc "BugreportProgressService"
new java.lang.StringBuilder
dup
ldc "exception zipping file "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 4 29: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 info Lcom/android/shell/BugreportProgressService$BugreportInfo;
1 30 1 bugreportPath Ljava/lang/String;
2 30 2 zippedPath Ljava/lang/String;
4 30 3 bugreportZippedFile Ljava/io/File;
6 23 6 is Ljava/io/InputStream;
9 18 7 zos Ljava/util/zip/ZipOutputStream;
11 16 8 deleted Z
28 29 4 e Ljava/io/IOException;
Exception table:
from to target type
9 16 17 any
6 19 20 any
5 24 24 any
4 27 27 Class java.io.IOException
MethodParameters:
Name Flags
info
private void addDetailsToZipFile(com.android.shell.BugreportProgressService$BugreportInfo);
descriptor: (Lcom/android/shell/BugreportProgressService$BugreportInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.shell.BugreportProgressService.mLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
aload 1
invokevirtual com.android.shell.BugreportProgressService.addDetailsToZipFileLocked:(Lcom/android/shell/BugreportProgressService$BugreportInfo;)V
2: aload 2
monitorexit
3: goto 6
StackMap locals: com.android.shell.BugreportProgressService com.android.shell.BugreportProgressService$BugreportInfo java.lang.Object
StackMap stack: java.lang.Throwable
4: aload 2
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/android/shell/BugreportProgressService;
0 7 1 info Lcom/android/shell/BugreportProgressService$BugreportInfo;
Exception table:
from to target type
1 3 4 any
4 5 4 any
MethodParameters:
Name Flags
info
private void addDetailsToZipFileLocked(com.android.shell.BugreportProgressService$BugreportInfo);
descriptor: (Lcom/android/shell/BugreportProgressService$BugreportInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tR cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/shell/BugreportProgressService;
MethodParameters:
Name Flags
info
private static void addEntry(java.util.zip.ZipOutputStream, java.lang.String, java.lang.String);
descriptor: (Ljava/util/zip/ZipOutputStream;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifne 2
1: aload 0
aload 1
new java.io.ByteArrayInputStream
dup
aload 2
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
invokestatic com.android.shell.BugreportProgressService.addEntry:(Ljava/util/zip/ZipOutputStream;Ljava/lang/String;Ljava/io/InputStream;)V
2: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 zos Ljava/util/zip/ZipOutputStream;
0 3 1 entry Ljava/lang/String;
0 3 2 text Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
zos
entry
text
private static void addEntry(java.util.zip.ZipOutputStream, java.lang.String, java.io.InputStream);
descriptor: (Ljava/util/zip/ZipOutputStream;Ljava/lang/String;Ljava/io/InputStream;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokestatic java.lang.System.currentTimeMillis:()J
aload 2
invokestatic com.android.shell.BugreportProgressService.addEntry:(Ljava/util/zip/ZipOutputStream;Ljava/lang/String;JLjava/io/InputStream;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 zos Ljava/util/zip/ZipOutputStream;
0 2 1 entryName Ljava/lang/String;
0 2 2 is Ljava/io/InputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
zos
entryName
is
private static void addEntry(java.util.zip.ZipOutputStream, java.lang.String, long, java.io.InputStream);
descriptor: (Ljava/util/zip/ZipOutputStream;Ljava/lang/String;JLjava/io/InputStream;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=4
0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tStreams cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
zos
entryName
timestamp
is
static android.util.Pair<android.os.UserHandle, android.accounts.Account> findSendToAccount(android.content.Context, java.lang.String);
descriptor: (Landroid/content/Context;Ljava/lang/String;)Landroid/util/Pair;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=13, args_size=2
start local 0 start local 1 0: aload 0
ldc Landroid/os/UserManager;
invokevirtual android.content.Context.getSystemService:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast android.os.UserManager
astore 2
start local 2 1: aload 0
ldc Landroid/accounts/AccountManager;
invokevirtual android.content.Context.getSystemService:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast android.accounts.AccountManager
astore 3
start local 3 2: aload 1
ifnull 4
aload 1
ldc "@"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 4
3: new java.lang.StringBuilder
dup
ldc "@"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
4: StackMap locals: android.os.UserManager android.accounts.AccountManager
StackMap stack:
aconst_null
astore 4
start local 4 5: aload 2
invokevirtual android.os.UserManager.getUserProfiles:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 26
StackMap locals: android.content.Context java.lang.String android.os.UserManager android.accounts.AccountManager android.util.Pair top java.util.Iterator
StackMap stack:
6: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.os.UserHandle
astore 5
start local 5 7: aload 3
aload 5
invokevirtual android.os.UserHandle.getIdentifier:()I
invokevirtual android.accounts.AccountManager.getAccountsAsUser:(I)[Landroid/accounts/Account;
astore 7
start local 7 8: goto 14
end local 7 StackMap locals: android.content.Context java.lang.String android.os.UserManager android.accounts.AccountManager android.util.Pair android.os.UserHandle java.util.Iterator
StackMap stack: java.lang.RuntimeException
9: astore 8
start local 8 10: ldc "BugreportProgressService"
new java.lang.StringBuilder
dup
ldc "Could not get accounts for preferred domain "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: ldc " for user "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 8
12: invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
13: goto 26
end local 8 start local 7 14: StackMap locals: android.accounts.Account[]
StackMap stack:
aload 7
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 25
StackMap locals: android.content.Context java.lang.String android.os.UserManager android.accounts.AccountManager android.util.Pair android.os.UserHandle java.util.Iterator android.accounts.Account[] top int int android.accounts.Account[]
StackMap stack:
15: aload 11
iload 9
aaload
astore 8
start local 8 16: getstatic android.util.Patterns.EMAIL_ADDRESS:Ljava/util/regex/Pattern;
aload 8
getfield android.accounts.Account.name:Ljava/lang/String;
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 24
17: aload 5
aload 8
invokestatic android.util.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Landroid/util/Pair;
astore 12
start local 12 18: aload 1
invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifne 21
19: aload 8
getfield android.accounts.Account.name:Ljava/lang/String;
aload 1
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 22
20: aload 12
areturn
21: StackMap locals: android.content.Context java.lang.String android.os.UserManager android.accounts.AccountManager android.util.Pair android.os.UserHandle java.util.Iterator android.accounts.Account[] android.accounts.Account int int android.accounts.Account[] android.util.Pair
StackMap stack:
aload 12
areturn
22: StackMap locals:
StackMap stack:
aload 4
ifnonnull 24
23: aload 12
astore 4
end local 12 end local 8 24: StackMap locals: android.content.Context java.lang.String android.os.UserManager android.accounts.AccountManager android.util.Pair android.os.UserHandle java.util.Iterator android.accounts.Account[] top int int android.accounts.Account[]
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
25: iload 9
iload 10
if_icmplt 15
end local 7 end local 5 26: StackMap locals: android.content.Context java.lang.String android.os.UserManager android.accounts.AccountManager android.util.Pair top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
27: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 context Landroid/content/Context;
0 28 1 preferredDomain Ljava/lang/String;
1 28 2 um Landroid/os/UserManager;
2 28 3 am Landroid/accounts/AccountManager;
5 28 4 first Landroid/util/Pair<Landroid/os/UserHandle;Landroid/accounts/Account;>;
7 26 5 user Landroid/os/UserHandle;
8 9 7 accounts [Landroid/accounts/Account;
14 26 7 accounts [Landroid/accounts/Account;
10 14 8 e Ljava/lang/RuntimeException;
16 24 8 account Landroid/accounts/Account;
18 24 12 candidate Landroid/util/Pair<Landroid/os/UserHandle;Landroid/accounts/Account;>;
Exception table:
from to target type
7 8 9 Class java.lang.RuntimeException
Signature: (Landroid/content/Context;Ljava/lang/String;)Landroid/util/Pair<Landroid/os/UserHandle;Landroid/accounts/Account;>;
RuntimeInvisibleAnnotations:
com.android.internal.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.android.internal.annotations.VisibleForTesting()
MethodParameters:
Name Flags
context
preferredDomain
static android.net.Uri getUri(android.content.Context, java.io.File);
descriptor: (Landroid/content/Context;Ljava/io/File;)Landroid/net/Uri;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=2
0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tFileProvider cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
context
file
static java.io.File getFileExtra(android.content.Intent, java.lang.String);
descriptor: (Landroid/content/Intent;Ljava/lang/String;)Ljava/io/File;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual android.content.Intent.getStringExtra:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnull 3
2: new java.io.File
dup
aload 2
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
areturn
3: StackMap locals: java.lang.String
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 intent Landroid/content/Intent;
0 4 1 key Ljava/lang/String;
1 4 2 path Ljava/lang/String;
MethodParameters:
Name Flags
intent
key
static java.lang.String dumpIntent(android.content.Intent);
descriptor: (Landroid/content/Intent;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: ldc "NO INTENT"
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.content.Intent.getAction:()Ljava/lang/String;
astore 1
start local 1 3: aload 1
ifnonnull 5
4: ldc "no action"
astore 1
5: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 1
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " extras: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
astore 2
start local 2 6: aload 2
aload 0
ldc "android.intent.extra.ID"
invokestatic com.android.shell.BugreportProgressService.addExtra:(Ljava/lang/StringBuilder;Landroid/content/Intent;Ljava/lang/String;)V
7: aload 2
aload 0
ldc "android.intent.extra.PID"
invokestatic com.android.shell.BugreportProgressService.addExtra:(Ljava/lang/StringBuilder;Landroid/content/Intent;Ljava/lang/String;)V
8: aload 2
aload 0
ldc "android.intent.extra.MAX"
invokestatic com.android.shell.BugreportProgressService.addExtra:(Ljava/lang/StringBuilder;Landroid/content/Intent;Ljava/lang/String;)V
9: aload 2
aload 0
ldc "android.intent.extra.NAME"
invokestatic com.android.shell.BugreportProgressService.addExtra:(Ljava/lang/StringBuilder;Landroid/content/Intent;Ljava/lang/String;)V
10: aload 2
aload 0
ldc "android.intent.extra.DESCRIPTION"
invokestatic com.android.shell.BugreportProgressService.addExtra:(Ljava/lang/StringBuilder;Landroid/content/Intent;Ljava/lang/String;)V
11: aload 2
aload 0
ldc "android.intent.extra.BUGREPORT"
invokestatic com.android.shell.BugreportProgressService.addExtra:(Ljava/lang/StringBuilder;Landroid/content/Intent;Ljava/lang/String;)V
12: aload 2
aload 0
ldc "android.intent.extra.SCREENSHOT"
invokestatic com.android.shell.BugreportProgressService.addExtra:(Ljava/lang/StringBuilder;Landroid/content/Intent;Ljava/lang/String;)V
13: aload 2
aload 0
ldc "android.intent.extra.INFO"
invokestatic com.android.shell.BugreportProgressService.addExtra:(Ljava/lang/StringBuilder;Landroid/content/Intent;Ljava/lang/String;)V
14: aload 2
aload 0
ldc "android.intent.extra.TITLE"
invokestatic com.android.shell.BugreportProgressService.addExtra:(Ljava/lang/StringBuilder;Landroid/content/Intent;Ljava/lang/String;)V
15: aload 0
ldc "android.intent.extra.ORIGINAL_INTENT"
invokevirtual android.content.Intent.hasExtra:(Ljava/lang/String;)Z
ifeq 20
16: aload 2
getstatic com.android.shell.BugreportProgressService.SHORT_EXTRA_ORIGINAL_INTENT:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
17: aload 0
ldc "android.intent.extra.ORIGINAL_INTENT"
invokevirtual android.content.Intent.getParcelableExtra:(Ljava/lang/String;)Landroid/os/Parcelable;
checkcast android.content.Intent
astore 3
start local 3 18: aload 2
aload 3
invokestatic com.android.shell.BugreportProgressService.dumpIntent:(Landroid/content/Intent;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 3 19: goto 21
20: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 2
ldc "no "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic com.android.shell.BugreportProgressService.SHORT_EXTRA_ORIGINAL_INTENT:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
21: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 intent Landroid/content/Intent;
3 22 1 action Ljava/lang/String;
6 22 2 buffer Ljava/lang/StringBuilder;
18 19 3 originalIntent Landroid/content/Intent;
MethodParameters:
Name Flags
intent
private static void addExtra(java.lang.StringBuilder, android.content.Intent, java.lang.String);
descriptor: (Ljava/lang/StringBuilder;Landroid/content/Intent;Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 2
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 3
start local 3 1: aload 1
aload 2
invokevirtual android.content.Intent.hasExtra:(Ljava/lang/String;)Z
ifeq 4
2: aload 0
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 61
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 1
aload 2
invokevirtual android.content.Intent.getExtra:(Ljava/lang/String;)Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
3: goto 5
4: StackMap locals: java.lang.String
StackMap stack:
aload 0
ldc "no "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: StackMap locals:
StackMap stack:
aload 0
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 buffer Ljava/lang/StringBuilder;
0 7 1 intent Landroid/content/Intent;
0 7 2 name Ljava/lang/String;
1 7 3 shortName Ljava/lang/String;
MethodParameters:
Name Flags
buffer
intent
name
private static boolean setSystemProperty(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic android.os.SystemProperties.set:(Ljava/lang/String;Ljava/lang/String;)V
1: goto 5
StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
2: astore 2
start local 2 3: ldc "BugreportProgressService"
new java.lang.StringBuilder
dup
ldc "Could not set property "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
4: iconst_0
ireturn
end local 2 5: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 key Ljava/lang/String;
0 6 1 value Ljava/lang/String;
3 5 2 e Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
key
value
private boolean setBugreportNameProperty(int, java.lang.String);
descriptor: (ILjava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: ldc "BugreportProgressService"
new java.lang.StringBuilder
dup
ldc "Updating bugreport name to "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
1: new java.lang.StringBuilder
dup
ldc "dumpstate."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ".name"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 2: aload 3
aload 2
invokestatic com.android.shell.BugreportProgressService.setSystemProperty:(Ljava/lang/String;Ljava/lang/String;)Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/android/shell/BugreportProgressService;
0 3 1 pid I
0 3 2 name Ljava/lang/String;
2 3 3 key Ljava/lang/String;
MethodParameters:
Name Flags
pid
name
private void updateBugreportInfo(int, java.lang.String, java.lang.String, java.lang.String);
descriptor: (ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=5
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tMetricsEvent cannot be resolved to a variable\n\tMetricsEvent cannot be resolved to a variable\n\tMetricsEvent cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/shell/BugreportProgressService;
MethodParameters:
Name Flags
id
name
title
description
private void collapseNotificationBar();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
new android.content.Intent
dup
ldc "android.intent.action.CLOSE_SYSTEM_DIALOGS"
invokespecial android.content.Intent.<init>:(Ljava/lang/String;)V
invokevirtual com.android.shell.BugreportProgressService.sendBroadcast:(Landroid/content/Intent;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/shell/BugreportProgressService;
private static android.os.Looper newLooper(java.lang.String);
descriptor: (Ljava/lang/String;)Landroid/os/Looper;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: new android.os.HandlerThread
dup
aload 0
bipush 10
invokespecial android.os.HandlerThread.<init>:(Ljava/lang/String;I)V
astore 1
start local 1 1: aload 1
invokevirtual android.os.HandlerThread.start:()V
2: aload 1
invokevirtual android.os.HandlerThread.getLooper:()Landroid/os/Looper;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 name Ljava/lang/String;
1 3 1 thread Landroid/os/HandlerThread;
MethodParameters:
Name Flags
name
private static boolean takeScreenshot(android.content.Context, java.lang.String);
descriptor: (Landroid/content/Context;Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: invokestatic com.android.shell.Screenshooter.takeScreenshot:()Landroid/graphics/Bitmap;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: iconst_0
ireturn
3: StackMap locals: android.graphics.Bitmap
StackMap stack:
aconst_null
astore 3
aconst_null
astore 4
4: new java.io.FileOutputStream
dup
aload 1
invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
astore 5
start local 5 5: aload 2
getstatic android.graphics.Bitmap$CompressFormat.PNG:Landroid/graphics/Bitmap$CompressFormat;
bipush 100
aload 5
invokevirtual android.graphics.Bitmap.compress:(Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z
ifeq 10
6: aload 0
ldc "vibrator"
invokevirtual android.content.Context.getSystemService:(Ljava/lang/String;)Ljava/lang/Object;
checkcast android.os.Vibrator
ldc 150
invokevirtual android.os.Vibrator.vibrate:(J)V
7: aload 5
ifnull 8
aload 5
invokevirtual java.io.FileOutputStream.close:()V
8: StackMap locals: java.lang.Throwable java.lang.Throwable java.io.FileOutputStream
StackMap stack:
aload 2
invokevirtual android.graphics.Bitmap.recycle:()V
9: iconst_1
ireturn
10: StackMap locals:
StackMap stack:
ldc "BugreportProgressService"
new java.lang.StringBuilder
dup
ldc "Failed to save screenshot on "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
11: aload 5
ifnull 24
aload 5
invokevirtual java.io.FileOutputStream.close:()V
goto 24
StackMap locals:
StackMap stack: java.lang.Throwable
12: astore 3
aload 5
ifnull 13
aload 5
invokevirtual java.io.FileOutputStream.close:()V
end local 5 StackMap locals:
StackMap stack:
13: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
14: astore 4
aload 3
ifnonnull 15
aload 4
astore 3
goto 16
StackMap locals:
StackMap stack:
15: aload 3
aload 4
if_acmpeq 16
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
16: aload 3
athrow
StackMap locals: android.content.Context java.lang.String android.graphics.Bitmap
StackMap stack: java.io.IOException
17: astore 3
start local 3 18: ldc "BugreportProgressService"
new java.lang.StringBuilder
dup
ldc "Failed to save screenshot on "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
19: aload 2
invokevirtual android.graphics.Bitmap.recycle:()V
20: iconst_0
ireturn
end local 3 21: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
22: aload 2
invokevirtual android.graphics.Bitmap.recycle:()V
23: aload 6
athrow
24: StackMap locals:
StackMap stack:
aload 2
invokevirtual android.graphics.Bitmap.recycle:()V
25: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 context Landroid/content/Context;
0 26 1 path Ljava/lang/String;
1 26 2 bitmap Landroid/graphics/Bitmap;
5 13 5 fos Ljava/io/FileOutputStream;
18 21 3 e Ljava/io/IOException;
Exception table:
from to target type
5 7 12 any
10 11 12 any
4 8 14 any
10 14 14 any
3 8 17 Class java.io.IOException
10 17 17 Class java.io.IOException
3 8 21 any
10 19 21 any
MethodParameters:
Name Flags
context
path
private static boolean isTv(android.content.Context);
descriptor: (Landroid/content/Context;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.content.Context.getPackageManager:()Landroid/content/pm/PackageManager;
ldc "android.software.leanback"
invokevirtual android.content.pm.PackageManager.hasSystemFeature:(Ljava/lang/String;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Landroid/content/Context;
MethodParameters:
Name Flags
context
static boolean isValid(char);
descriptor: (C)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 97
if_icmplt 1
iload 0
bipush 122
if_icmple 5
StackMap locals:
StackMap stack:
1: iload 0
bipush 65
if_icmplt 2
iload 0
bipush 90
if_icmple 5
StackMap locals:
StackMap stack:
2: iload 0
bipush 48
if_icmplt 3
iload 0
bipush 57
if_icmple 5
3: StackMap locals:
StackMap stack:
iload 0
bipush 95
if_icmpeq 5
iload 0
bipush 45
if_icmpeq 5
4: iconst_0
ireturn
StackMap locals:
StackMap stack:
5: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 c C
RuntimeInvisibleAnnotations:
com.android.internal.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.android.internal.annotations.VisibleForTesting()
MethodParameters:
Name Flags
c
}
SourceFile: "BugreportProgressService.java"
NestMembers:
com.android.shell.BugreportProgressService$1 com.android.shell.BugreportProgressService$BugreportInfo com.android.shell.BugreportProgressService$BugreportInfo$1 com.android.shell.BugreportProgressService$BugreportInfoDialog com.android.shell.BugreportProgressService$BugreportInfoDialog$1 com.android.shell.BugreportProgressService$BugreportInfoDialog$2 com.android.shell.BugreportProgressService$BugreportInfoDialog$3 com.android.shell.BugreportProgressService$DumpstateListener com.android.shell.BugreportProgressService$ScreenshotHandler com.android.shell.BugreportProgressService$ServiceHandler
InnerClasses:
public Builder = android.app.Notification$Builder of android.app.Notification
public Item = android.content.ClipData$Item of android.content.ClipData
public final CompressFormat = android.graphics.Bitmap$CompressFormat of android.graphics.Bitmap
com.android.shell.BugreportProgressService$1
private final BugreportInfo = com.android.shell.BugreportProgressService$BugreportInfo of com.android.shell.BugreportProgressService
private final BugreportInfoDialog = com.android.shell.BugreportProgressService$BugreportInfoDialog of com.android.shell.BugreportProgressService
private final DumpstateListener = com.android.shell.BugreportProgressService$DumpstateListener of com.android.shell.BugreportProgressService
private final ScreenshotHandler = com.android.shell.BugreportProgressService$ScreenshotHandler of com.android.shell.BugreportProgressService
private final ServiceHandler = com.android.shell.BugreportProgressService$ServiceHandler of com.android.shell.BugreportProgressService