Unmute Stories when ringer mode changed.
This commit is contained in:
parent
cff3840c51
commit
0558808370
1 changed files with 25 additions and 0 deletions
|
@ -1,7 +1,9 @@
|
|||
package org.thoughtcrime.securesms.stories.viewer
|
||||
|
||||
import android.content.BroadcastReceiver
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.IntentFilter
|
||||
import android.media.AudioManager
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
|
@ -33,6 +35,8 @@ class StoryViewerActivity : PassphraseRequiredActivity(), VoiceNoteMediaControll
|
|||
private val viewModel: StoryVolumeViewModel by viewModels()
|
||||
private val storyViewStateViewModel: StoryViewStateViewModel by viewModels()
|
||||
|
||||
val ringerModeReceiver = RingerModeReceiver()
|
||||
|
||||
override lateinit var voiceNoteMediaController: VoiceNoteMediaController
|
||||
|
||||
override fun attachBaseContext(newBase: Context) {
|
||||
|
@ -88,6 +92,11 @@ class StoryViewerActivity : PassphraseRequiredActivity(), VoiceNoteMediaControll
|
|||
outState.putParcelable(DATA_CACHE, storyViewStateViewModel.storyViewStateCache)
|
||||
}
|
||||
|
||||
override fun onPause() {
|
||||
super.onPause()
|
||||
unregisterReceiver(ringerModeReceiver)
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
Glide.get(this).setMemoryCategory(MemoryCategory.NORMAL)
|
||||
|
@ -95,6 +104,7 @@ class StoryViewerActivity : PassphraseRequiredActivity(), VoiceNoteMediaControll
|
|||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
registerReceiver(ringerModeReceiver, IntentFilter(AudioManager.RINGER_MODE_CHANGED_ACTION))
|
||||
if (StoryMutePolicy.isContentMuted) {
|
||||
viewModel.mute()
|
||||
} else {
|
||||
|
@ -142,6 +152,21 @@ class StoryViewerActivity : PassphraseRequiredActivity(), VoiceNoteMediaControll
|
|||
return super.onKeyDown(keyCode, event)
|
||||
}
|
||||
|
||||
inner class RingerModeReceiver : BroadcastReceiver() {
|
||||
override fun onReceive(context: Context?, intent: Intent?) {
|
||||
when (intent?.getIntExtra(AudioManager.EXTRA_RINGER_MODE, AudioManager.RINGER_MODE_SILENT)) {
|
||||
AudioManager.RINGER_MODE_NORMAL -> {
|
||||
StoryMutePolicy.isContentMuted = false
|
||||
viewModel.unmute()
|
||||
}
|
||||
else -> {
|
||||
StoryMutePolicy.isContentMuted = true
|
||||
viewModel.mute()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
private const val ARGS = "story.viewer.args"
|
||||
private const val DATA_CACHE = "story.viewer.cache"
|
||||
|
|
Loading…
Add table
Reference in a new issue