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

Commit ef93faed authored by Andrew Lee's avatar Andrew Lee Committed by Android (Google) Code Review
Browse files

Merge "Enable proximity sensor onPause." into mnc-dev

parents 9f76afa1 9301ca97
Loading
Loading
Loading
Loading
+15 −6
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ import android.os.PowerManager;
import android.provider.VoicemailContract;
import android.util.Log;
import android.view.View;
import android.view.WindowManager.LayoutParams;
import android.widget.SeekBar;

import com.android.dialer.R;
@@ -285,6 +286,7 @@ public class VoicemailPlaybackPresenter
            mMediaPlayer = null;
        }

        mActivity.getWindow().clearFlags(LayoutParams.FLAG_KEEP_SCREEN_ON);
        disableProximitySensor(false /* waitForFarState */);
    }

@@ -582,8 +584,12 @@ public class VoicemailPlaybackPresenter

        Log.d(TAG, "Resumed playback at " + mPosition + ".");
        mView.onPlaybackStarted(mDuration.get(), getScheduledExecutorServiceInstance());
        if (isSpeakerphoneOn()) {
            mActivity.getWindow().addFlags(LayoutParams.FLAG_KEEP_SCREEN_ON);
        } else {
            enableProximitySensor();
        }
    }

    /**
     * Pauses voicemail playback at the current position. Null-op if already paused.
@@ -604,6 +610,8 @@ public class VoicemailPlaybackPresenter

        mView.onPlaybackStopped();
        mAudioManager.abandonAudioFocus(this);

        mActivity.getWindow().clearFlags(LayoutParams.FLAG_KEEP_SCREEN_ON);
        disableProximitySensor(true /* waitForFarState */);
    }

@@ -625,11 +633,8 @@ public class VoicemailPlaybackPresenter
    }

    private void enableProximitySensor() {
        // Disable until proximity sensor behavior in onPause is fixed: b/21932251.

        /*
        if (mProximityWakeLock == null || isSpeakerphoneOn() || !mIsPrepared
                || !mMediaPlayer.isPlaying()) {
                || mMediaPlayer == null || !mMediaPlayer.isPlaying()) {
            return;
        }

@@ -639,7 +644,6 @@ public class VoicemailPlaybackPresenter
        } else {
            Log.i(TAG, "Proximity wake lock already acquired");
        }
        */
    }

    private void disableProximitySensor(boolean waitForFarState) {
@@ -657,10 +661,15 @@ public class VoicemailPlaybackPresenter

    public void setSpeakerphoneOn(boolean on) {
        mAudioManager.setSpeakerphoneOn(on);

        if (on) {
            disableProximitySensor(false /* waitForFarState */);
            if (mIsPrepared && mMediaPlayer != null && mMediaPlayer.isPlaying()) {
                mActivity.getWindow().addFlags(LayoutParams.FLAG_KEEP_SCREEN_ON);
            }
        } else {
            enableProximitySensor();
            mActivity.getWindow().clearFlags(LayoutParams.FLAG_KEEP_SCREEN_ON);
        }
    }