From 58dc709a7e5ee3e347727cb2ab008bb6f4a4acdd Mon Sep 17 00:00:00 2001 From: h4h13 Date: Sun, 26 Apr 2020 22:44:18 +0530 Subject: [PATCH] Removed bottom sheet dialog for Activity leaks --- .../monkey/retromusic/activities/AboutActivity.kt | 2 +- .../retromusic/activities/LyricsActivity.kt | 4 ++-- .../retromusic/activities/UserInfoActivity.kt | 4 ++-- .../activities/tageditor/AbsTagEditorActivity.kt | 2 +- .../retromusic/dialogs/AddToPlaylistDialog.kt | 2 +- .../dialogs/ClearSmartPlaylistDialog.kt | 2 +- .../retromusic/dialogs/CreatePlaylistDialog.kt | 2 +- .../retromusic/dialogs/DeletePlaylistDialog.kt | 2 +- .../retromusic/dialogs/DeleteSongsDialog.kt | 2 +- .../dialogs/RemoveFromPlaylistDialog.kt | 2 +- .../retromusic/dialogs/RenamePlaylistDialog.kt | 2 +- .../monkey/retromusic/dialogs/SleepTimerDialog.kt | 2 +- .../monkey/retromusic/dialogs/SongDetailDialog.kt | 2 +- .../monkey/retromusic/dialogs/SongShareDialog.kt | 2 +- .../fragments/settings/ThemeSettingsFragment.kt | 15 +++++++-------- .../retromusic/preferences/LibraryPreference.kt | 4 +--- .../code/name/monkey/retromusic/util/AppRater.kt | 2 +- .../monkey/retromusic/util/RingtoneManager.kt | 2 +- app/src/main/res/values/styles.xml | 1 + 19 files changed, 27 insertions(+), 29 deletions(-) diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/AboutActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/AboutActivity.kt index 704e92c6..361dadf1 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/AboutActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/AboutActivity.kt @@ -128,7 +128,7 @@ class AboutActivity : AbsBaseActivity(), View.OnClickListener { } private fun showChangeLogOptions() { - MaterialDialog(this, BottomSheet(LayoutMode.WRAP_CONTENT)).show { + MaterialDialog(this).show { cornerRadius(PreferenceUtil.getInstance(this@AboutActivity).dialogCorner) listItems(items = listOf("Telegram Channel", "App")) { _, position, _ -> if (position == 0) { diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/LyricsActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/LyricsActivity.kt index 091b8881..b3a690fe 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/LyricsActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/LyricsActivity.kt @@ -170,7 +170,7 @@ class LyricsActivity : AbsMusicServiceActivity(), View.OnClickListener, e.printStackTrace() } - val materialDialog = MaterialDialog(this, BottomSheet(LayoutMode.WRAP_CONTENT)) + val materialDialog = MaterialDialog(this) .show { cornerRadius(PreferenceUtil.getInstance(this@LyricsActivity).dialogCorner) title(R.string.add_time_framed_lryics) @@ -208,7 +208,7 @@ class LyricsActivity : AbsMusicServiceActivity(), View.OnClickListener, } val materialDialog = MaterialDialog( - this, BottomSheet(LayoutMode.WRAP_CONTENT) + this ).show { cornerRadius(PreferenceUtil.getInstance(this@LyricsActivity).dialogCorner) title(R.string.add_lyrics) diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/UserInfoActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/UserInfoActivity.kt index 739bd771..258befbd 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/UserInfoActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/UserInfoActivity.kt @@ -62,7 +62,7 @@ class UserInfoActivity : AbsBaseActivity() { loadBannerFromStorage(PreferenceUtil.getInstance(this).bannerImage) } userImage.setOnClickListener { - MaterialDialog(this, BottomSheet(LayoutMode.WRAP_CONTENT)).show { + MaterialDialog(this).show { cornerRadius(PreferenceUtil.getInstance(this@UserInfoActivity).dialogCorner) title(text = getString(R.string.set_photo)) listItems( @@ -79,7 +79,7 @@ class UserInfoActivity : AbsBaseActivity() { } } bannerSelect.setOnClickListener { - MaterialDialog(this, BottomSheet(LayoutMode.WRAP_CONTENT)).show { + MaterialDialog(this).show { cornerRadius(PreferenceUtil.getInstance(this@UserInfoActivity).dialogCorner) title(R.string.select_banner_photo) listItems( diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/tageditor/AbsTagEditorActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/tageditor/AbsTagEditorActivity.kt index ed170e63..3964d666 100755 --- a/app/src/main/java/code/name/monkey/retromusic/activities/tageditor/AbsTagEditorActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/tageditor/AbsTagEditorActivity.kt @@ -52,7 +52,7 @@ abstract class AbsTagEditorActivity : AbsBaseActivity() { private var savedArtworkInfo: ArtworkInfo? = null protected val show: MaterialDialog - get() = MaterialDialog(this, BottomSheet(LayoutMode.WRAP_CONTENT)).show { + get() = MaterialDialog(this).show { cornerRadius(PreferenceUtil.getInstance(this@AbsTagEditorActivity).dialogCorner) title(R.string.update_image) listItems(items = items) { _, position, _ -> diff --git a/app/src/main/java/code/name/monkey/retromusic/dialogs/AddToPlaylistDialog.kt b/app/src/main/java/code/name/monkey/retromusic/dialogs/AddToPlaylistDialog.kt index 5ea14727..2360e3b8 100644 --- a/app/src/main/java/code/name/monkey/retromusic/dialogs/AddToPlaylistDialog.kt +++ b/app/src/main/java/code/name/monkey/retromusic/dialogs/AddToPlaylistDialog.kt @@ -39,7 +39,7 @@ class AddToPlaylistDialog : DialogFragment() { playlistNames.add(p.name) } - return MaterialDialog(requireContext(), BottomSheet(LayoutMode.WRAP_CONTENT)).show { + return MaterialDialog(requireContext()).show { title(R.string.add_playlist_title) cornerRadius(PreferenceUtil.getInstance(requireContext()).dialogCorner) listItems(items = playlistNames) { dialog, index, _ -> diff --git a/app/src/main/java/code/name/monkey/retromusic/dialogs/ClearSmartPlaylistDialog.kt b/app/src/main/java/code/name/monkey/retromusic/dialogs/ClearSmartPlaylistDialog.kt index 7c48a318..4a667a27 100644 --- a/app/src/main/java/code/name/monkey/retromusic/dialogs/ClearSmartPlaylistDialog.kt +++ b/app/src/main/java/code/name/monkey/retromusic/dialogs/ClearSmartPlaylistDialog.kt @@ -38,7 +38,7 @@ class ClearSmartPlaylistDialog : DialogFragment() { HtmlCompat.FROM_HTML_MODE_LEGACY ) - return MaterialDialog(requireContext(), BottomSheet(LayoutMode.WRAP_CONTENT)).show { + return MaterialDialog(requireContext()).show { title(title) cornerRadius(PreferenceUtil.getInstance(requireContext()).dialogCorner) message(text = content) diff --git a/app/src/main/java/code/name/monkey/retromusic/dialogs/CreatePlaylistDialog.kt b/app/src/main/java/code/name/monkey/retromusic/dialogs/CreatePlaylistDialog.kt index 522d4bc0..3dd81153 100644 --- a/app/src/main/java/code/name/monkey/retromusic/dialogs/CreatePlaylistDialog.kt +++ b/app/src/main/java/code/name/monkey/retromusic/dialogs/CreatePlaylistDialog.kt @@ -43,7 +43,7 @@ class CreatePlaylistDialog : DialogFragment() { override fun onCreateDialog( savedInstanceState: Bundle? ): Dialog { - val materialDialog = MaterialDialog(requireContext(), BottomSheet(LayoutMode.WRAP_CONTENT)) + val materialDialog = MaterialDialog(requireContext()) .show { cornerRadius(PreferenceUtil.getInstance(requireContext()).dialogCorner) title(string.new_playlist_title) diff --git a/app/src/main/java/code/name/monkey/retromusic/dialogs/DeletePlaylistDialog.kt b/app/src/main/java/code/name/monkey/retromusic/dialogs/DeletePlaylistDialog.kt index e44d8f87..0f7a2d23 100644 --- a/app/src/main/java/code/name/monkey/retromusic/dialogs/DeletePlaylistDialog.kt +++ b/app/src/main/java/code/name/monkey/retromusic/dialogs/DeletePlaylistDialog.kt @@ -49,7 +49,7 @@ class DeletePlaylistDialog : DialogFragment() { ) } - return MaterialDialog(requireContext(), BottomSheet(LayoutMode.WRAP_CONTENT)) + return MaterialDialog(requireContext()) .show { cornerRadius(PreferenceUtil.getInstance(requireContext()).dialogCorner) title(title) diff --git a/app/src/main/java/code/name/monkey/retromusic/dialogs/DeleteSongsDialog.kt b/app/src/main/java/code/name/monkey/retromusic/dialogs/DeleteSongsDialog.kt index c3fc9353..fb564728 100644 --- a/app/src/main/java/code/name/monkey/retromusic/dialogs/DeleteSongsDialog.kt +++ b/app/src/main/java/code/name/monkey/retromusic/dialogs/DeleteSongsDialog.kt @@ -59,7 +59,7 @@ class DeleteSongsDialog : DialogFragment() { } } - return MaterialDialog(requireContext(), BottomSheet(LayoutMode.WRAP_CONTENT)).show { + return MaterialDialog(requireContext()).show { title(title) message(text = content) negativeButton(android.R.string.cancel) { diff --git a/app/src/main/java/code/name/monkey/retromusic/dialogs/RemoveFromPlaylistDialog.kt b/app/src/main/java/code/name/monkey/retromusic/dialogs/RemoveFromPlaylistDialog.kt index 66a0c45f..601d7cf5 100644 --- a/app/src/main/java/code/name/monkey/retromusic/dialogs/RemoveFromPlaylistDialog.kt +++ b/app/src/main/java/code/name/monkey/retromusic/dialogs/RemoveFromPlaylistDialog.kt @@ -54,7 +54,7 @@ class RemoveFromPlaylistDialog : DialogFragment() { } - return MaterialDialog(requireContext(), BottomSheet(LayoutMode.WRAP_CONTENT)) + return MaterialDialog(requireContext()) .show { title(title) message(text = content) diff --git a/app/src/main/java/code/name/monkey/retromusic/dialogs/RenamePlaylistDialog.kt b/app/src/main/java/code/name/monkey/retromusic/dialogs/RenamePlaylistDialog.kt index e94d83b6..52097722 100644 --- a/app/src/main/java/code/name/monkey/retromusic/dialogs/RenamePlaylistDialog.kt +++ b/app/src/main/java/code/name/monkey/retromusic/dialogs/RenamePlaylistDialog.kt @@ -39,7 +39,7 @@ class RenamePlaylistDialog : DialogFragment() { private lateinit var actionNewPlaylistContainer: TextInputLayout override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { - val materialDialog = MaterialDialog(requireContext(), BottomSheet(LayoutMode.WRAP_CONTENT)) + val materialDialog = MaterialDialog(requireContext()) .show { cornerRadius(PreferenceUtil.getInstance(requireContext()).dialogCorner) title(string.rename_playlist_title) diff --git a/app/src/main/java/code/name/monkey/retromusic/dialogs/SleepTimerDialog.kt b/app/src/main/java/code/name/monkey/retromusic/dialogs/SleepTimerDialog.kt index 520500ba..a2ed61b0 100755 --- a/app/src/main/java/code/name/monkey/retromusic/dialogs/SleepTimerDialog.kt +++ b/app/src/main/java/code/name/monkey/retromusic/dialogs/SleepTimerDialog.kt @@ -58,7 +58,7 @@ class SleepTimerDialog : DialogFragment() { override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { timerUpdater = TimerUpdater() - materialDialog = MaterialDialog(requireContext(), BottomSheet(LayoutMode.WRAP_CONTENT)) + materialDialog = MaterialDialog(requireContext()) .title(R.string.action_sleep_timer) .cornerRadius(PreferenceUtil.getInstance(requireContext()).dialogCorner) .positiveButton(R.string.action_set) { diff --git a/app/src/main/java/code/name/monkey/retromusic/dialogs/SongDetailDialog.kt b/app/src/main/java/code/name/monkey/retromusic/dialogs/SongDetailDialog.kt index e6201a82..6a6aec0b 100644 --- a/app/src/main/java/code/name/monkey/retromusic/dialogs/SongDetailDialog.kt +++ b/app/src/main/java/code/name/monkey/retromusic/dialogs/SongDetailDialog.kt @@ -55,7 +55,7 @@ class SongDetailDialog : DialogFragment() { val context: Context = requireContext() val song = requireArguments().getParcelable("song") - val materialDialog = MaterialDialog(requireContext(), BottomSheet(LayoutMode.WRAP_CONTENT)) + val materialDialog = MaterialDialog(requireContext()) .show { customView( R.layout.dialog_file_details, diff --git a/app/src/main/java/code/name/monkey/retromusic/dialogs/SongShareDialog.kt b/app/src/main/java/code/name/monkey/retromusic/dialogs/SongShareDialog.kt index ddd6ba86..7d19db82 100644 --- a/app/src/main/java/code/name/monkey/retromusic/dialogs/SongShareDialog.kt +++ b/app/src/main/java/code/name/monkey/retromusic/dialogs/SongShareDialog.kt @@ -34,7 +34,7 @@ class SongShareDialog : DialogFragment() { val currentlyListening: String = getString(R.string.currently_listening_to_x_by_x, song?.title, song?.artistName) - return MaterialDialog(requireContext(), BottomSheet(LayoutMode.WRAP_CONTENT)) + return MaterialDialog(requireContext()) .title(R.string.what_do_you_want_to_share) .show { cornerRadius(PreferenceUtil.getInstance(requireContext()).dialogCorner) diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/ThemeSettingsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/ThemeSettingsFragment.kt index 15f054ac..679287ea 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/ThemeSettingsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/ThemeSettingsFragment.kt @@ -16,7 +16,6 @@ package code.name.monkey.retromusic.fragments.settings import android.os.Build import android.os.Bundle -import android.os.Handler import androidx.preference.Preference import androidx.preference.TwoStatePreference import code.name.monkey.appthemehelper.ACCENT_COLORS @@ -30,9 +29,7 @@ import code.name.monkey.retromusic.App import code.name.monkey.retromusic.R import code.name.monkey.retromusic.appshortcuts.DynamicShortcutManager import code.name.monkey.retromusic.util.PreferenceUtil -import com.afollestad.materialdialogs.LayoutMode import com.afollestad.materialdialogs.MaterialDialog -import com.afollestad.materialdialogs.bottomsheets.BottomSheet import com.afollestad.materialdialogs.color.colorChooser @@ -64,7 +61,7 @@ class ThemeSettingsFragment : AbsSettingsFragment() { accentColorPref.setColor(accentColor, ColorUtil.darkenColor(accentColor)) accentColorPref.setOnPreferenceClickListener { - MaterialDialog(requireActivity(), BottomSheet(LayoutMode.WRAP_CONTENT)).show { + MaterialDialog(requireActivity()).show { cornerRadius(PreferenceUtil.getInstance(requireContext()).dialogCorner) title(R.string.accent_color) positiveButton(R.string.set) @@ -76,9 +73,9 @@ class ThemeSettingsFragment : AbsSettingsFragment() { ThemeStore.editTheme(requireContext()).accentColor(color).commit() if (VersionUtils.hasNougatMR()) DynamicShortcutManager(requireContext()).updateDynamicShortcuts() - Handler().postDelayed({ - requireActivity().recreate() - }, 400) + + requireActivity().recreate() + } } return@setOnPreferenceClickListener true @@ -102,7 +99,9 @@ class ThemeSettingsFragment : AbsSettingsFragment() { findPreference(PreferenceUtil.DESATURATED_COLOR) desaturatedColor?.setOnPreferenceChangeListener { _, value -> val desaturated = value as Boolean - ThemeStore.prefs(requireContext()).edit().putBoolean("desaturated_color", desaturated) + ThemeStore.prefs(requireContext()) + .edit() + .putBoolean("desaturated_color", desaturated) .apply() PreferenceUtil.getInstance(requireContext()).setDesaturatedColor(desaturated) requireActivity().recreate() diff --git a/app/src/main/java/code/name/monkey/retromusic/preferences/LibraryPreference.kt b/app/src/main/java/code/name/monkey/retromusic/preferences/LibraryPreference.kt index cec2e2f6..12f887bc 100644 --- a/app/src/main/java/code/name/monkey/retromusic/preferences/LibraryPreference.kt +++ b/app/src/main/java/code/name/monkey/retromusic/preferences/LibraryPreference.kt @@ -30,9 +30,7 @@ import code.name.monkey.retromusic.adapter.CategoryInfoAdapter import code.name.monkey.retromusic.extensions.colorControlNormal import code.name.monkey.retromusic.model.CategoryInfo import code.name.monkey.retromusic.util.PreferenceUtil -import com.afollestad.materialdialogs.LayoutMode import com.afollestad.materialdialogs.MaterialDialog -import com.afollestad.materialdialogs.bottomsheets.BottomSheet import com.afollestad.materialdialogs.customview.customView import java.util.* @@ -79,7 +77,7 @@ class LibraryPreferenceDialog : PreferenceDialogFragmentCompat() { adapter.attachToRecyclerView(recyclerView) - return MaterialDialog(requireContext(), BottomSheet(LayoutMode.WRAP_CONTENT)) + return MaterialDialog(requireContext()) .title(R.string.library_categories) .cornerRadius(PreferenceUtil.getInstance(requireContext()).dialogCorner) .customView(view = view) diff --git a/app/src/main/java/code/name/monkey/retromusic/util/AppRater.kt b/app/src/main/java/code/name/monkey/retromusic/util/AppRater.kt index d7204fa6..1b2bdbe3 100644 --- a/app/src/main/java/code/name/monkey/retromusic/util/AppRater.kt +++ b/app/src/main/java/code/name/monkey/retromusic/util/AppRater.kt @@ -65,7 +65,7 @@ object AppRater { } private fun showRateDialog(context: Context, editor: SharedPreferences.Editor) { - MaterialDialog(context, BottomSheet(LayoutMode.WRAP_CONTENT)) + MaterialDialog(context) .show { cornerRadius(PreferenceUtil.getInstance(context).dialogCorner) diff --git a/app/src/main/java/code/name/monkey/retromusic/util/RingtoneManager.kt b/app/src/main/java/code/name/monkey/retromusic/util/RingtoneManager.kt index 01953c1f..75ce2138 100644 --- a/app/src/main/java/code/name/monkey/retromusic/util/RingtoneManager.kt +++ b/app/src/main/java/code/name/monkey/retromusic/util/RingtoneManager.kt @@ -75,7 +75,7 @@ class RingtoneManager(val context: Context) { } fun getDialog(context: Context): MaterialDialog { - return MaterialDialog(context, BottomSheet(LayoutMode.WRAP_CONTENT)).show { + return MaterialDialog(context).show { cornerRadius(PreferenceUtil.getInstance(context).dialogCorner) title(R.string.dialog_title_set_ringtone) message(R.string.dialog_message_set_ringtone) diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index d6315604..0781654e 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -12,6 +12,7 @@