This commit is contained in:
Thibault Deckers 2024-02-24 19:28:50 +01:00
parent 535936666c
commit df2d088ecf
5 changed files with 107 additions and 73 deletions

View file

@ -175,6 +175,18 @@ open class MainActivity : FlutterFragmentActivity() {
} }
} }
override fun onResume() {
super.onResume()
mediaStoreChangeStreamHandler.onAppResume()
settingsChangeStreamHandler.onAppResume()
}
override fun onPause() {
mediaStoreChangeStreamHandler.onAppPause()
settingsChangeStreamHandler.onAppPause()
super.onPause()
}
override fun onStop() { override fun onStop() {
Log.i(LOG_TAG, "onStop") Log.i(LOG_TAG, "onStop")
super.onStop() super.onStop()

View file

@ -30,12 +30,26 @@ class MediaStoreChangeStreamHandler(private val context: Context) : EventChannel
} }
init { init {
onAppResume()
}
fun dispose() {
onAppPause()
}
fun onAppResume() {
Log.i(LOG_TAG, "start listening to Media Store")
context.contentResolver.apply { context.contentResolver.apply {
registerContentObserver(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, true, contentObserver) registerContentObserver(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, true, contentObserver)
registerContentObserver(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, true, contentObserver) registerContentObserver(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, true, contentObserver)
} }
} }
fun onAppPause() {
Log.i(LOG_TAG, "stop listening to Media Store")
context.contentResolver.unregisterContentObserver(contentObserver)
}
override fun onListen(arguments: Any?, eventSink: EventSink) { override fun onListen(arguments: Any?, eventSink: EventSink) {
this.eventSink = eventSink this.eventSink = eventSink
handler = Handler(Looper.getMainLooper()) handler = Handler(Looper.getMainLooper())
@ -45,10 +59,6 @@ class MediaStoreChangeStreamHandler(private val context: Context) : EventChannel
Log.i(LOG_TAG, "onCancel arguments=$arguments") Log.i(LOG_TAG, "onCancel arguments=$arguments")
} }
fun dispose() {
context.contentResolver.unregisterContentObserver(contentObserver)
}
private fun success(uri: String?) { private fun success(uri: String?) {
handler?.post { handler?.post {
try { try {

View file

@ -62,9 +62,21 @@ class SettingsChangeStreamHandler(private val context: Context) : EventChannel.S
} }
init { init {
context.contentResolver.apply { onAppResume()
registerContentObserver(Settings.System.CONTENT_URI, true, contentObserver) }
}
fun dispose() {
onAppPause()
}
fun onAppResume() {
Log.i(LOG_TAG, "start listening to system settings")
context.contentResolver.registerContentObserver(Settings.System.CONTENT_URI, true, contentObserver)
}
fun onAppPause() {
Log.i(LOG_TAG, "stop listening to system settings")
context.contentResolver.unregisterContentObserver(contentObserver)
} }
override fun onListen(arguments: Any?, eventSink: EventSink) { override fun onListen(arguments: Any?, eventSink: EventSink) {
@ -76,10 +88,6 @@ class SettingsChangeStreamHandler(private val context: Context) : EventChannel.S
Log.i(LOG_TAG, "onCancel arguments=$arguments") Log.i(LOG_TAG, "onCancel arguments=$arguments")
} }
fun dispose() {
context.contentResolver.unregisterContentObserver(contentObserver)
}
private fun success(settings: FieldMap) { private fun success(settings: FieldMap) {
handler?.post { handler?.post {
try { try {

View file

@ -7,37 +7,37 @@ cd /d %sdk%\platform-tools
@echo on @echo on
adb.exe shell setprop log.tag.ACodec WARN adb.exe shell setprop persist.log.tag.ACodec WARN
adb.exe shell setprop log.tag.AHierarchicalStateMachine ERROR adb.exe shell setprop persist.log.tag.AHierarchicalStateMachine ERROR
adb.exe shell setprop log.tag.AudioCapabilities ERROR adb.exe shell setprop persist.log.tag.AudioCapabilities ERROR
adb.exe shell setprop log.tag.AudioTrack INFO adb.exe shell setprop persist.log.tag.AudioTrack INFO
adb.exe shell setprop log.tag.BufferPoolAccessor2.0 INFO adb.exe shell setprop persist.log.tag.BufferPoolAccessor2.0 INFO
adb.exe shell setprop log.tag.CCodec INFO adb.exe shell setprop persist.log.tag.CCodec INFO
adb.exe shell setprop log.tag.CCodecBufferChannel INFO adb.exe shell setprop persist.log.tag.CCodecBufferChannel INFO
adb.exe shell setprop log.tag.CCodecBuffers INFO adb.exe shell setprop persist.log.tag.CCodecBuffers INFO
adb.exe shell setprop log.tag.CCodecConfig INFO adb.exe shell setprop persist.log.tag.CCodecConfig INFO
adb.exe shell setprop log.tag.Codec2Client INFO adb.exe shell setprop persist.log.tag.Codec2Client INFO
adb.exe shell setprop log.tag.CompatibilityChangeReporter INFO adb.exe shell setprop persist.log.tag.CompatibilityChangeReporter INFO
adb.exe shell setprop log.tag.Counters WARN adb.exe shell setprop persist.log.tag.Counters WARN
adb.exe shell setprop log.tag.CustomizedTextParser INFO adb.exe shell setprop persist.log.tag.CustomizedTextParser INFO
adb.exe shell setprop log.tag.EGL_emulation INFO adb.exe shell setprop persist.log.tag.EGL_emulation INFO
adb.exe shell setprop log.tag.HostConnection INFO adb.exe shell setprop persist.log.tag.HostConnection INFO
adb.exe shell setprop log.tag.InputMethodManager WARN adb.exe shell setprop persist.log.tag.InputMethodManager WARN
adb.exe shell setprop log.tag.InsetsSourceConsumer INFO adb.exe shell setprop persist.log.tag.InsetsSourceConsumer INFO
adb.exe shell setprop log.tag.InputTransport INFO adb.exe shell setprop persist.log.tag.InputTransport INFO
adb.exe shell setprop log.tag.J4A INFO adb.exe shell setprop persist.log.tag.J4A INFO
adb.exe shell setprop log.tag.MediaCodec WARN adb.exe shell setprop persist.log.tag.MediaCodec WARN
adb.exe shell setprop log.tag.MediaMetadataRetriever INFO adb.exe shell setprop persist.log.tag.MediaMetadataRetriever INFO
adb.exe shell setprop log.tag.MediaMetadataRetrieverJNI INFO adb.exe shell setprop persist.log.tag.MediaMetadataRetrieverJNI INFO
adb.exe shell setprop log.tag.NativeTiffDecoder INFO adb.exe shell setprop persist.log.tag.NativeTiffDecoder INFO
adb.exe shell setprop log.tag.NuMediaExtractor INFO adb.exe shell setprop persist.log.tag.NuMediaExtractor INFO
adb.exe shell setprop log.tag.PipelineWatcher INFO adb.exe shell setprop persist.log.tag.PipelineWatcher INFO
adb.exe shell setprop log.tag.ReflectedParamUpdater INFO adb.exe shell setprop persist.log.tag.ReflectedParamUpdater INFO
adb.exe shell setprop log.tag.skia INFO adb.exe shell setprop persist.log.tag.skia INFO
adb.exe shell setprop log.tag.SurfaceControl WARN adb.exe shell setprop persist.log.tag.SurfaceControl WARN
adb.exe shell setprop log.tag.SurfaceUtils INFO adb.exe shell setprop persist.log.tag.SurfaceUtils INFO
adb.exe shell setprop log.tag.SurfaceView WARN adb.exe shell setprop persist.log.tag.SurfaceView WARN
adb.exe shell setprop log.tag.VideoCapabilities ERROR adb.exe shell setprop persist.log.tag.VideoCapabilities ERROR
@echo off @echo off
endlocal endlocal

View file

@ -1,32 +1,36 @@
#!/bin/bash #!/bin/bash
adb shell setprop log.tag.ACodec WARN adb shell setprop persist.log.tag.ACodec WARN
adb shell setprop log.tag.AHierarchicalStateMachine ERROR adb shell setprop persist.log.tag.AHierarchicalStateMachine ERROR
adb shell setprop log.tag.AudioCapabilities ERROR adb shell setprop persist.log.tag.AudioCapabilities ERROR
adb shell setprop log.tag.AudioTrack INFO adb shell setprop persist.log.tag.AudioTrack INFO
adb shell setprop log.tag.BufferPoolAccessor2.0 INFO adb shell setprop persist.log.tag.BufferPoolAccessor2.0 INFO
adb shell setprop log.tag.CCodec INFO adb shell setprop persist.log.tag.CCodec INFO
adb shell setprop log.tag.CCodecBufferChannel INFO adb shell setprop persist.log.tag.CCodecBufferChannel INFO
adb shell setprop log.tag.CCodecBuffers INFO adb shell setprop persist.log.tag.CCodecBuffers INFO
adb shell setprop log.tag.CCodecConfig INFO adb shell setprop persist.log.tag.CCodecConfig INFO
adb shell setprop log.tag.Codec2Client INFO adb shell setprop persist.log.tag.Codec2Client INFO
adb shell setprop log.tag.CompatibilityChangeReporter INFO adb shell setprop persist.log.tag.CompatibilityChangeReporter INFO
adb shell setprop log.tag.Counters WARN adb shell setprop persist.log.tag.ConnectivityManager INFO
adb shell setprop log.tag.CustomizedTextParser INFO adb shell setprop persist.log.tag.Counters WARN
adb shell setprop log.tag.EGL_emulation INFO adb shell setprop persist.log.tag.CustomizedTextParser INFO
adb shell setprop log.tag.HostConnection INFO adb shell setprop persist.log.tag.EGL_emulation INFO
adb shell setprop log.tag.InputMethodManager WARN adb shell setprop persist.log.tag.ffmpeg-kit-flutter INFO
adb shell setprop log.tag.InsetsSourceConsumer INFO adb shell setprop persist.log.tag.HostConnection INFO
adb shell setprop log.tag.InputTransport INFO adb shell setprop persist.log.tag.InputMethodManager WARN
adb shell setprop log.tag.J4A INFO adb shell setprop persist.log.tag.InsetsSourceConsumer INFO
adb shell setprop log.tag.MediaCodec WARN adb shell setprop persist.log.tag.InputTransport INFO
adb shell setprop log.tag.MediaMetadataRetriever INFO adb shell setprop persist.log.tag.J4A INFO
adb shell setprop log.tag.MediaMetadataRetrieverJNI INFO adb shell setprop persist.log.tag.MediaCodec WARN
adb shell setprop log.tag.NativeTiffDecoder INFO adb shell setprop persist.log.tag.MediaMetadataRetriever INFO
adb shell setprop log.tag.NuMediaExtractor INFO adb shell setprop persist.log.tag.MediaMetadataRetrieverJNI INFO
adb shell setprop log.tag.PipelineWatcher INFO adb shell setprop persist.log.tag.NativeTiffDecoder INFO
adb shell setprop log.tag.ReflectedParamUpdater INFO adb shell setprop persist.log.tag.NuMediaExtractor INFO
adb shell setprop log.tag.skia INFO adb shell setprop persist.log.tag.OpenGLRenderer INFO
adb shell setprop log.tag.SurfaceControl WARN adb shell setprop persist.log.tag.PipelineWatcher INFO
adb shell setprop log.tag.SurfaceUtils INFO adb shell setprop persist.log.tag.ReflectedParamUpdater INFO
adb shell setprop log.tag.SurfaceView WARN adb shell setprop persist.log.tag.skia INFO
adb shell setprop log.tag.VideoCapabilities ERROR adb shell setprop persist.log.tag.SurfaceControl WARN
adb shell setprop persist.log.tag.SurfaceUtils INFO
adb shell setprop persist.log.tag.SurfaceView WARN
adb shell setprop persist.log.tag.VideoCapabilities ERROR