From e176b38d8b27b97e4d54b778884d4a5a584ff2e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Brey?= Date: Tue, 28 Jun 2022 17:00:01 +0200 Subject: [PATCH] NewBaseController: Inject kotlin fields without @JvmField and nullable type MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These do not need to be nullable as they will be injected immediately. This will make child controllers code much cleaner. Signed-off-by: Álvaro Brey --- .../nextcloud/talk/controllers/base/NewBaseController.kt | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/controllers/base/NewBaseController.kt b/app/src/main/java/com/nextcloud/talk/controllers/base/NewBaseController.kt index 1fc6ab406..00aef33ac 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/base/NewBaseController.kt +++ b/app/src/main/java/com/nextcloud/talk/controllers/base/NewBaseController.kt @@ -68,12 +68,10 @@ abstract class NewBaseController(@LayoutRes var layoutRes: Int, args: Bundle? = } @Inject - @JvmField - var appPreferences: AppPreferences? = null + lateinit var appPreferences: AppPreferences @Inject - @JvmField - var context: Context? = null + lateinit var context: Context protected open val title: String? get() = null @@ -93,6 +91,8 @@ abstract class NewBaseController(@LayoutRes var layoutRes: Int, args: Bundle? = } init { + @Suppress("LeakingThis") + sharedApplication!!.componentApplication.inject(this) addLifecycleListener(object : LifecycleListener() { override fun postCreateView(controller: Controller, view: View) { onViewBound(view) @@ -271,7 +271,6 @@ abstract class NewBaseController(@LayoutRes var layoutRes: Int, args: Bundle? = } private fun cleanTempCertPreference() { - sharedApplication!!.componentApplication.inject(this) val temporaryClassNames: MutableList = ArrayList() temporaryClassNames.add(ServerSelectionController::class.java.name) temporaryClassNames.add(AccountVerificationController::class.java.name)