From 437f17b04f6853967f7986d62159516622cf2cfe Mon Sep 17 00:00:00 2001 From: Elchin Gasymov Date: Sun, 4 Aug 2024 13:16:57 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20by?= =?UTF-8?q?ViewBinding?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle.kts | 1 + .../android/diploma/ui/fragments/FavouritesFragment.kt | 10 +++------- .../android/diploma/ui/fragments/FilterFragment.kt | 10 +++------- .../android/diploma/ui/fragments/SearchFragment.kt | 10 +++------- .../android/diploma/ui/fragments/TeamFragment.kt | 10 +++------- .../android/diploma/ui/fragments/VacancyFragment.kt | 10 +++------- gradle/libs.versions.toml | 1 + 7 files changed, 17 insertions(+), 35 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 0d90d44529..6784a09ac0 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -61,6 +61,7 @@ dependencies { implementation(libs.navigation.fragment.ktx) implementation(libs.navigation.ui.ktx) annotationProcessor(libs.compiler) + implementation(libs.byViewBinding) // region Unit tests testImplementation(libs.unitTests.junit) diff --git a/app/src/main/java/ru/practicum/android/diploma/ui/fragments/FavouritesFragment.kt b/app/src/main/java/ru/practicum/android/diploma/ui/fragments/FavouritesFragment.kt index 97c712fd28..449eb08409 100644 --- a/app/src/main/java/ru/practicum/android/diploma/ui/fragments/FavouritesFragment.kt +++ b/app/src/main/java/ru/practicum/android/diploma/ui/fragments/FavouritesFragment.kt @@ -5,24 +5,20 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment +import by.kirich1409.viewbindingdelegate.CreateMethod +import by.kirich1409.viewbindingdelegate.viewBinding import ru.practicum.android.diploma.databinding.FragmentFavouritesBinding class FavouritesFragment : Fragment() { - private var _binding: FragmentFavouritesBinding? = null - private val binding get() = _binding!! + private val binding: FragmentFavouritesBinding by viewBinding(CreateMethod.INFLATE) override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { - _binding = FragmentFavouritesBinding.inflate(inflater, container, false) return binding.root } - override fun onDestroyView() { - super.onDestroyView() - _binding = null - } } diff --git a/app/src/main/java/ru/practicum/android/diploma/ui/fragments/FilterFragment.kt b/app/src/main/java/ru/practicum/android/diploma/ui/fragments/FilterFragment.kt index 5dcaa6601b..7432aff7ed 100644 --- a/app/src/main/java/ru/practicum/android/diploma/ui/fragments/FilterFragment.kt +++ b/app/src/main/java/ru/practicum/android/diploma/ui/fragments/FilterFragment.kt @@ -6,20 +6,20 @@ import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment import androidx.navigation.fragment.findNavController +import by.kirich1409.viewbindingdelegate.CreateMethod +import by.kirich1409.viewbindingdelegate.viewBinding import ru.practicum.android.diploma.R import ru.practicum.android.diploma.databinding.FragmentFilterBinding class FilterFragment : Fragment() { - private var _binding: FragmentFilterBinding? = null - private val binding get() = _binding!! + private val binding: FragmentFilterBinding by viewBinding(CreateMethod.INFLATE) override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { - _binding = FragmentFilterBinding.inflate(inflater, container, false) return binding.root } @@ -31,8 +31,4 @@ class FilterFragment : Fragment() { } } - override fun onDestroyView() { - super.onDestroyView() - _binding = null - } } diff --git a/app/src/main/java/ru/practicum/android/diploma/ui/fragments/SearchFragment.kt b/app/src/main/java/ru/practicum/android/diploma/ui/fragments/SearchFragment.kt index af72f49da9..50bc2005f4 100644 --- a/app/src/main/java/ru/practicum/android/diploma/ui/fragments/SearchFragment.kt +++ b/app/src/main/java/ru/practicum/android/diploma/ui/fragments/SearchFragment.kt @@ -6,20 +6,20 @@ import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment import androidx.navigation.fragment.findNavController +import by.kirich1409.viewbindingdelegate.CreateMethod +import by.kirich1409.viewbindingdelegate.viewBinding import ru.practicum.android.diploma.R import ru.practicum.android.diploma.databinding.FragmentSearchBinding class SearchFragment : Fragment() { - private var _binding: FragmentSearchBinding? = null - private val binding get() = _binding!! + private val binding: FragmentSearchBinding by viewBinding(CreateMethod.INFLATE) override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { - _binding = FragmentSearchBinding.inflate(inflater, container, false) return binding.root } @@ -35,8 +35,4 @@ class SearchFragment : Fragment() { } } - override fun onDestroyView() { - super.onDestroyView() - _binding = null - } } diff --git a/app/src/main/java/ru/practicum/android/diploma/ui/fragments/TeamFragment.kt b/app/src/main/java/ru/practicum/android/diploma/ui/fragments/TeamFragment.kt index effff7c52e..40ee0e2913 100644 --- a/app/src/main/java/ru/practicum/android/diploma/ui/fragments/TeamFragment.kt +++ b/app/src/main/java/ru/practicum/android/diploma/ui/fragments/TeamFragment.kt @@ -5,24 +5,20 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment +import by.kirich1409.viewbindingdelegate.CreateMethod +import by.kirich1409.viewbindingdelegate.viewBinding import ru.practicum.android.diploma.databinding.FragmentTeamBinding class TeamFragment : Fragment() { - private var _binding: FragmentTeamBinding? = null - private val binding get() = _binding!! + private val binding: FragmentTeamBinding by viewBinding(CreateMethod.INFLATE) override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { - _binding = FragmentTeamBinding.inflate(inflater, container, false) return binding.root } - override fun onDestroyView() { - super.onDestroyView() - _binding = null - } } diff --git a/app/src/main/java/ru/practicum/android/diploma/ui/fragments/VacancyFragment.kt b/app/src/main/java/ru/practicum/android/diploma/ui/fragments/VacancyFragment.kt index fe69ea1515..0328c61b23 100644 --- a/app/src/main/java/ru/practicum/android/diploma/ui/fragments/VacancyFragment.kt +++ b/app/src/main/java/ru/practicum/android/diploma/ui/fragments/VacancyFragment.kt @@ -6,20 +6,20 @@ import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment import androidx.navigation.fragment.findNavController +import by.kirich1409.viewbindingdelegate.CreateMethod +import by.kirich1409.viewbindingdelegate.viewBinding import ru.practicum.android.diploma.R import ru.practicum.android.diploma.databinding.FragmentVacancyBinding class VacancyFragment : Fragment() { - private var _binding: FragmentVacancyBinding? = null - private val binding get() = _binding!! + private val binding: FragmentVacancyBinding by viewBinding(CreateMethod.INFLATE) override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { - _binding = FragmentVacancyBinding.inflate(inflater, container, false) return binding.root } @@ -31,8 +31,4 @@ class VacancyFragment : Fragment() { } } - override fun onDestroyView() { - super.onDestroyView() - _binding = null - } } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 0d6fbf0920..969b20d389 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -42,6 +42,7 @@ staticAnalysis-detektTest = { module = "io.gitlab.arturbosch.detekt:detekt-test" staticAnalysis-detektFormatting = { module = "io.gitlab.arturbosch.detekt:detekt-formatting", version.ref = "detekt" } staticAnalysis-detektLibraries = { module = "io.gitlab.arturbosch.detekt:detekt-rules-libraries", version.ref = "detekt" } staticAnalysis-detektTwitterComposeRules = { module = "com.twitter.compose.rules:detekt", version.ref = "detektTwitterComposeRules" } +byViewBinding = "com.github.kirich1409:viewbindingpropertydelegate-full:1.5.9" # AndroidX androidX-core = "androidx.core:core-ktx:1.13.1"