Loading src/com/android/dialer/voicemail/VoicemailPlaybackPresenter.java +15 −6 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -285,6 +286,7 @@ public class VoicemailPlaybackPresenter mMediaPlayer = null; } mActivity.getWindow().clearFlags(LayoutParams.FLAG_KEEP_SCREEN_ON); disableProximitySensor(false /* waitForFarState */); } Loading Loading @@ -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. Loading @@ -604,6 +610,8 @@ public class VoicemailPlaybackPresenter mView.onPlaybackStopped(); mAudioManager.abandonAudioFocus(this); mActivity.getWindow().clearFlags(LayoutParams.FLAG_KEEP_SCREEN_ON); disableProximitySensor(true /* waitForFarState */); } Loading @@ -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; } Loading @@ -639,7 +644,6 @@ public class VoicemailPlaybackPresenter } else { Log.i(TAG, "Proximity wake lock already acquired"); } */ } private void disableProximitySensor(boolean waitForFarState) { Loading @@ -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); } } Loading Loading
src/com/android/dialer/voicemail/VoicemailPlaybackPresenter.java +15 −6 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -285,6 +286,7 @@ public class VoicemailPlaybackPresenter mMediaPlayer = null; } mActivity.getWindow().clearFlags(LayoutParams.FLAG_KEEP_SCREEN_ON); disableProximitySensor(false /* waitForFarState */); } Loading Loading @@ -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. Loading @@ -604,6 +610,8 @@ public class VoicemailPlaybackPresenter mView.onPlaybackStopped(); mAudioManager.abandonAudioFocus(this); mActivity.getWindow().clearFlags(LayoutParams.FLAG_KEEP_SCREEN_ON); disableProximitySensor(true /* waitForFarState */); } Loading @@ -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; } Loading @@ -639,7 +644,6 @@ public class VoicemailPlaybackPresenter } else { Log.i(TAG, "Proximity wake lock already acquired"); } */ } private void disableProximitySensor(boolean waitForFarState) { Loading @@ -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); } } Loading