Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ca97fe00 authored by Andrew Zeng's avatar Andrew Zeng
Browse files

Add option to not play sample in SeekBarVolumizer.

Bug: 78806021
Change-Id: Ib4d760aa092c606bdc1340c18dead88d4b7ddaee
parent ce503588
Loading
Loading
Loading
Loading
+20 −3
Original line number Original line Diff line number Diff line
@@ -81,6 +81,7 @@ public class SeekBarVolumizer implements OnSeekBarChangeListener, Handler.Callba
    private int mVolumeBeforeMute = -1;
    private int mVolumeBeforeMute = -1;
    private int mRingerMode;
    private int mRingerMode;
    private int mZenMode;
    private int mZenMode;
    private boolean mPlaySample;


    private static final int MSG_SET_STREAM_VOLUME = 0;
    private static final int MSG_SET_STREAM_VOLUME = 0;
    private static final int MSG_START_SAMPLE = 1;
    private static final int MSG_START_SAMPLE = 1;
@@ -94,6 +95,15 @@ public class SeekBarVolumizer implements OnSeekBarChangeListener, Handler.Callba
    private boolean mAllowRinger;
    private boolean mAllowRinger;


    public SeekBarVolumizer(Context context, int streamType, Uri defaultUri, Callback callback) {
    public SeekBarVolumizer(Context context, int streamType, Uri defaultUri, Callback callback) {
        this(context, streamType, defaultUri, callback, true);
    }

    public SeekBarVolumizer(
            Context context,
            int streamType,
            Uri defaultUri,
            Callback callback,
            boolean playSample) {
        mContext = context;
        mContext = context;
        mAudioManager = context.getSystemService(AudioManager.class);
        mAudioManager = context.getSystemService(AudioManager.class);
        mNotificationManager = context.getSystemService(NotificationManager.class);
        mNotificationManager = context.getSystemService(NotificationManager.class);
@@ -116,6 +126,7 @@ public class SeekBarVolumizer implements OnSeekBarChangeListener, Handler.Callba
        mOriginalStreamVolume = mAudioManager.getStreamVolume(mStreamType);
        mOriginalStreamVolume = mAudioManager.getStreamVolume(mStreamType);
        mLastAudibleStreamVolume = mAudioManager.getLastAudibleStreamVolume(mStreamType);
        mLastAudibleStreamVolume = mAudioManager.getLastAudibleStreamVolume(mStreamType);
        mMuted = mAudioManager.isStreamMute(mStreamType);
        mMuted = mAudioManager.isStreamMute(mStreamType);
        mPlaySample = playSample;
        if (mCallback != null) {
        if (mCallback != null) {
            mCallback.onMuted(mMuted, isZenMuted());
            mCallback.onMuted(mMuted, isZenMuted());
        }
        }
@@ -190,13 +201,19 @@ public class SeekBarVolumizer implements OnSeekBarChangeListener, Handler.Callba
                        AudioManager.FLAG_SHOW_UI_WARNINGS);
                        AudioManager.FLAG_SHOW_UI_WARNINGS);
                break;
                break;
            case MSG_START_SAMPLE:
            case MSG_START_SAMPLE:
                if (mPlaySample) {
                    onStartSample();
                    onStartSample();
                }
                break;
                break;
            case MSG_STOP_SAMPLE:
            case MSG_STOP_SAMPLE:
                if (mPlaySample) {
                    onStopSample();
                    onStopSample();
                }
                break;
                break;
            case MSG_INIT_SAMPLE:
            case MSG_INIT_SAMPLE:
                if (mPlaySample) {
                    onInitSample();
                    onInitSample();
                }
                break;
                break;
            default:
            default:
                Log.e(TAG, "invalid SeekBarVolumizer message: "+msg.what);
                Log.e(TAG, "invalid SeekBarVolumizer message: "+msg.what);