From 108cb4cbb0a25a1dea66269144ceeaca1d3a2aec Mon Sep 17 00:00:00 2001 From: Hossain Khan Date: Sat, 6 Apr 2019 07:45:57 -0400 Subject: [PATCH] [NOFIX] [#69] Unable to find the activity leak. I suspect it's likely from the Flashbar library, however nobody has reported any leak issue to it https://github.com/aritraroy/Flashbar/issues So, for now clearing Flashbar instance when it's re-created destroyed. --- .../demo/layoutpreview/LayoutPreviewBaseActivity.kt | 11 ++++++++--- build.gradle | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/hossainkhan/android/demo/layoutpreview/LayoutPreviewBaseActivity.kt b/app/src/main/java/com/hossainkhan/android/demo/layoutpreview/LayoutPreviewBaseActivity.kt index a94b163..f9ce51c 100644 --- a/app/src/main/java/com/hossainkhan/android/demo/layoutpreview/LayoutPreviewBaseActivity.kt +++ b/app/src/main/java/com/hossainkhan/android/demo/layoutpreview/LayoutPreviewBaseActivity.kt @@ -78,8 +78,7 @@ open class LayoutPreviewBaseActivity : AppCompatActivity() { setContentView(layoutResourceId) - viewModel = ViewModelProvider(this, viewModelFactory) - .get(LayoutInfoViewModel::class.java) + viewModel = ViewModelProvider(this, viewModelFactory).get(LayoutInfoViewModel::class.java) viewModel.init(layoutResourceId) supportActionBar?.setDisplayHomeAsUpEnabled(true) @@ -92,6 +91,12 @@ open class LayoutPreviewBaseActivity : AppCompatActivity() { }) } + override fun onStop() { + super.onStop() + flashbar?.dismiss() + flashbar = null + } + private fun updateActionBar(layoutInformation: LayoutInformation) { supportActionBar?.title = layoutInformation.title } @@ -144,7 +149,7 @@ open class LayoutPreviewBaseActivity : AppCompatActivity() { builder.setShowTitle(false) .addDefaultShareMenuItem() val customTabsIntent = builder.build() - customTabsIntent.launchUrl(this, Uri.parse(viewModel.layoutUrl)) + customTabsIntent.launchUrl(applicationContext, Uri.parse(viewModel.layoutUrl)) } diff --git a/build.gradle b/build.gradle index 62e2bf4..8cf0ead 100644 --- a/build.gradle +++ b/build.gradle @@ -107,7 +107,7 @@ ext { daggerVersion = '2.15' // https://github.com/google/dagger timberLibraryVersion = '4.7.1' // https://github.com/JakeWharton/timber leakcanaryLibraryVersion = '1.6.3' // https://github.com/square/leakcanary/releases - flashBarVersion = '1.0.2' // https://github.com/aritraroy/Flashbar/releases + flashBarVersion = '1.0.3' // https://github.com/aritraroy/Flashbar/releases } //