public class android.preference.SeekBarVolumizer implements android.widget.SeekBar$OnSeekBarChangeListener, android.os.Handler$Callback
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.preference.SeekBarVolumizer
  super_class: java.lang.Object
{
  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "SeekBarVolumizer"

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

  private final android.preference.SeekBarVolumizer$H mUiHandler;
    descriptor: Landroid/preference/SeekBarVolumizer$H;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.preference.SeekBarVolumizer$Callback mCallback;
    descriptor: Landroid/preference/SeekBarVolumizer$Callback;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.net.Uri mDefaultUri;
    descriptor: Landroid/net/Uri;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.media.AudioManager mAudioManager;
    descriptor: Landroid/media/AudioManager;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.app.NotificationManager mNotificationManager;
    descriptor: Landroid/app/NotificationManager;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int mStreamType;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int mMaxStreamVolume;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private boolean mAffectedByRingerMode;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean mNotificationOrRing;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final android.preference.SeekBarVolumizer$Receiver mReceiver;
    descriptor: Landroid/preference/SeekBarVolumizer$Receiver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private android.os.Handler mHandler;
    descriptor: Landroid/os/Handler;
    flags: (0x0002) ACC_PRIVATE

  private android.preference.SeekBarVolumizer$Observer mVolumeObserver;
    descriptor: Landroid/preference/SeekBarVolumizer$Observer;
    flags: (0x0002) ACC_PRIVATE

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

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

  private android.media.Ringtone mRingtone;
    descriptor: Landroid/media/Ringtone;
    flags: (0x0002) ACC_PRIVATE
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.GuardedBy(value = "this")

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

  private boolean mMuted;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private android.widget.SeekBar mSeekBar;
    descriptor: Landroid/widget/SeekBar;
    flags: (0x0002) ACC_PRIVATE

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

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

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

  private static final int MSG_SET_STREAM_VOLUME;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int MSG_START_SAMPLE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int MSG_STOP_SAMPLE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int MSG_INIT_SAMPLE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private static final int CHECK_RINGTONE_PLAYBACK_DELAY_MS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1000

  private android.app.NotificationManager$Policy mNotificationPolicy;
    descriptor: Landroid/app/NotificationManager$Policy;
    flags: (0x0002) ACC_PRIVATE

  private boolean mAllowAlarms;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean mAllowMedia;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean mAllowRinger;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public void <init>(android.content.Context, int, android.net.Uri, android.preference.SeekBarVolumizer$Callback);
    descriptor: (Landroid/content/Context;ILandroid/net/Uri;Landroid/preference/SeekBarVolumizer$Callback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // android.preference.SeekBarVolumizer this
        start local 1 // android.content.Context context
        start local 2 // int streamType
        start local 3 // android.net.Uri defaultUri
        start local 4 // android.preference.SeekBarVolumizer$Callback callback
         0: .line 96
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 58
            aload 0 /* this */
            new android.preference.SeekBarVolumizer$H
            dup
            aload 0 /* this */
            invokespecial android.preference.SeekBarVolumizer$H.<init>:(Landroid/preference/SeekBarVolumizer;)V
            putfield android.preference.SeekBarVolumizer.mUiHandler:Landroid/preference/SeekBarVolumizer$H;
         2: .line 67
            aload 0 /* this */
            new android.preference.SeekBarVolumizer$Receiver
            dup
            aload 0 /* this */
            invokespecial android.preference.SeekBarVolumizer$Receiver.<init>:(Landroid/preference/SeekBarVolumizer;)V
            putfield android.preference.SeekBarVolumizer.mReceiver:Landroid/preference/SeekBarVolumizer$Receiver;
         3: .line 78
            aload 0 /* this */
            iconst_m1
            putfield android.preference.SeekBarVolumizer.mLastProgress:I
         4: .line 81
            aload 0 /* this */
            iconst_m1
            putfield android.preference.SeekBarVolumizer.mVolumeBeforeMute:I
         5: .line 97
            aload 0 /* this */
            aload 1 /* context */
            putfield android.preference.SeekBarVolumizer.mContext:Landroid/content/Context;
         6: .line 98
            aload 0 /* this */
            aload 1 /* context */
            ldc Landroid/media/AudioManager;
            invokevirtual android.content.Context.getSystemService:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast android.media.AudioManager
            putfield android.preference.SeekBarVolumizer.mAudioManager:Landroid/media/AudioManager;
         7: .line 99
            aload 0 /* this */
            aload 1 /* context */
            ldc Landroid/app/NotificationManager;
            invokevirtual android.content.Context.getSystemService:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast android.app.NotificationManager
            putfield android.preference.SeekBarVolumizer.mNotificationManager:Landroid/app/NotificationManager;
         8: .line 100
            aload 0 /* this */
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mNotificationManager:Landroid/app/NotificationManager;
            invokevirtual android.app.NotificationManager.getNotificationPolicy:()Landroid/app/NotificationManager$Policy;
            putfield android.preference.SeekBarVolumizer.mNotificationPolicy:Landroid/app/NotificationManager$Policy;
         9: .line 101
            aload 0 /* this */
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mNotificationPolicy:Landroid/app/NotificationManager$Policy;
            getfield android.app.NotificationManager$Policy.priorityCategories:I
            bipush 32
            iand
            ifeq 10
            iconst_1
            goto 11
      StackMap locals: android.preference.SeekBarVolumizer android.content.Context int android.net.Uri android.preference.SeekBarVolumizer$Callback
      StackMap stack: android.preference.SeekBarVolumizer
        10: iconst_0
      StackMap locals: android.preference.SeekBarVolumizer android.content.Context int android.net.Uri android.preference.SeekBarVolumizer$Callback
      StackMap stack: android.preference.SeekBarVolumizer int
        11: putfield android.preference.SeekBarVolumizer.mAllowAlarms:Z
        12: .line 103
            aload 0 /* this */
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mNotificationPolicy:Landroid/app/NotificationManager$Policy;
            getfield android.app.NotificationManager$Policy.priorityCategories:I
            bipush 64
            iand
            ifeq 13
            iconst_1
            goto 14
      StackMap locals:
      StackMap stack: android.preference.SeekBarVolumizer
        13: iconst_0
      StackMap locals: android.preference.SeekBarVolumizer android.content.Context int android.net.Uri android.preference.SeekBarVolumizer$Callback
      StackMap stack: android.preference.SeekBarVolumizer int
        14: putfield android.preference.SeekBarVolumizer.mAllowMedia:Z
        15: .line 105
            aload 0 /* this */
        16: .line 106
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mNotificationPolicy:Landroid/app/NotificationManager$Policy;
        17: .line 105
            invokestatic android.service.notification.ZenModeConfig.areAllPriorityOnlyNotificationZenSoundsMuted:(Landroid/app/NotificationManager$Policy;)Z
        18: .line 106
            ifeq 20
        19: .line 105
            iconst_0
            goto 21
      StackMap locals:
      StackMap stack: android.preference.SeekBarVolumizer
        20: iconst_1
      StackMap locals: android.preference.SeekBarVolumizer android.content.Context int android.net.Uri android.preference.SeekBarVolumizer$Callback
      StackMap stack: android.preference.SeekBarVolumizer int
        21: putfield android.preference.SeekBarVolumizer.mAllowRinger:Z
        22: .line 107
            aload 0 /* this */
            iload 2 /* streamType */
            putfield android.preference.SeekBarVolumizer.mStreamType:I
        23: .line 108
            aload 0 /* this */
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mAudioManager:Landroid/media/AudioManager;
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mStreamType:I
            invokevirtual android.media.AudioManager.isStreamAffectedByRingerMode:(I)Z
            putfield android.preference.SeekBarVolumizer.mAffectedByRingerMode:Z
        24: .line 109
            aload 0 /* this */
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mStreamType:I
            invokestatic android.preference.SeekBarVolumizer.isNotificationOrRing:(I)Z
            putfield android.preference.SeekBarVolumizer.mNotificationOrRing:Z
        25: .line 110
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mNotificationOrRing:Z
            ifeq 27
        26: .line 111
            aload 0 /* this */
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mAudioManager:Landroid/media/AudioManager;
            invokevirtual android.media.AudioManager.getRingerModeInternal:()I
            putfield android.preference.SeekBarVolumizer.mRingerMode:I
        27: .line 113
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mNotificationManager:Landroid/app/NotificationManager;
            invokevirtual android.app.NotificationManager.getZenMode:()I
            putfield android.preference.SeekBarVolumizer.mZenMode:I
        28: .line 114
            aload 0 /* this */
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mAudioManager:Landroid/media/AudioManager;
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mStreamType:I
            invokevirtual android.media.AudioManager.getStreamMaxVolume:(I)I
            putfield android.preference.SeekBarVolumizer.mMaxStreamVolume:I
        29: .line 115
            aload 0 /* this */
            aload 4 /* callback */
            putfield android.preference.SeekBarVolumizer.mCallback:Landroid/preference/SeekBarVolumizer$Callback;
        30: .line 116
            aload 0 /* this */
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mAudioManager:Landroid/media/AudioManager;
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mStreamType:I
            invokevirtual android.media.AudioManager.getStreamVolume:(I)I
            putfield android.preference.SeekBarVolumizer.mOriginalStreamVolume:I
        31: .line 117
            aload 0 /* this */
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mAudioManager:Landroid/media/AudioManager;
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mStreamType:I
            invokevirtual android.media.AudioManager.getLastAudibleStreamVolume:(I)I
            putfield android.preference.SeekBarVolumizer.mLastAudibleStreamVolume:I
        32: .line 118
            aload 0 /* this */
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mAudioManager:Landroid/media/AudioManager;
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mStreamType:I
            invokevirtual android.media.AudioManager.isStreamMute:(I)Z
            putfield android.preference.SeekBarVolumizer.mMuted:Z
        33: .line 119
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mCallback:Landroid/preference/SeekBarVolumizer$Callback;
            ifnull 35
        34: .line 120
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mCallback:Landroid/preference/SeekBarVolumizer$Callback;
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mMuted:Z
            aload 0 /* this */
            invokevirtual android.preference.SeekBarVolumizer.isZenMuted:()Z
            invokeinterface android.preference.SeekBarVolumizer$Callback.onMuted:(ZZ)V
        35: .line 122
      StackMap locals:
      StackMap stack:
            aload 3 /* defaultUri */
            ifnonnull 43
        36: .line 123
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mStreamType:I
            iconst_2
            if_icmpne 39
        37: .line 124
            getstatic android.provider.Settings$System.DEFAULT_RINGTONE_URI:Landroid/net/Uri;
            astore 3 /* defaultUri */
        38: .line 125
            goto 43
      StackMap locals:
      StackMap stack:
        39: aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mStreamType:I
            iconst_5
            if_icmpne 42
        40: .line 126
            getstatic android.provider.Settings$System.DEFAULT_NOTIFICATION_URI:Landroid/net/Uri;
            astore 3 /* defaultUri */
        41: .line 127
            goto 43
        42: .line 128
      StackMap locals:
      StackMap stack:
            getstatic android.provider.Settings$System.DEFAULT_ALARM_ALERT_URI:Landroid/net/Uri;
            astore 3 /* defaultUri */
        43: .line 131
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* defaultUri */
            putfield android.preference.SeekBarVolumizer.mDefaultUri:Landroid/net/Uri;
        44: .line 132
            return
        end local 4 // android.preference.SeekBarVolumizer$Callback callback
        end local 3 // android.net.Uri defaultUri
        end local 2 // int streamType
        end local 1 // android.content.Context context
        end local 0 // android.preference.SeekBarVolumizer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   45     0        this  Landroid/preference/SeekBarVolumizer;
            0   45     1     context  Landroid/content/Context;
            0   45     2  streamType  I
            0   45     3  defaultUri  Landroid/net/Uri;
            0   45     4    callback  Landroid/preference/SeekBarVolumizer$Callback;
    MethodParameters:
            Name  Flags
      context     
      streamType  
      defaultUri  
      callback    

  private static boolean isNotificationOrRing(int);
    descriptor: (I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int stream
         0: .line 135
            iload 0 /* stream */
            iconst_2
            if_icmpeq 1
            iload 0 /* stream */
            iconst_5
            if_icmpeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // int stream
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  stream  I
    MethodParameters:
        Name  Flags
      stream  

  private static boolean isAlarmsStream(int);
    descriptor: (I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int stream
         0: .line 139
            iload 0 /* stream */
            iconst_4
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int stream
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  stream  I
    MethodParameters:
        Name  Flags
      stream  

  private static boolean isMediaStream(int);
    descriptor: (I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int stream
         0: .line 143
            iload 0 /* stream */
            iconst_3
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int stream
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  stream  I
    MethodParameters:
        Name  Flags
      stream  

  public void setSeekBar(android.widget.SeekBar);
    descriptor: (Landroid/widget/SeekBar;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.preference.SeekBarVolumizer this
        start local 1 // android.widget.SeekBar seekBar
         0: .line 147
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mSeekBar:Landroid/widget/SeekBar;
            ifnull 2
         1: .line 148
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mSeekBar:Landroid/widget/SeekBar;
            aconst_null
            invokevirtual android.widget.SeekBar.setOnSeekBarChangeListener:(Landroid/widget/SeekBar$OnSeekBarChangeListener;)V
         2: .line 150
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* seekBar */
            putfield android.preference.SeekBarVolumizer.mSeekBar:Landroid/widget/SeekBar;
         3: .line 151
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mSeekBar:Landroid/widget/SeekBar;
            aconst_null
            invokevirtual android.widget.SeekBar.setOnSeekBarChangeListener:(Landroid/widget/SeekBar$OnSeekBarChangeListener;)V
         4: .line 152
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mSeekBar:Landroid/widget/SeekBar;
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mMaxStreamVolume:I
            invokevirtual android.widget.SeekBar.setMax:(I)V
         5: .line 153
            aload 0 /* this */
            invokevirtual android.preference.SeekBarVolumizer.updateSeekBar:()V
         6: .line 154
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mSeekBar:Landroid/widget/SeekBar;
            aload 0 /* this */
            invokevirtual android.widget.SeekBar.setOnSeekBarChangeListener:(Landroid/widget/SeekBar$OnSeekBarChangeListener;)V
         7: .line 155
            return
        end local 1 // android.widget.SeekBar seekBar
        end local 0 // android.preference.SeekBarVolumizer this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Landroid/preference/SeekBarVolumizer;
            0    8     1  seekBar  Landroid/widget/SeekBar;
    MethodParameters:
         Name  Flags
      seekBar  

  private boolean isZenMuted();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.preference.SeekBarVolumizer this
         0: .line 158
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mNotificationOrRing:Z
            ifeq 1
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mZenMode:I
            iconst_3
            if_icmpeq 7
         1: .line 159
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mZenMode:I
            iconst_2
            if_icmpeq 7
         2: .line 160
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mZenMode:I
            iconst_1
            if_icmpne 6
         3: .line 161
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mAllowAlarms:Z
            ifne 4
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mStreamType:I
            invokestatic android.preference.SeekBarVolumizer.isAlarmsStream:(I)Z
            ifne 7
         4: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mAllowMedia:Z
            ifne 5
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mStreamType:I
            invokestatic android.preference.SeekBarVolumizer.isMediaStream:(I)Z
            ifne 7
         5: .line 163
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mAllowRinger:Z
            ifne 6
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mStreamType:I
            invokestatic android.preference.SeekBarVolumizer.isNotificationOrRing:(I)Z
            ifne 7
         6: .line 158
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         7: iconst_1
            ireturn
        end local 0 // android.preference.SeekBarVolumizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Landroid/preference/SeekBarVolumizer;

  protected void updateSeekBar();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // android.preference.SeekBarVolumizer this
         0: .line 167
            aload 0 /* this */
            invokevirtual android.preference.SeekBarVolumizer.isZenMuted:()Z
            istore 1 /* zenMuted */
        start local 1 // boolean zenMuted
         1: .line 168
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mSeekBar:Landroid/widget/SeekBar;
            iload 1 /* zenMuted */
            ifeq 2
            iconst_0
            goto 3
      StackMap locals: android.preference.SeekBarVolumizer int
      StackMap stack: android.widget.SeekBar
         2: iconst_1
      StackMap locals: android.preference.SeekBarVolumizer int
      StackMap stack: android.widget.SeekBar int
         3: invokevirtual android.widget.SeekBar.setEnabled:(Z)V
         4: .line 169
            iload 1 /* zenMuted */
            ifeq 7
         5: .line 170
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mSeekBar:Landroid/widget/SeekBar;
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mLastAudibleStreamVolume:I
            iconst_1
            invokevirtual android.widget.SeekBar.setProgress:(IZ)V
         6: .line 171
            goto 16
      StackMap locals:
      StackMap stack:
         7: aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mNotificationOrRing:Z
            ifeq 10
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mRingerMode:I
            iconst_1
            if_icmpne 10
         8: .line 172
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mSeekBar:Landroid/widget/SeekBar;
            iconst_0
            iconst_1
            invokevirtual android.widget.SeekBar.setProgress:(IZ)V
         9: .line 173
            goto 16
      StackMap locals:
      StackMap stack:
        10: aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mMuted:Z
            ifeq 13
        11: .line 174
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mSeekBar:Landroid/widget/SeekBar;
            iconst_0
            iconst_1
            invokevirtual android.widget.SeekBar.setProgress:(IZ)V
        12: .line 175
            goto 16
        13: .line 176
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mSeekBar:Landroid/widget/SeekBar;
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mLastProgress:I
            iconst_m1
            if_icmple 14
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mLastProgress:I
            goto 15
      StackMap locals:
      StackMap stack: android.widget.SeekBar
        14: aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mOriginalStreamVolume:I
      StackMap locals: android.preference.SeekBarVolumizer int
      StackMap stack: android.widget.SeekBar int
        15: iconst_1
            invokevirtual android.widget.SeekBar.setProgress:(IZ)V
        16: .line 178
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean zenMuted
        end local 0 // android.preference.SeekBarVolumizer this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0      this  Landroid/preference/SeekBarVolumizer;
            1   17     1  zenMuted  Z

  public boolean handleMessage(android.os.Message);
    descriptor: (Landroid/os/Message;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.preference.SeekBarVolumizer this
        start local 1 // android.os.Message msg
         0: .line 182
            aload 1 /* msg */
            getfield android.os.Message.what:I
            tableswitch { // 0 - 3
                    0: 1
                    1: 10
                    2: 12
                    3: 14
              default: 16
          }
         1: .line 184
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mMuted:Z
            ifeq 4
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mLastProgress:I
            ifle 4
         2: .line 185
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mAudioManager:Landroid/media/AudioManager;
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mStreamType:I
            bipush 100
            iconst_0
            invokevirtual android.media.AudioManager.adjustStreamVolume:(III)V
         3: .line 186
            goto 6
      StackMap locals:
      StackMap stack:
         4: aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mMuted:Z
            ifne 6
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mLastProgress:I
            ifne 6
         5: .line 187
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mAudioManager:Landroid/media/AudioManager;
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mStreamType:I
            bipush -100
            iconst_0
            invokevirtual android.media.AudioManager.adjustStreamVolume:(III)V
         6: .line 189
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mAudioManager:Landroid/media/AudioManager;
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mStreamType:I
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mLastProgress:I
         7: .line 190
            sipush 1024
         8: .line 189
            invokevirtual android.media.AudioManager.setStreamVolume:(III)V
         9: .line 191
            goto 17
        10: .line 193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.preference.SeekBarVolumizer.onStartSample:()V
        11: .line 194
            goto 17
        12: .line 196
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.preference.SeekBarVolumizer.onStopSample:()V
        13: .line 197
            goto 17
        14: .line 199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.preference.SeekBarVolumizer.onInitSample:()V
        15: .line 200
            goto 17
        16: .line 202
      StackMap locals:
      StackMap stack:
            ldc "SeekBarVolumizer"
            new java.lang.StringBuilder
            dup
            ldc "invalid SeekBarVolumizer message: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* msg */
            getfield android.os.Message.what:I
            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
        17: .line 204
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // android.os.Message msg
        end local 0 // android.preference.SeekBarVolumizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Landroid/preference/SeekBarVolumizer;
            0   18     1   msg  Landroid/os/Message;
    MethodParameters:
      Name  Flags
      msg   

  private void onInitSample();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // android.preference.SeekBarVolumizer this
         0: .line 208
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         1: .line 209
            aload 0 /* this */
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mContext:Landroid/content/Context;
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mDefaultUri:Landroid/net/Uri;
            invokestatic android.media.RingtoneManager.getRingtone:(Landroid/content/Context;Landroid/net/Uri;)Landroid/media/Ringtone;
            putfield android.preference.SeekBarVolumizer.mRingtone:Landroid/media/Ringtone;
         2: .line 210
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mRingtone:Landroid/media/Ringtone;
            ifnull 4
         3: .line 211
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mRingtone:Landroid/media/Ringtone;
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mStreamType:I
            invokevirtual android.media.Ringtone.setStreamType:(I)V
         4: .line 208
      StackMap locals: android.preference.SeekBarVolumizer
      StackMap stack:
            aload 1
            monitorexit
         5: goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 1
            monitorexit
         7: athrow
         8: .line 214
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.preference.SeekBarVolumizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Landroid/preference/SeekBarVolumizer;
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any

  private void postStartSample();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // android.preference.SeekBarVolumizer this
         0: .line 217
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mHandler:Landroid/os/Handler;
            ifnonnull 1
            return
         1: .line 218
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mHandler:Landroid/os/Handler;
            iconst_1
            invokevirtual android.os.Handler.removeMessages:(I)V
         2: .line 219
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mHandler:Landroid/os/Handler;
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mHandler:Landroid/os/Handler;
            iconst_1
            invokevirtual android.os.Handler.obtainMessage:(I)Landroid/os/Message;
         3: .line 220
            aload 0 /* this */
            invokevirtual android.preference.SeekBarVolumizer.isSamplePlaying:()Z
            ifeq 4
            sipush 1000
            goto 5
      StackMap locals: android.preference.SeekBarVolumizer
      StackMap stack: android.os.Handler android.os.Message
         4: iconst_0
      StackMap locals: android.preference.SeekBarVolumizer
      StackMap stack: android.os.Handler android.os.Message int
         5: i2l
         6: .line 219
            invokevirtual android.os.Handler.sendMessageDelayed:(Landroid/os/Message;J)Z
            pop
         7: .line 221
            return
        end local 0 // android.preference.SeekBarVolumizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Landroid/preference/SeekBarVolumizer;

  private void onStartSample();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // android.preference.SeekBarVolumizer this
         0: .line 224
            aload 0 /* this */
            invokevirtual android.preference.SeekBarVolumizer.isSamplePlaying:()Z
            ifne 18
         1: .line 225
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mCallback:Landroid/preference/SeekBarVolumizer$Callback;
            ifnull 3
         2: .line 226
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mCallback:Landroid/preference/SeekBarVolumizer$Callback;
            aload 0 /* this */
            invokeinterface android.preference.SeekBarVolumizer$Callback.onSampleStarting:(Landroid/preference/SeekBarVolumizer;)V
         3: .line 229
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         4: .line 230
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mRingtone:Landroid/media/Ringtone;
            ifnull 14
         5: .line 232
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mRingtone:Landroid/media/Ringtone;
            new android.media.AudioAttributes$Builder
            dup
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mRingtone:Landroid/media/Ringtone;
         6: .line 233
            invokevirtual android.media.Ringtone.getAudioAttributes:()Landroid/media/AudioAttributes;
            invokespecial android.media.AudioAttributes$Builder.<init>:(Landroid/media/AudioAttributes;)V
         7: .line 234
            sipush 128
            invokevirtual android.media.AudioAttributes$Builder.setFlags:(I)Landroid/media/AudioAttributes$Builder;
         8: .line 235
            invokevirtual android.media.AudioAttributes$Builder.build:()Landroid/media/AudioAttributes;
         9: .line 232
            invokevirtual android.media.Ringtone.setAudioAttributes:(Landroid/media/AudioAttributes;)V
        10: .line 236
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mRingtone:Landroid/media/Ringtone;
            invokevirtual android.media.Ringtone.play:()V
        11: .line 237
            goto 14
      StackMap locals: android.preference.SeekBarVolumizer android.preference.SeekBarVolumizer
      StackMap stack: java.lang.Throwable
        12: astore 2 /* e */
        start local 2 // java.lang.Throwable e
        13: .line 238
            ldc "SeekBarVolumizer"
            new java.lang.StringBuilder
            dup
            ldc "Error playing ringtone, stream "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mStreamType:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* e */
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        end local 2 // java.lang.Throwable e
        14: .line 229
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
        15: goto 18
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: aload 1
            monitorexit
        17: athrow
        18: .line 243
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.preference.SeekBarVolumizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Landroid/preference/SeekBarVolumizer;
           13   14     2     e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           5    11      12  Class java.lang.Throwable
           4    15      16  any
          16    17      16  any

  private void postStopSample();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.preference.SeekBarVolumizer this
         0: .line 246
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mHandler:Landroid/os/Handler;
            ifnonnull 1
            return
         1: .line 248
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mHandler:Landroid/os/Handler;
            iconst_1
            invokevirtual android.os.Handler.removeMessages:(I)V
         2: .line 249
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mHandler:Landroid/os/Handler;
            iconst_2
            invokevirtual android.os.Handler.removeMessages:(I)V
         3: .line 250
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mHandler:Landroid/os/Handler;
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mHandler:Landroid/os/Handler;
            iconst_2
            invokevirtual android.os.Handler.obtainMessage:(I)Landroid/os/Message;
            invokevirtual android.os.Handler.sendMessage:(Landroid/os/Message;)Z
            pop
         4: .line 251
            return
        end local 0 // android.preference.SeekBarVolumizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/preference/SeekBarVolumizer;

  private void onStopSample();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.preference.SeekBarVolumizer this
         0: .line 254
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         1: .line 255
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mRingtone:Landroid/media/Ringtone;
            ifnull 3
         2: .line 256
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mRingtone:Landroid/media/Ringtone;
            invokevirtual android.media.Ringtone.stop:()V
         3: .line 254
      StackMap locals: android.preference.SeekBarVolumizer
      StackMap stack:
            aload 1
            monitorexit
         4: goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: aload 1
            monitorexit
         6: athrow
         7: .line 259
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.preference.SeekBarVolumizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Landroid/preference/SeekBarVolumizer;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any

  public void stop();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.preference.SeekBarVolumizer this
         0: .line 262
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mHandler:Landroid/os/Handler;
            ifnonnull 1
            return
         1: .line 263
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.preference.SeekBarVolumizer.postStopSample:()V
         2: .line 264
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mContext:Landroid/content/Context;
            invokevirtual android.content.Context.getContentResolver:()Landroid/content/ContentResolver;
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mVolumeObserver:Landroid/preference/SeekBarVolumizer$Observer;
            invokevirtual android.content.ContentResolver.unregisterContentObserver:(Landroid/database/ContentObserver;)V
         3: .line 265
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mReceiver:Landroid/preference/SeekBarVolumizer$Receiver;
            iconst_0
            invokevirtual android.preference.SeekBarVolumizer$Receiver.setListening:(Z)V
         4: .line 266
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mSeekBar:Landroid/widget/SeekBar;
            aconst_null
            invokevirtual android.widget.SeekBar.setOnSeekBarChangeListener:(Landroid/widget/SeekBar$OnSeekBarChangeListener;)V
         5: .line 267
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mHandler:Landroid/os/Handler;
            invokevirtual android.os.Handler.getLooper:()Landroid/os/Looper;
            invokevirtual android.os.Looper.quitSafely:()V
         6: .line 268
            aload 0 /* this */
            aconst_null
            putfield android.preference.SeekBarVolumizer.mHandler:Landroid/os/Handler;
         7: .line 269
            aload 0 /* this */
            aconst_null
            putfield android.preference.SeekBarVolumizer.mVolumeObserver:Landroid/preference/SeekBarVolumizer$Observer;
         8: .line 270
            return
        end local 0 // android.preference.SeekBarVolumizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Landroid/preference/SeekBarVolumizer;

  public void start();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // android.preference.SeekBarVolumizer this
         0: .line 273
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mHandler:Landroid/os/Handler;
            ifnull 1
            return
         1: .line 274
      StackMap locals:
      StackMap stack:
            new android.os.HandlerThread
            dup
            ldc "SeekBarVolumizer.CallbackHandler"
            invokespecial android.os.HandlerThread.<init>:(Ljava/lang/String;)V
            astore 1 /* thread */
        start local 1 // android.os.HandlerThread thread
         2: .line 275
            aload 1 /* thread */
            invokevirtual android.os.HandlerThread.start:()V
         3: .line 276
            aload 0 /* this */
            new android.os.Handler
            dup
            aload 1 /* thread */
            invokevirtual android.os.HandlerThread.getLooper:()Landroid/os/Looper;
            aload 0 /* this */
            invokespecial android.os.Handler.<init>:(Landroid/os/Looper;Landroid/os/Handler$Callback;)V
            putfield android.preference.SeekBarVolumizer.mHandler:Landroid/os/Handler;
         4: .line 277
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mHandler:Landroid/os/Handler;
            iconst_3
            invokevirtual android.os.Handler.sendEmptyMessage:(I)Z
            pop
         5: .line 278
            aload 0 /* this */
            new android.preference.SeekBarVolumizer$Observer
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mHandler:Landroid/os/Handler;
            invokespecial android.preference.SeekBarVolumizer$Observer.<init>:(Landroid/preference/SeekBarVolumizer;Landroid/os/Handler;)V
            putfield android.preference.SeekBarVolumizer.mVolumeObserver:Landroid/preference/SeekBarVolumizer$Observer;
         6: .line 279
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mContext:Landroid/content/Context;
            invokevirtual android.content.Context.getContentResolver:()Landroid/content/ContentResolver;
         7: .line 280
            getstatic android.provider.Settings$System.VOLUME_SETTINGS:[Ljava/lang/String;
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mStreamType:I
            aaload
            invokestatic android.provider.Settings$System.getUriFor:(Ljava/lang/String;)Landroid/net/Uri;
         8: .line 281
            iconst_0
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mVolumeObserver:Landroid/preference/SeekBarVolumizer$Observer;
         9: .line 279
            invokevirtual android.content.ContentResolver.registerContentObserver:(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
        10: .line 282
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mReceiver:Landroid/preference/SeekBarVolumizer$Receiver;
            iconst_1
            invokevirtual android.preference.SeekBarVolumizer$Receiver.setListening:(Z)V
        11: .line 283
            return
        end local 1 // android.os.HandlerThread thread
        end local 0 // android.preference.SeekBarVolumizer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Landroid/preference/SeekBarVolumizer;
            2   12     1  thread  Landroid/os/HandlerThread;

  public void revertVolume();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // android.preference.SeekBarVolumizer this
         0: .line 286
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mAudioManager:Landroid/media/AudioManager;
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mStreamType:I
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mOriginalStreamVolume:I
            iconst_0
            invokevirtual android.media.AudioManager.setStreamVolume:(III)V
         1: .line 287
            return
        end local 0 // android.preference.SeekBarVolumizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/preference/SeekBarVolumizer;

  public void onProgressChanged(android.widget.SeekBar, int, boolean);
    descriptor: (Landroid/widget/SeekBar;IZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // android.preference.SeekBarVolumizer this
        start local 1 // android.widget.SeekBar seekBar
        start local 2 // int progress
        start local 3 // boolean fromTouch
         0: .line 290
            iload 3 /* fromTouch */
            ifeq 2
         1: .line 291
            aload 0 /* this */
            iload 2 /* progress */
            invokevirtual android.preference.SeekBarVolumizer.postSetVolume:(I)V
         2: .line 293
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mCallback:Landroid/preference/SeekBarVolumizer$Callback;
            ifnull 4
         3: .line 294
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mCallback:Landroid/preference/SeekBarVolumizer$Callback;
            aload 1 /* seekBar */
            iload 2 /* progress */
            iload 3 /* fromTouch */
            invokeinterface android.preference.SeekBarVolumizer$Callback.onProgressChanged:(Landroid/widget/SeekBar;IZ)V
         4: .line 296
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean fromTouch
        end local 2 // int progress
        end local 1 // android.widget.SeekBar seekBar
        end local 0 // android.preference.SeekBarVolumizer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Landroid/preference/SeekBarVolumizer;
            0    5     1    seekBar  Landroid/widget/SeekBar;
            0    5     2   progress  I
            0    5     3  fromTouch  Z
    MethodParameters:
           Name  Flags
      seekBar    
      progress   
      fromTouch  

  private void postSetVolume(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.preference.SeekBarVolumizer this
        start local 1 // int progress
         0: .line 299
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mHandler:Landroid/os/Handler;
            ifnonnull 1
            return
         1: .line 301
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* progress */
            putfield android.preference.SeekBarVolumizer.mLastProgress:I
         2: .line 302
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mHandler:Landroid/os/Handler;
            iconst_0
            invokevirtual android.os.Handler.removeMessages:(I)V
         3: .line 303
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mHandler:Landroid/os/Handler;
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mHandler:Landroid/os/Handler;
            iconst_0
            invokevirtual android.os.Handler.obtainMessage:(I)Landroid/os/Message;
            invokevirtual android.os.Handler.sendMessage:(Landroid/os/Message;)Z
            pop
         4: .line 304
            return
        end local 1 // int progress
        end local 0 // android.preference.SeekBarVolumizer this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Landroid/preference/SeekBarVolumizer;
            0    5     1  progress  I
    MethodParameters:
          Name  Flags
      progress  

  public void onStartTrackingTouch(android.widget.SeekBar);
    descriptor: (Landroid/widget/SeekBar;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // android.preference.SeekBarVolumizer this
        start local 1 // android.widget.SeekBar seekBar
         0: .line 307
            return
        end local 1 // android.widget.SeekBar seekBar
        end local 0 // android.preference.SeekBarVolumizer this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Landroid/preference/SeekBarVolumizer;
            0    1     1  seekBar  Landroid/widget/SeekBar;
    MethodParameters:
         Name  Flags
      seekBar  

  public void onStopTrackingTouch(android.widget.SeekBar);
    descriptor: (Landroid/widget/SeekBar;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // android.preference.SeekBarVolumizer this
        start local 1 // android.widget.SeekBar seekBar
         0: .line 310
            aload 0 /* this */
            invokevirtual android.preference.SeekBarVolumizer.postStartSample:()V
         1: .line 311
            return
        end local 1 // android.widget.SeekBar seekBar
        end local 0 // android.preference.SeekBarVolumizer this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Landroid/preference/SeekBarVolumizer;
            0    2     1  seekBar  Landroid/widget/SeekBar;
    MethodParameters:
         Name  Flags
      seekBar  

  public boolean isSamplePlaying();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.preference.SeekBarVolumizer this
         0: .line 314
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         1: .line 315
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mRingtone:Landroid/media/Ringtone;
            ifnull 2
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mRingtone:Landroid/media/Ringtone;
            invokevirtual android.media.Ringtone.isPlaying:()Z
            ifeq 2
            iconst_1
            goto 3
      StackMap locals: android.preference.SeekBarVolumizer
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: aload 1
            monitorexit
         4: ireturn
         5: .line 314
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         6: athrow
        end local 0 // android.preference.SeekBarVolumizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Landroid/preference/SeekBarVolumizer;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any

  public void startSample();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.preference.SeekBarVolumizer this
         0: .line 320
            aload 0 /* this */
            invokevirtual android.preference.SeekBarVolumizer.postStartSample:()V
         1: .line 321
            return
        end local 0 // android.preference.SeekBarVolumizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/preference/SeekBarVolumizer;

  public void stopSample();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.preference.SeekBarVolumizer this
         0: .line 324
            aload 0 /* this */
            invokevirtual android.preference.SeekBarVolumizer.postStopSample:()V
         1: .line 325
            return
        end local 0 // android.preference.SeekBarVolumizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/preference/SeekBarVolumizer;

  public android.widget.SeekBar getSeekBar();
    descriptor: ()Landroid/widget/SeekBar;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.preference.SeekBarVolumizer this
         0: .line 328
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mSeekBar:Landroid/widget/SeekBar;
            areturn
        end local 0 // android.preference.SeekBarVolumizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/preference/SeekBarVolumizer;

  public void changeVolumeBy(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.preference.SeekBarVolumizer this
        start local 1 // int amount
         0: .line 332
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mSeekBar:Landroid/widget/SeekBar;
            iload 1 /* amount */
            invokevirtual android.widget.SeekBar.incrementProgressBy:(I)V
         1: .line 333
            aload 0 /* this */
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mSeekBar:Landroid/widget/SeekBar;
            invokevirtual android.widget.SeekBar.getProgress:()I
            invokevirtual android.preference.SeekBarVolumizer.postSetVolume:(I)V
         2: .line 334
            aload 0 /* this */
            invokevirtual android.preference.SeekBarVolumizer.postStartSample:()V
         3: .line 335
            aload 0 /* this */
            iconst_m1
            putfield android.preference.SeekBarVolumizer.mVolumeBeforeMute:I
         4: .line 336
            return
        end local 1 // int amount
        end local 0 // android.preference.SeekBarVolumizer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Landroid/preference/SeekBarVolumizer;
            0    5     1  amount  I
    MethodParameters:
        Name  Flags
      amount  

  public void muteVolume();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.preference.SeekBarVolumizer this
         0: .line 339
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mVolumeBeforeMute:I
            iconst_m1
            if_icmpeq 6
         1: .line 340
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mSeekBar:Landroid/widget/SeekBar;
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mVolumeBeforeMute:I
            iconst_1
            invokevirtual android.widget.SeekBar.setProgress:(IZ)V
         2: .line 341
            aload 0 /* this */
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mVolumeBeforeMute:I
            invokevirtual android.preference.SeekBarVolumizer.postSetVolume:(I)V
         3: .line 342
            aload 0 /* this */
            invokevirtual android.preference.SeekBarVolumizer.postStartSample:()V
         4: .line 343
            aload 0 /* this */
            iconst_m1
            putfield android.preference.SeekBarVolumizer.mVolumeBeforeMute:I
         5: .line 344
            goto 10
         6: .line 345
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mSeekBar:Landroid/widget/SeekBar;
            invokevirtual android.widget.SeekBar.getProgress:()I
            putfield android.preference.SeekBarVolumizer.mVolumeBeforeMute:I
         7: .line 346
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mSeekBar:Landroid/widget/SeekBar;
            iconst_0
            iconst_1
            invokevirtual android.widget.SeekBar.setProgress:(IZ)V
         8: .line 347
            aload 0 /* this */
            invokevirtual android.preference.SeekBarVolumizer.postStopSample:()V
         9: .line 348
            aload 0 /* this */
            iconst_0
            invokevirtual android.preference.SeekBarVolumizer.postSetVolume:(I)V
        10: .line 350
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.preference.SeekBarVolumizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Landroid/preference/SeekBarVolumizer;

  public void onSaveInstanceState(android.preference.VolumePreference$VolumeStore);
    descriptor: (Landroid/preference/VolumePreference$VolumeStore;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.preference.SeekBarVolumizer this
        start local 1 // android.preference.VolumePreference$VolumeStore volumeStore
         0: .line 353
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mLastProgress:I
            iflt 3
         1: .line 354
            aload 1 /* volumeStore */
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mLastProgress:I
            putfield android.preference.VolumePreference$VolumeStore.volume:I
         2: .line 355
            aload 1 /* volumeStore */
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mOriginalStreamVolume:I
            putfield android.preference.VolumePreference$VolumeStore.originalVolume:I
         3: .line 357
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.preference.VolumePreference$VolumeStore volumeStore
        end local 0 // android.preference.SeekBarVolumizer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Landroid/preference/SeekBarVolumizer;
            0    4     1  volumeStore  Landroid/preference/VolumePreference$VolumeStore;
    MethodParameters:
             Name  Flags
      volumeStore  

  public void onRestoreInstanceState(android.preference.VolumePreference$VolumeStore);
    descriptor: (Landroid/preference/VolumePreference$VolumeStore;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.preference.SeekBarVolumizer this
        start local 1 // android.preference.VolumePreference$VolumeStore volumeStore
         0: .line 360
            aload 1 /* volumeStore */
            getfield android.preference.VolumePreference$VolumeStore.volume:I
            iconst_m1
            if_icmpeq 4
         1: .line 361
            aload 0 /* this */
            aload 1 /* volumeStore */
            getfield android.preference.VolumePreference$VolumeStore.originalVolume:I
            putfield android.preference.SeekBarVolumizer.mOriginalStreamVolume:I
         2: .line 362
            aload 0 /* this */
            aload 1 /* volumeStore */
            getfield android.preference.VolumePreference$VolumeStore.volume:I
            putfield android.preference.SeekBarVolumizer.mLastProgress:I
         3: .line 363
            aload 0 /* this */
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mLastProgress:I
            invokevirtual android.preference.SeekBarVolumizer.postSetVolume:(I)V
         4: .line 365
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.preference.VolumePreference$VolumeStore volumeStore
        end local 0 // android.preference.SeekBarVolumizer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Landroid/preference/SeekBarVolumizer;
            0    5     1  volumeStore  Landroid/preference/VolumePreference$VolumeStore;
    MethodParameters:
             Name  Flags
      volumeStore  

  private void updateSlider();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // android.preference.SeekBarVolumizer this
         0: .line 394
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mSeekBar:Landroid/widget/SeekBar;
            ifnull 5
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mAudioManager:Landroid/media/AudioManager;
            ifnull 5
         1: .line 395
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mAudioManager:Landroid/media/AudioManager;
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mStreamType:I
            invokevirtual android.media.AudioManager.getStreamVolume:(I)I
            istore 1 /* volume */
        start local 1 // int volume
         2: .line 396
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mAudioManager:Landroid/media/AudioManager;
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mStreamType:I
            invokevirtual android.media.AudioManager.getLastAudibleStreamVolume:(I)I
            istore 2 /* lastAudibleVolume */
        start local 2 // int lastAudibleVolume
         3: .line 397
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mAudioManager:Landroid/media/AudioManager;
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mStreamType:I
            invokevirtual android.media.AudioManager.isStreamMute:(I)Z
            istore 3 /* mute */
        start local 3 // boolean mute
         4: .line 398
            aload 0 /* this */
            getfield android.preference.SeekBarVolumizer.mUiHandler:Landroid/preference/SeekBarVolumizer$H;
            iload 1 /* volume */
            iload 2 /* lastAudibleVolume */
            iload 3 /* mute */
            invokevirtual android.preference.SeekBarVolumizer$H.postUpdateSlider:(IIZ)V
        end local 3 // boolean mute
        end local 2 // int lastAudibleVolume
        end local 1 // int volume
         5: .line 400
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.preference.SeekBarVolumizer this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0               this  Landroid/preference/SeekBarVolumizer;
            2    5     1             volume  I
            3    5     2  lastAudibleVolume  I
            4    5     3               mute  Z
}
SourceFile: "SeekBarVolumizer.java"
NestMembers:
  android.preference.SeekBarVolumizer$Callback  android.preference.SeekBarVolumizer$H  android.preference.SeekBarVolumizer$Observer  android.preference.SeekBarVolumizer$Receiver
InnerClasses:
  public Policy = android.app.NotificationManager$Policy of android.app.NotificationManager
  public Builder = android.media.AudioAttributes$Builder of android.media.AudioAttributes
  public abstract Callback = android.os.Handler$Callback of android.os.Handler
  public abstract Callback = android.preference.SeekBarVolumizer$Callback of android.preference.SeekBarVolumizer
  private final H = android.preference.SeekBarVolumizer$H of android.preference.SeekBarVolumizer
  private final Observer = android.preference.SeekBarVolumizer$Observer of android.preference.SeekBarVolumizer
  private final Receiver = android.preference.SeekBarVolumizer$Receiver of android.preference.SeekBarVolumizer
  public VolumeStore = android.preference.VolumePreference$VolumeStore of android.preference.VolumePreference
  public final System = android.provider.Settings$System of android.provider.Settings
  public abstract OnSeekBarChangeListener = android.widget.SeekBar$OnSeekBarChangeListener of android.widget.SeekBar