diff --git a/app/build.gradle b/app/build.gradle
index ac26f5996..94d0d6bb7 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -56,7 +56,6 @@ dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
// Kotlin
- // TODO: Move to kotlin 1.5.0 when they actually release it
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
diff --git a/app/src/main/java/org/oxycblt/auxio/MainFragment.kt b/app/src/main/java/org/oxycblt/auxio/MainFragment.kt
index 4b8a50364..9e844c332 100644
--- a/app/src/main/java/org/oxycblt/auxio/MainFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/MainFragment.kt
@@ -19,7 +19,6 @@ import org.oxycblt.auxio.detail.DetailViewModel
import org.oxycblt.auxio.music.Song
import org.oxycblt.auxio.playback.PlaybackViewModel
import org.oxycblt.auxio.ui.Accent
-import org.oxycblt.auxio.ui.fixAnimInfoLeak
import org.oxycblt.auxio.ui.isLandscape
import org.oxycblt.auxio.ui.isTablet
import org.oxycblt.auxio.ui.toColor
@@ -107,12 +106,6 @@ class MainFragment : Fragment() {
return binding.root
}
- override fun onDestroyView() {
- super.onDestroyView()
-
- fixAnimInfoLeak()
- }
-
/**
* Custom navigator code that has proper animations, unlike BottomNavigationView.setupWithNavController().
*/
diff --git a/app/src/main/java/org/oxycblt/auxio/detail/DetailFragment.kt b/app/src/main/java/org/oxycblt/auxio/detail/DetailFragment.kt
index cef8ec2e8..53adcdf62 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/DetailFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/DetailFragment.kt
@@ -11,7 +11,6 @@ import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView
import org.oxycblt.auxio.databinding.FragmentDetailBinding
import org.oxycblt.auxio.playback.PlaybackViewModel
-import org.oxycblt.auxio.ui.fixAnimInfoLeak
import org.oxycblt.auxio.ui.isLandscape
import org.oxycblt.auxio.ui.memberBinding
@@ -41,12 +40,6 @@ abstract class DetailFragment : Fragment() {
callback.isEnabled = false
}
- override fun onDestroyView() {
- super.onDestroyView()
-
- fixAnimInfoLeak()
- }
-
/**
* Shortcut method for doing setup of the detail toolbar.
* @param menu Menu resource to use
diff --git a/app/src/main/java/org/oxycblt/auxio/library/LibraryFragment.kt b/app/src/main/java/org/oxycblt/auxio/library/LibraryFragment.kt
index c083e2012..dd08cbba3 100644
--- a/app/src/main/java/org/oxycblt/auxio/library/LibraryFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/library/LibraryFragment.kt
@@ -17,7 +17,6 @@ import org.oxycblt.auxio.music.Artist
import org.oxycblt.auxio.music.Genre
import org.oxycblt.auxio.music.Parent
import org.oxycblt.auxio.music.Song
-import org.oxycblt.auxio.ui.fixAnimInfoLeak
import org.oxycblt.auxio.ui.getSpans
import org.oxycblt.auxio.ui.newMenu
@@ -96,12 +95,6 @@ class LibraryFragment : Fragment() {
libraryModel.setNavigating(false)
}
- override fun onDestroyView() {
- super.onDestroyView()
-
- fixAnimInfoLeak()
- }
-
/**
* Navigate to the detail UI for a [parent].
*/
diff --git a/app/src/main/java/org/oxycblt/auxio/search/SearchFragment.kt b/app/src/main/java/org/oxycblt/auxio/search/SearchFragment.kt
index 6d7e4a90d..dcb60d736 100644
--- a/app/src/main/java/org/oxycblt/auxio/search/SearchFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/search/SearchFragment.kt
@@ -22,7 +22,6 @@ import org.oxycblt.auxio.music.Genre
import org.oxycblt.auxio.music.Header
import org.oxycblt.auxio.music.Song
import org.oxycblt.auxio.playback.PlaybackViewModel
-import org.oxycblt.auxio.ui.fixAnimInfoLeak
import org.oxycblt.auxio.ui.getSpans
import org.oxycblt.auxio.ui.newMenu
@@ -127,12 +126,6 @@ class SearchFragment : Fragment() {
searchModel.setNavigating(false)
}
- override fun onDestroyView() {
- super.onDestroyView()
-
- fixAnimInfoLeak()
- }
-
/**
* Function that handles when an [item] is selected.
* Handles all datatypes that are selectable.
diff --git a/app/src/main/java/org/oxycblt/auxio/songs/SongsFragment.kt b/app/src/main/java/org/oxycblt/auxio/songs/SongsFragment.kt
index 06ad68c64..50778f756 100644
--- a/app/src/main/java/org/oxycblt/auxio/songs/SongsFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/songs/SongsFragment.kt
@@ -12,7 +12,6 @@ import org.oxycblt.auxio.databinding.FragmentSongsBinding
import org.oxycblt.auxio.logD
import org.oxycblt.auxio.music.MusicStore
import org.oxycblt.auxio.playback.PlaybackViewModel
-import org.oxycblt.auxio.ui.fixAnimInfoLeak
import org.oxycblt.auxio.ui.getSpans
import org.oxycblt.auxio.ui.newMenu
@@ -67,12 +66,6 @@ class SongsFragment : Fragment() {
return binding.root
}
- override fun onDestroyView() {
- super.onDestroyView()
-
- fixAnimInfoLeak()
- }
-
/**
* Dumb shortcut for getting the first letter in a string, while regarding certain
* semantics when it comes to articles.
diff --git a/app/src/main/java/org/oxycblt/auxio/ui/InterfaceUtils.kt b/app/src/main/java/org/oxycblt/auxio/ui/InterfaceUtils.kt
index 2c24a62cf..a10c50c18 100644
--- a/app/src/main/java/org/oxycblt/auxio/ui/InterfaceUtils.kt
+++ b/app/src/main/java/org/oxycblt/auxio/ui/InterfaceUtils.kt
@@ -13,7 +13,6 @@ import android.os.Looper
import android.util.DisplayMetrics
import android.util.TypedValue
import android.view.LayoutInflater
-import android.view.View
import android.view.WindowManager
import android.widget.ImageButton
import android.widget.TextView
@@ -25,7 +24,6 @@ import androidx.annotation.DrawableRes
import androidx.annotation.PluralsRes
import androidx.annotation.StringRes
import androidx.core.content.ContextCompat
-import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.RecyclerView
import org.oxycblt.auxio.R
import org.oxycblt.auxio.logE
@@ -258,20 +256,3 @@ private fun isSystemBarOnBottom(activity: Activity): Boolean {
return (!canMove || width < height)
}
-
-// --- HACKY NIGHTMARES ---
-
-/**
- * Use ***REFLECTION*** to fix a memory leak in the [Fragment] source code where the focused view
- * will never be cleared. I can't believe I have to do this.
- */
-fun Fragment.fixAnimInfoLeak() {
- try {
- Fragment::class.java.getDeclaredMethod("setFocusedView", View::class.java).apply {
- isAccessible = true
- invoke(this@fixAnimInfoLeak, null)
- }
- } catch (e: Exception) {
- logE("mAnimationInfo leak fix failed.")
- }
-}
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index d87d155a2..1f6ce920a 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -24,16 +24,15 @@
- 0dp
-
com.google.android.material.theme.MaterialComponentsViewInflater
-
- - @style/Theme.CustomDialog
- @style/ThemeOverlay.MaterialComponents.Dialog.Alert
-
-
+ - @style/Theme.CustomDialog
+