kopia lustrzana https://github.com/ryukoposting/Signal-Android
Unmute Stories when ringer mode changed.
rodzic
cff3840c51
commit
0558808370
|
@ -1,7 +1,9 @@
|
||||||
package org.thoughtcrime.securesms.stories.viewer
|
package org.thoughtcrime.securesms.stories.viewer
|
||||||
|
|
||||||
|
import android.content.BroadcastReceiver
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
|
import android.content.IntentFilter
|
||||||
import android.media.AudioManager
|
import android.media.AudioManager
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
@ -33,6 +35,8 @@ class StoryViewerActivity : PassphraseRequiredActivity(), VoiceNoteMediaControll
|
||||||
private val viewModel: StoryVolumeViewModel by viewModels()
|
private val viewModel: StoryVolumeViewModel by viewModels()
|
||||||
private val storyViewStateViewModel: StoryViewStateViewModel by viewModels()
|
private val storyViewStateViewModel: StoryViewStateViewModel by viewModels()
|
||||||
|
|
||||||
|
val ringerModeReceiver = RingerModeReceiver()
|
||||||
|
|
||||||
override lateinit var voiceNoteMediaController: VoiceNoteMediaController
|
override lateinit var voiceNoteMediaController: VoiceNoteMediaController
|
||||||
|
|
||||||
override fun attachBaseContext(newBase: Context) {
|
override fun attachBaseContext(newBase: Context) {
|
||||||
|
@ -88,6 +92,11 @@ class StoryViewerActivity : PassphraseRequiredActivity(), VoiceNoteMediaControll
|
||||||
outState.putParcelable(DATA_CACHE, storyViewStateViewModel.storyViewStateCache)
|
outState.putParcelable(DATA_CACHE, storyViewStateViewModel.storyViewStateCache)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onPause() {
|
||||||
|
super.onPause()
|
||||||
|
unregisterReceiver(ringerModeReceiver)
|
||||||
|
}
|
||||||
|
|
||||||
override fun onDestroy() {
|
override fun onDestroy() {
|
||||||
super.onDestroy()
|
super.onDestroy()
|
||||||
Glide.get(this).setMemoryCategory(MemoryCategory.NORMAL)
|
Glide.get(this).setMemoryCategory(MemoryCategory.NORMAL)
|
||||||
|
@ -95,6 +104,7 @@ class StoryViewerActivity : PassphraseRequiredActivity(), VoiceNoteMediaControll
|
||||||
|
|
||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
super.onResume()
|
super.onResume()
|
||||||
|
registerReceiver(ringerModeReceiver, IntentFilter(AudioManager.RINGER_MODE_CHANGED_ACTION))
|
||||||
if (StoryMutePolicy.isContentMuted) {
|
if (StoryMutePolicy.isContentMuted) {
|
||||||
viewModel.mute()
|
viewModel.mute()
|
||||||
} else {
|
} else {
|
||||||
|
@ -142,6 +152,21 @@ class StoryViewerActivity : PassphraseRequiredActivity(), VoiceNoteMediaControll
|
||||||
return super.onKeyDown(keyCode, event)
|
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 {
|
companion object {
|
||||||
private const val ARGS = "story.viewer.args"
|
private const val ARGS = "story.viewer.args"
|
||||||
private const val DATA_CACHE = "story.viewer.cache"
|
private const val DATA_CACHE = "story.viewer.cache"
|
||||||
|
|
Ładowanie…
Reference in New Issue