public final class com.android.commands.dpm.Dpm extends com.android.internal.os.BaseCommand
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.android.commands.dpm.Dpm
  super_class: com.android.internal.os.BaseCommand
{
  private static final java.lang.String COMMAND_SET_ACTIVE_ADMIN;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "set-active-admin"

  private static final java.lang.String COMMAND_SET_DEVICE_OWNER;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "set-device-owner"

  private static final java.lang.String COMMAND_SET_PROFILE_OWNER;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "set-profile-owner"

  private static final java.lang.String COMMAND_REMOVE_ACTIVE_ADMIN;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "remove-active-admin"

  private static final java.lang.String COMMAND_CLEAR_FREEZE_PERIOD_RECORD;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "clear-freeze-period-record"

  private static final java.lang.String COMMAND_FORCE_SECURITY_LOGS;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "force-security-logs"

  private android.app.admin.IDevicePolicyManager mDevicePolicyManager;
    descriptor: Landroid/app/admin/IDevicePolicyManager;
    flags: (0x0002) ACC_PRIVATE

  private int mUserId;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String mName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private android.content.ComponentName mComponent;
    descriptor: Landroid/content/ComponentName;
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.android.commands.dpm.Dpm this
         0: .line 33
            aload 0 /* this */
            invokespecial com.android.internal.os.BaseCommand.<init>:()V
         1: .line 52
            aload 0 /* this */
            iconst_0
            putfield com.android.commands.dpm.Dpm.mUserId:I
         2: .line 53
            aload 0 /* this */
            ldc ""
            putfield com.android.commands.dpm.Dpm.mName:Ljava/lang/String;
         3: .line 54
            aload 0 /* this */
            aconst_null
            putfield com.android.commands.dpm.Dpm.mComponent:Landroid/content/ComponentName;
         4: .line 33
            return
        end local 0 // com.android.commands.dpm.Dpm this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/android/commands/dpm/Dpm;

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 41
            new com.android.commands.dpm.Dpm
            dup
            invokespecial com.android.commands.dpm.Dpm.<init>:()V
            aload 0 /* args */
            invokevirtual com.android.commands.dpm.Dpm.run:([Ljava/lang/String;)V
         1: .line 42
            return
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  args  [Ljava/lang/String;
    MethodParameters:
      Name  Flags
      args  

  public void onShowUsage(java.io.PrintStream);
    descriptor: (Ljava/io/PrintStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.android.commands.dpm.Dpm this
        start local 1 // java.io.PrintStream out
         0: .line 58
            aload 1 /* out */
         1: .line 59
            ldc "usage: dpm [subcommand] [options]\nusage: dpm set-active-admin [ --user <USER_ID> | current ] <COMPONENT>\nusage: dpm set-device-owner [ --user <USER_ID> | current *EXPERIMENTAL* ] [ --name <NAME> ] <COMPONENT>\nusage: dpm set-profile-owner [ --user <USER_ID> | current ] [ --name <NAME> ] <COMPONENT>\nusage: dpm remove-active-admin [ --user <USER_ID> | current ] [ --name <NAME> ] <COMPONENT>\n\ndpm set-active-admin: Sets the given component as active admin for an existing user.\n\ndpm set-device-owner: Sets the given component as active admin, and its package as device owner.\n\ndpm set-profile-owner: Sets the given component as active admin and profile owner for an existing user.\n\ndpm remove-active-admin: Disables an active admin, the admin must have declared android:testOnly in the application in its manifest. This will also remove device and profile owners.\n\ndpm clear-freeze-period-record: clears framework-maintained record of past freeze periods that the device went through. For use during feature development to prevent triggering restriction on setting freeze periods.\n\ndpm force-security-logs: makes all security logs available to the DPC and triggers DeviceAdminReceiver.onSecurityLogsAvailable() if needed."
         2: .line 58
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 89
            return
        end local 1 // java.io.PrintStream out
        end local 0 // com.android.commands.dpm.Dpm this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/android/commands/dpm/Dpm;
            0    4     1   out  Ljava/io/PrintStream;
    MethodParameters:
      Name  Flags
      out   

  public void onRun();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // com.android.commands.dpm.Dpm this
         0: .line 93
            aload 0 /* this */
         1: .line 94
            ldc "device_policy"
            invokestatic android.os.ServiceManager.getService:(Ljava/lang/String;)Landroid/os/IBinder;
         2: .line 93
            invokestatic android.app.admin.IDevicePolicyManager$Stub.asInterface:(Landroid/os/IBinder;)Landroid/app/admin/IDevicePolicyManager;
            putfield com.android.commands.dpm.Dpm.mDevicePolicyManager:Landroid/app/admin/IDevicePolicyManager;
         3: .line 95
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mDevicePolicyManager:Landroid/app/admin/IDevicePolicyManager;
            ifnonnull 6
         4: .line 96
            aload 0 /* this */
            ldc "Error: Could not access the Device Policy Manager. Is the system running?"
            invokevirtual com.android.commands.dpm.Dpm.showError:(Ljava/lang/String;)V
         5: .line 97
            return
         6: .line 100
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.android.commands.dpm.Dpm.nextArgRequired:()Ljava/lang/String;
            astore 1 /* command */
        start local 1 // java.lang.String command
         7: .line 101
            aload 1 /* command */
            dup
            astore 2
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 6
          -1791908857: 8
           -776610703: 9
           -536624985: 10
            547934547: 11
            639813476: 12
           1325530298: 13
              default: 26
          }
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
         8: aload 2
            ldc "set-device-owner"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 16
            goto 26
      StackMap locals:
      StackMap stack:
         9: aload 2
            ldc "remove-active-admin"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 20
            goto 26
      StackMap locals:
      StackMap stack:
        10: aload 2
            ldc "clear-freeze-period-record"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 22
            goto 26
      StackMap locals:
      StackMap stack:
        11: aload 2
            ldc "set-active-admin"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 14
            goto 26
      StackMap locals:
      StackMap stack:
        12: aload 2
            ldc "set-profile-owner"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 18
            goto 26
      StackMap locals:
      StackMap stack:
        13: aload 2
            ldc "force-security-logs"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 24
            goto 26
        14: .line 103
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.android.commands.dpm.Dpm.runSetActiveAdmin:()V
        15: .line 104
            goto 27
        16: .line 106
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.android.commands.dpm.Dpm.runSetDeviceOwner:()V
        17: .line 107
            goto 27
        18: .line 109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.android.commands.dpm.Dpm.runSetProfileOwner:()V
        19: .line 110
            goto 27
        20: .line 112
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.android.commands.dpm.Dpm.runRemoveActiveAdmin:()V
        21: .line 113
            goto 27
        22: .line 115
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.android.commands.dpm.Dpm.runClearFreezePeriodRecord:()V
        23: .line 116
            goto 27
        24: .line 118
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.android.commands.dpm.Dpm.runForceSecurityLogs:()V
        25: .line 119
            goto 27
        26: .line 121
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unknown command '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* command */
            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;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        27: .line 123
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String command
        end local 0 // com.android.commands.dpm.Dpm this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   28     0     this  Lcom/android/commands/dpm/Dpm;
            7   28     1  command  Ljava/lang/String;
    Exceptions:
      throws java.lang.Exception

  private void runForceSecurityLogs();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.android.commands.dpm.Dpm this
         0: .line 127
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mDevicePolicyManager:Landroid/app/admin/IDevicePolicyManager;
            invokeinterface android.app.admin.IDevicePolicyManager.forceSecurityLogs:()J
            lstore 1 /* toWait */
        start local 1 // long toWait
         1: .line 128
            lload 1 /* toWait */
            lconst_0
            lcmp
            ifne 3
         2: .line 129
            goto 6
         3: .line 131
      StackMap locals: long
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "We have to wait for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 1 /* toWait */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " milliseconds..."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 132
            lload 1 /* toWait */
            invokestatic java.lang.Thread.sleep:(J)V
        end local 1 // long toWait
         5: .line 126
            goto 0
         6: .line 134
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Success"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         7: .line 135
            return
        end local 0 // com.android.commands.dpm.Dpm this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lcom/android/commands/dpm/Dpm;
            1    5     1  toWait  J
    Exceptions:
      throws android.os.RemoteException, java.lang.InterruptedException

  private void parseArgs(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // com.android.commands.dpm.Dpm this
        start local 1 // boolean canHaveName
         0: .line 139
            goto 18
        start local 2 // java.lang.String opt
         1: .line 140
      StackMap locals: java.lang.String
      StackMap stack:
            ldc "--user"
            aload 2 /* opt */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
         2: .line 141
            aload 0 /* this */
            invokevirtual com.android.commands.dpm.Dpm.nextArgRequired:()Ljava/lang/String;
            astore 3 /* arg */
        start local 3 // java.lang.String arg
         3: .line 142
            ldc "current"
            aload 3 /* arg */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 4
            ldc "cur"
            aload 3 /* arg */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 143
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            bipush -2
            putfield com.android.commands.dpm.Dpm.mUserId:I
         5: .line 144
            goto 7
         6: .line 145
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 3 /* arg */
            invokevirtual com.android.commands.dpm.Dpm.parseInt:(Ljava/lang/String;)I
            putfield com.android.commands.dpm.Dpm.mUserId:I
         7: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mUserId:I
            bipush -2
            if_icmpne 18
         8: .line 148
            invokestatic android.app.ActivityManager.getService:()Landroid/app/IActivityManager;
            astore 4 /* activityManager */
        start local 4 // android.app.IActivityManager activityManager
         9: .line 150
            aload 0 /* this */
            aload 4 /* activityManager */
            invokeinterface android.app.IActivityManager.getCurrentUser:()Landroid/content/pm/UserInfo;
            getfield android.content.pm.UserInfo.id:I
            putfield com.android.commands.dpm.Dpm.mUserId:I
        10: .line 151
            goto 18
      StackMap locals: com.android.commands.dpm.Dpm int java.lang.String java.lang.String android.app.IActivityManager
      StackMap stack: android.os.RemoteException
        11: astore 5 /* e */
        start local 5 // android.os.RemoteException e
        12: .line 152
            aload 5 /* e */
            invokevirtual android.os.RemoteException.rethrowAsRuntimeException:()Ljava/lang/RuntimeException;
            pop
        end local 5 // android.os.RemoteException e
        end local 4 // android.app.IActivityManager activityManager
        end local 3 // java.lang.String arg
        13: .line 155
            goto 18
      StackMap locals:
      StackMap stack:
        14: iload 1 /* canHaveName */
            ifeq 17
            ldc "--name"
            aload 2 /* opt */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        15: .line 156
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.android.commands.dpm.Dpm.nextArgRequired:()Ljava/lang/String;
            putfield com.android.commands.dpm.Dpm.mName:Ljava/lang/String;
        16: .line 157
            goto 18
        17: .line 158
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown option: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* opt */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String opt
        18: .line 139
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.android.commands.dpm.Dpm.nextOption:()Ljava/lang/String;
            dup
            astore 2 /* opt */
        start local 2 // java.lang.String opt
        19: ifnonnull 1
        20: .line 161
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.android.commands.dpm.Dpm.nextArgRequired:()Ljava/lang/String;
            invokevirtual com.android.commands.dpm.Dpm.parseComponentName:(Ljava/lang/String;)Landroid/content/ComponentName;
            putfield com.android.commands.dpm.Dpm.mComponent:Landroid/content/ComponentName;
        21: .line 162
            return
        end local 2 // java.lang.String opt
        end local 1 // boolean canHaveName
        end local 0 // com.android.commands.dpm.Dpm this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   22     0             this  Lcom/android/commands/dpm/Dpm;
            0   22     1      canHaveName  Z
            1   18     2              opt  Ljava/lang/String;
           19   22     2              opt  Ljava/lang/String;
            3   13     3              arg  Ljava/lang/String;
            9   13     4  activityManager  Landroid/app/IActivityManager;
           12   13     5                e  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           9    10      11  Class android.os.RemoteException
    MethodParameters:
             Name  Flags
      canHaveName  

  private void runSetActiveAdmin();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.android.commands.dpm.Dpm this
         0: .line 165
            aload 0 /* this */
            iconst_0
            invokevirtual com.android.commands.dpm.Dpm.parseArgs:(Z)V
         1: .line 166
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mDevicePolicyManager:Landroid/app/admin/IDevicePolicyManager;
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mComponent:Landroid/content/ComponentName;
            iconst_1
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mUserId:I
            invokeinterface android.app.admin.IDevicePolicyManager.setActiveAdmin:(Landroid/content/ComponentName;ZI)V
         2: .line 168
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Success: Active admin set to component "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mComponent:Landroid/content/ComponentName;
            invokevirtual android.content.ComponentName.toShortString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 169
            return
        end local 0 // com.android.commands.dpm.Dpm this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/android/commands/dpm/Dpm;
    Exceptions:
      throws android.os.RemoteException

  private void runSetDeviceOwner();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // com.android.commands.dpm.Dpm this
         0: .line 172
            aload 0 /* this */
            iconst_1
            invokevirtual com.android.commands.dpm.Dpm.parseArgs:(Z)V
         1: .line 173
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mDevicePolicyManager:Landroid/app/admin/IDevicePolicyManager;
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mComponent:Landroid/content/ComponentName;
            iconst_1
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mUserId:I
            invokeinterface android.app.admin.IDevicePolicyManager.setActiveAdmin:(Landroid/content/ComponentName;ZI)V
         2: .line 176
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mDevicePolicyManager:Landroid/app/admin/IDevicePolicyManager;
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mComponent:Landroid/content/ComponentName;
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mName:Ljava/lang/String;
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mUserId:I
            invokeinterface android.app.admin.IDevicePolicyManager.setDeviceOwner:(Landroid/content/ComponentName;Ljava/lang/String;I)Z
            ifne 9
         3: .line 177
            new java.lang.RuntimeException
            dup
         4: .line 178
            new java.lang.StringBuilder
            dup
            ldc "Can't set package "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mComponent:Landroid/content/ComponentName;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " as device owner."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 177
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 180
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         7: .line 182
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mDevicePolicyManager:Landroid/app/admin/IDevicePolicyManager;
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mComponent:Landroid/content/ComponentName;
            iconst_0
            invokeinterface android.app.admin.IDevicePolicyManager.removeActiveAdmin:(Landroid/content/ComponentName;I)V
         8: .line 183
            aload 1 /* e */
            athrow
        end local 1 // java.lang.Exception e
         9: .line 186
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mDevicePolicyManager:Landroid/app/admin/IDevicePolicyManager;
        10: .line 187
            iconst_3
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mUserId:I
        11: .line 186
            invokeinterface android.app.admin.IDevicePolicyManager.setUserProvisioningState:(II)V
        12: .line 189
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Success: Device owner set to package "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mComponent:Landroid/content/ComponentName;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        13: .line 190
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Active admin set to component "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mComponent:Landroid/content/ComponentName;
            invokevirtual android.content.ComponentName.toShortString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        14: .line 191
            return
        end local 0 // com.android.commands.dpm.Dpm this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lcom/android/commands/dpm/Dpm;
            7    9     1     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2     6       6  Class java.lang.Exception
    Exceptions:
      throws android.os.RemoteException

  private void runRemoveActiveAdmin();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.android.commands.dpm.Dpm this
         0: .line 194
            aload 0 /* this */
            iconst_0
            invokevirtual com.android.commands.dpm.Dpm.parseArgs:(Z)V
         1: .line 195
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mDevicePolicyManager:Landroid/app/admin/IDevicePolicyManager;
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mComponent:Landroid/content/ComponentName;
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mUserId:I
            invokeinterface android.app.admin.IDevicePolicyManager.forceRemoveActiveAdmin:(Landroid/content/ComponentName;I)V
         2: .line 196
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Success: Admin removed "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mComponent:Landroid/content/ComponentName;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 197
            return
        end local 0 // com.android.commands.dpm.Dpm this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/android/commands/dpm/Dpm;
    Exceptions:
      throws android.os.RemoteException

  private void runSetProfileOwner();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // com.android.commands.dpm.Dpm this
         0: .line 200
            aload 0 /* this */
            iconst_1
            invokevirtual com.android.commands.dpm.Dpm.parseArgs:(Z)V
         1: .line 201
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mDevicePolicyManager:Landroid/app/admin/IDevicePolicyManager;
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mComponent:Landroid/content/ComponentName;
            iconst_1
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mUserId:I
            invokeinterface android.app.admin.IDevicePolicyManager.setActiveAdmin:(Landroid/content/ComponentName;ZI)V
         2: .line 204
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mDevicePolicyManager:Landroid/app/admin/IDevicePolicyManager;
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mComponent:Landroid/content/ComponentName;
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mName:Ljava/lang/String;
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mUserId:I
            invokeinterface android.app.admin.IDevicePolicyManager.setProfileOwner:(Landroid/content/ComponentName;Ljava/lang/String;I)Z
            ifne 9
         3: .line 205
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Can't set component "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mComponent:Landroid/content/ComponentName;
            invokevirtual android.content.ComponentName.toShortString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 206
            ldc " as profile owner for user "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mUserId:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 205
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 208
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         7: .line 210
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mDevicePolicyManager:Landroid/app/admin/IDevicePolicyManager;
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mComponent:Landroid/content/ComponentName;
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mUserId:I
            invokeinterface android.app.admin.IDevicePolicyManager.removeActiveAdmin:(Landroid/content/ComponentName;I)V
         8: .line 211
            aload 1 /* e */
            athrow
        end local 1 // java.lang.Exception e
         9: .line 214
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mDevicePolicyManager:Landroid/app/admin/IDevicePolicyManager;
        10: .line 215
            iconst_3
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mUserId:I
        11: .line 214
            invokeinterface android.app.admin.IDevicePolicyManager.setUserProvisioningState:(II)V
        12: .line 217
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Success: Active admin and profile owner set to "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        13: .line 218
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mComponent:Landroid/content/ComponentName;
            invokevirtual android.content.ComponentName.toShortString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " for user "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mUserId:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 217
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        15: .line 219
            return
        end local 0 // com.android.commands.dpm.Dpm this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lcom/android/commands/dpm/Dpm;
            7    9     1     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2     6       6  Class java.lang.Exception
    Exceptions:
      throws android.os.RemoteException

  private void runClearFreezePeriodRecord();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.android.commands.dpm.Dpm this
         0: .line 222
            aload 0 /* this */
            getfield com.android.commands.dpm.Dpm.mDevicePolicyManager:Landroid/app/admin/IDevicePolicyManager;
            invokeinterface android.app.admin.IDevicePolicyManager.clearSystemUpdatePolicyFreezePeriodRecord:()V
         1: .line 223
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Success"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 224
            return
        end local 0 // com.android.commands.dpm.Dpm this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/android/commands/dpm/Dpm;
    Exceptions:
      throws android.os.RemoteException

  private android.content.ComponentName parseComponentName(java.lang.String);
    descriptor: (Ljava/lang/String;)Landroid/content/ComponentName;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.android.commands.dpm.Dpm this
        start local 1 // java.lang.String component
         0: .line 227
            aload 1 /* component */
            invokestatic android.content.ComponentName.unflattenFromString:(Ljava/lang/String;)Landroid/content/ComponentName;
            astore 2 /* cn */
        start local 2 // android.content.ComponentName cn
         1: .line 228
            aload 2 /* cn */
            ifnonnull 3
         2: .line 229
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid component "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* component */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 231
      StackMap locals: android.content.ComponentName
      StackMap stack:
            aload 2 /* cn */
            areturn
        end local 2 // android.content.ComponentName cn
        end local 1 // java.lang.String component
        end local 0 // com.android.commands.dpm.Dpm this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lcom/android/commands/dpm/Dpm;
            0    4     1  component  Ljava/lang/String;
            1    4     2         cn  Landroid/content/ComponentName;
    MethodParameters:
           Name  Flags
      component  

  private int parseInt(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.android.commands.dpm.Dpm this
        start local 1 // java.lang.String argument
         0: .line 236
            aload 1 /* argument */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
         1: ireturn
         2: .line 237
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            astore 2 /* e */
        start local 2 // java.lang.NumberFormatException e
         3: .line 238
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid integer argument '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* argument */
            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;
            aload 2 /* e */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.NumberFormatException e
        end local 1 // java.lang.String argument
        end local 0 // com.android.commands.dpm.Dpm this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/android/commands/dpm/Dpm;
            0    4     1  argument  Ljava/lang/String;
            3    4     2         e  Ljava/lang/NumberFormatException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.NumberFormatException
    MethodParameters:
          Name  Flags
      argument  
}
SourceFile: "Dpm.java"
InnerClasses:
  public abstract Stub = android.app.admin.IDevicePolicyManager$Stub of android.app.admin.IDevicePolicyManager