From 7ddb4730293b3996ad63fb25eb5831c8c8a5570f Mon Sep 17 00:00:00 2001 From: Da Risk Date: Wed, 29 Jun 2022 12:48:51 -0400 Subject: [PATCH 1/2] make androidx.startup Initializers public Fixes #2393 --- .../api/leakcanary-object-watcher-android-startup.api | 7 +++++++ .../leakcanary/internal/AppWatcherStartupInitializer.kt | 2 +- plumber-android-startup/api/plumber-android-startup.api | 7 +++++++ .../java/leakcanary/internal/PlumberStartupInitializer.kt | 2 +- 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/leakcanary-object-watcher-android-startup/api/leakcanary-object-watcher-android-startup.api b/leakcanary-object-watcher-android-startup/api/leakcanary-object-watcher-android-startup.api index e69de29bb2..e86891ab1f 100644 --- a/leakcanary-object-watcher-android-startup/api/leakcanary-object-watcher-android-startup.api +++ b/leakcanary-object-watcher-android-startup/api/leakcanary-object-watcher-android-startup.api @@ -0,0 +1,7 @@ +public final class leakcanary/internal/AppWatcherStartupInitializer : androidx/startup/Initializer { + public fun ()V + public synthetic fun create (Landroid/content/Context;)Ljava/lang/Object; + public fun create (Landroid/content/Context;)Lleakcanary/internal/AppWatcherStartupInitializer; + public fun dependencies ()Ljava/util/List; +} + diff --git a/leakcanary-object-watcher-android-startup/src/main/java/leakcanary/internal/AppWatcherStartupInitializer.kt b/leakcanary-object-watcher-android-startup/src/main/java/leakcanary/internal/AppWatcherStartupInitializer.kt index 0ccf0916a0..a8a0f07a7d 100644 --- a/leakcanary-object-watcher-android-startup/src/main/java/leakcanary/internal/AppWatcherStartupInitializer.kt +++ b/leakcanary-object-watcher-android-startup/src/main/java/leakcanary/internal/AppWatcherStartupInitializer.kt @@ -5,7 +5,7 @@ import android.content.Context import androidx.startup.Initializer import leakcanary.AppWatcher -internal class AppWatcherStartupInitializer : Initializer { +class AppWatcherStartupInitializer : Initializer { override fun create(context: Context) = apply { val application = context.applicationContext as Application AppWatcher.manualInstall(application) diff --git a/plumber-android-startup/api/plumber-android-startup.api b/plumber-android-startup/api/plumber-android-startup.api index e69de29bb2..bceb17f56e 100644 --- a/plumber-android-startup/api/plumber-android-startup.api +++ b/plumber-android-startup/api/plumber-android-startup.api @@ -0,0 +1,7 @@ +public final class leakcanary/internal/PlumberStartupInitializer : androidx/startup/Initializer { + public fun ()V + public synthetic fun create (Landroid/content/Context;)Ljava/lang/Object; + public fun create (Landroid/content/Context;)Lleakcanary/internal/PlumberStartupInitializer; + public fun dependencies ()Ljava/util/List; +} + diff --git a/plumber-android-startup/src/main/java/leakcanary/internal/PlumberStartupInitializer.kt b/plumber-android-startup/src/main/java/leakcanary/internal/PlumberStartupInitializer.kt index fd22407d2b..3b2d8079fc 100644 --- a/plumber-android-startup/src/main/java/leakcanary/internal/PlumberStartupInitializer.kt +++ b/plumber-android-startup/src/main/java/leakcanary/internal/PlumberStartupInitializer.kt @@ -5,7 +5,7 @@ import android.content.Context import androidx.startup.Initializer import leakcanary.AndroidLeakFixes -internal class PlumberStartupInitializer : Initializer { +class PlumberStartupInitializer : Initializer { override fun create(context: Context) = apply { val application = context.applicationContext as Application AndroidLeakFixes.applyFixes(application) From d4404c2af639691f726f55b0189f1a3cd4c196f8 Mon Sep 17 00:00:00 2001 From: Da Risk Date: Fri, 8 Jul 2022 12:39:12 -0400 Subject: [PATCH 2/2] Move androidx.startup initializers out of internal package --- .../api/leakcanary-object-watcher-android-startup.api | 4 ++-- .../src/main/AndroidManifest.xml | 2 +- .../leakcanary/{internal => }/AppWatcherStartupInitializer.kt | 3 +-- plumber-android-startup/api/plumber-android-startup.api | 4 ++-- plumber-android-startup/src/main/AndroidManifest.xml | 2 +- .../leakcanary/{internal => }/PlumberStartupInitializer.kt | 3 +-- 6 files changed, 8 insertions(+), 10 deletions(-) rename leakcanary-object-watcher-android-startup/src/main/java/leakcanary/{internal => }/AppWatcherStartupInitializer.kt (87%) rename plumber-android-startup/src/main/java/leakcanary/{internal => }/PlumberStartupInitializer.kt (86%) diff --git a/leakcanary-object-watcher-android-startup/api/leakcanary-object-watcher-android-startup.api b/leakcanary-object-watcher-android-startup/api/leakcanary-object-watcher-android-startup.api index e86891ab1f..95c65c5c64 100644 --- a/leakcanary-object-watcher-android-startup/api/leakcanary-object-watcher-android-startup.api +++ b/leakcanary-object-watcher-android-startup/api/leakcanary-object-watcher-android-startup.api @@ -1,7 +1,7 @@ -public final class leakcanary/internal/AppWatcherStartupInitializer : androidx/startup/Initializer { +public final class leakcanary/AppWatcherStartupInitializer : androidx/startup/Initializer { public fun ()V public synthetic fun create (Landroid/content/Context;)Ljava/lang/Object; - public fun create (Landroid/content/Context;)Lleakcanary/internal/AppWatcherStartupInitializer; + public fun create (Landroid/content/Context;)Lleakcanary/AppWatcherStartupInitializer; public fun dependencies ()Ljava/util/List; } diff --git a/leakcanary-object-watcher-android-startup/src/main/AndroidManifest.xml b/leakcanary-object-watcher-android-startup/src/main/AndroidManifest.xml index efa50c07c9..e82a4538f8 100644 --- a/leakcanary-object-watcher-android-startup/src/main/AndroidManifest.xml +++ b/leakcanary-object-watcher-android-startup/src/main/AndroidManifest.xml @@ -10,7 +10,7 @@ tools:node="merge"> diff --git a/leakcanary-object-watcher-android-startup/src/main/java/leakcanary/internal/AppWatcherStartupInitializer.kt b/leakcanary-object-watcher-android-startup/src/main/java/leakcanary/AppWatcherStartupInitializer.kt similarity index 87% rename from leakcanary-object-watcher-android-startup/src/main/java/leakcanary/internal/AppWatcherStartupInitializer.kt rename to leakcanary-object-watcher-android-startup/src/main/java/leakcanary/AppWatcherStartupInitializer.kt index a8a0f07a7d..b521b0bdb3 100644 --- a/leakcanary-object-watcher-android-startup/src/main/java/leakcanary/internal/AppWatcherStartupInitializer.kt +++ b/leakcanary-object-watcher-android-startup/src/main/java/leakcanary/AppWatcherStartupInitializer.kt @@ -1,9 +1,8 @@ -package leakcanary.internal +package leakcanary import android.app.Application import android.content.Context import androidx.startup.Initializer -import leakcanary.AppWatcher class AppWatcherStartupInitializer : Initializer { override fun create(context: Context) = apply { diff --git a/plumber-android-startup/api/plumber-android-startup.api b/plumber-android-startup/api/plumber-android-startup.api index bceb17f56e..77e8a4ff64 100644 --- a/plumber-android-startup/api/plumber-android-startup.api +++ b/plumber-android-startup/api/plumber-android-startup.api @@ -1,7 +1,7 @@ -public final class leakcanary/internal/PlumberStartupInitializer : androidx/startup/Initializer { +public final class leakcanary/PlumberStartupInitializer : androidx/startup/Initializer { public fun ()V public synthetic fun create (Landroid/content/Context;)Ljava/lang/Object; - public fun create (Landroid/content/Context;)Lleakcanary/internal/PlumberStartupInitializer; + public fun create (Landroid/content/Context;)Lleakcanary/PlumberStartupInitializer; public fun dependencies ()Ljava/util/List; } diff --git a/plumber-android-startup/src/main/AndroidManifest.xml b/plumber-android-startup/src/main/AndroidManifest.xml index 365407919b..e6f89448d9 100644 --- a/plumber-android-startup/src/main/AndroidManifest.xml +++ b/plumber-android-startup/src/main/AndroidManifest.xml @@ -10,7 +10,7 @@ tools:node="merge"> diff --git a/plumber-android-startup/src/main/java/leakcanary/internal/PlumberStartupInitializer.kt b/plumber-android-startup/src/main/java/leakcanary/PlumberStartupInitializer.kt similarity index 86% rename from plumber-android-startup/src/main/java/leakcanary/internal/PlumberStartupInitializer.kt rename to plumber-android-startup/src/main/java/leakcanary/PlumberStartupInitializer.kt index 3b2d8079fc..146e78f22f 100644 --- a/plumber-android-startup/src/main/java/leakcanary/internal/PlumberStartupInitializer.kt +++ b/plumber-android-startup/src/main/java/leakcanary/PlumberStartupInitializer.kt @@ -1,9 +1,8 @@ -package leakcanary.internal +package leakcanary import android.app.Application import android.content.Context import androidx.startup.Initializer -import leakcanary.AndroidLeakFixes class PlumberStartupInitializer : Initializer { override fun create(context: Context) = apply {