From ac126750f6e0de4d860daa38851b1a4ae8bc241d Mon Sep 17 00:00:00 2001 From: meiron03 Date: Tue, 13 Feb 2024 01:58:12 -0500 Subject: [PATCH] Fix more memory leaks lol --- .../com/pennapps/labs/pennmobile/NewsFragment.kt | 12 +++++++++--- .../com/pennapps/labs/pennmobile/SupportFragment.kt | 5 +++++ .../pennapps/labs/pennmobile/api/StudentLife.java | 1 - 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/PennMobile/src/main/java/com/pennapps/labs/pennmobile/NewsFragment.kt b/PennMobile/src/main/java/com/pennapps/labs/pennmobile/NewsFragment.kt index 47d7acfd..f69ea70b 100644 --- a/PennMobile/src/main/java/com/pennapps/labs/pennmobile/NewsFragment.kt +++ b/PennMobile/src/main/java/com/pennapps/labs/pennmobile/NewsFragment.kt @@ -21,7 +21,7 @@ import android.widget.ImageView import android.widget.ListView import android.widget.TextView import androidx.preference.PreferenceManager -import com.google.firebase.analytics.FirebaseAnalytics +import com.pennapps.labs.pennmobile.adapters.HomeAdapter import com.pennapps.labs.pennmobile.databinding.FragmentNewsBinding import java.util.ArrayList @@ -41,6 +41,8 @@ class NewsFragment : ListFragment() { private var isCustomTabsSupported: Boolean = false private lateinit var sharedPreferences: SharedPreferences + private var connection: NewsCustomTabsServiceConnection? = null + private var _binding : FragmentNewsBinding? = null private val binding get() = _binding!! @@ -112,7 +114,7 @@ class NewsFragment : ListFragment() { override fun onActivityCreated(savedInstanceState: Bundle?) { super.onActivityCreated(savedInstanceState) - val connection = NewsCustomTabsServiceConnection() + connection = NewsCustomTabsServiceConnection() context?.let { context -> isCustomTabsSupported = isChromeCustomTabsSupported(context) } @@ -127,7 +129,7 @@ class NewsFragment : ListFragment() { androidx.appcompat.R.anim.abc_popup_enter, androidx.appcompat.R.anim.abc_popup_exit) CustomTabsClient.bindCustomTabsService(context, - CUSTOM_TAB_PACKAGE_NAME, connection) + CUSTOM_TAB_PACKAGE_NAME, connection!!) } addNews() @@ -228,5 +230,9 @@ class NewsFragment : ListFragment() { mActivity.removeTabs() super.onDestroyView() _binding = null + connection?.let { + context?.unbindService(connection!!) + } + } } \ No newline at end of file diff --git a/PennMobile/src/main/java/com/pennapps/labs/pennmobile/SupportFragment.kt b/PennMobile/src/main/java/com/pennapps/labs/pennmobile/SupportFragment.kt index c3517f27..3129461b 100644 --- a/PennMobile/src/main/java/com/pennapps/labs/pennmobile/SupportFragment.kt +++ b/PennMobile/src/main/java/com/pennapps/labs/pennmobile/SupportFragment.kt @@ -81,4 +81,9 @@ class SupportFragment : ListFragment() { mActivity.hideBottomBar() mActivity.setSelectedTab(MainActivity.MORE) } + + override fun onDestroyView() { + mActivity.toolbar.setNavigationOnClickListener(null) + super.onDestroyView() + } } \ No newline at end of file diff --git a/PennMobile/src/main/java/com/pennapps/labs/pennmobile/api/StudentLife.java b/PennMobile/src/main/java/com/pennapps/labs/pennmobile/api/StudentLife.java index a3d7e63e..15f3413e 100644 --- a/PennMobile/src/main/java/com/pennapps/labs/pennmobile/api/StudentLife.java +++ b/PennMobile/src/main/java/com/pennapps/labs/pennmobile/api/StudentLife.java @@ -15,7 +15,6 @@ import com.pennapps.labs.pennmobile.classes.GSRBookingResult; import com.pennapps.labs.pennmobile.classes.GSRLocation; import com.pennapps.labs.pennmobile.classes.GSRReservation; -import com.pennapps.labs.pennmobile.classes.Gym; import com.pennapps.labs.pennmobile.classes.LaundryRequest; import com.pennapps.labs.pennmobile.classes.LaundryRoom; import com.pennapps.labs.pennmobile.classes.LaundryRoomSimple;