diff --git a/build.gradle b/build.gradle index 431285b0f8..e702b2ee9c 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ import com.vanniktech.maven.publish.SonatypeHost buildscript { ext.versions = [ 'minSdk' : 14, - 'compileSdk': 33, + 'compileSdk': 34, ] repositories { google() diff --git a/leakcanary/leakcanary-android-core/src/main/java/leakcanary/internal/VisibilityTracker.kt b/leakcanary/leakcanary-android-core/src/main/java/leakcanary/internal/VisibilityTracker.kt index 659c7da10f..d2d9e032ea 100644 --- a/leakcanary/leakcanary-android-core/src/main/java/leakcanary/internal/VisibilityTracker.kt +++ b/leakcanary/leakcanary-android-core/src/main/java/leakcanary/internal/VisibilityTracker.kt @@ -8,6 +8,7 @@ import android.content.Intent import android.content.Intent.ACTION_SCREEN_OFF import android.content.Intent.ACTION_SCREEN_ON import android.content.IntentFilter +import android.os.Build import leakcanary.internal.friendly.noOpDelegate internal class VisibilityTracker( @@ -70,8 +71,16 @@ internal class VisibilityTracker( internal fun Application.registerVisibilityListener(listener: (Boolean) -> Unit) { val visibilityTracker = VisibilityTracker(listener) registerActivityLifecycleCallbacks(visibilityTracker) - registerReceiver(visibilityTracker, IntentFilter().apply { + + val intentFilter = IntentFilter().apply { addAction(ACTION_SCREEN_ON) addAction(ACTION_SCREEN_OFF) - }) -} \ No newline at end of file + } + + if (Build.VERSION.SDK_INT >= 33) { + val flags = Context.RECEIVER_EXPORTED + registerReceiver(visibilityTracker, intentFilter, flags) + } else { + registerReceiver(visibilityTracker, intentFilter) + } +}