From 20e71f355afc5772e6764e26d8955ed8f20b18c6 Mon Sep 17 00:00:00 2001 From: h4h13 Date: Sun, 1 Mar 2020 20:07:32 +0530 Subject: [PATCH] Fix null safety --- .../retromusic/activities/LyricsActivity.kt | 14 +++++++----- .../dialogs/DeletePlaylistDialog.kt | 4 +--- .../AdaptivePlaybackControlsFragment.kt | 2 +- .../card/CardPlaybackControlsFragment.kt | 2 +- .../fragments/player/fit/FitFragment.kt | 2 +- .../player/fit/FitPlaybackControlsFragment.kt | 6 ++--- .../flat/FlatPlaybackControlsFragment.kt | 13 ++++++----- .../player/flat/FlatPlayerFragment.kt | 2 +- .../player/full/FullPlayerFragment.kt | 2 +- .../fragments/player/normal/PlayerFragment.kt | 6 ++--- .../player/simple/SimplePlayerFragment.kt | 2 +- .../AlbumCoverStylePreferenceDialog.kt | 4 ++-- .../NowPlayingScreenPreferenceDialog.kt | 4 ++-- .../monkey/appthemehelper/util/ATHUtil.kt | 17 ++------------ .../appthemehelper/util/DrawableUtil.kt | 22 ------------------- .../appthemehelper/util/MaterialUtil.kt | 5 +++++ 16 files changed, 40 insertions(+), 67 deletions(-) delete mode 100755 appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/DrawableUtil.kt 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 06b59f873..091b8881f 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 @@ -380,11 +380,15 @@ class LyricsActivity : AbsMusicServiceActivity(), View.OnClickListener, private fun setupLyricsView() { lyricsView.apply { - val context = activity!! - setCurrentPlayLineColor(ThemeStore.accentColor(context)) - setIndicatorTextColor(ThemeStore.accentColor(context)) - setCurrentIndicateLineTextColor(resolveColor(activity, attr.textColorPrimary)) - setNoLrcTextColor(resolveColor(activity, attr.textColorPrimary)) + setCurrentPlayLineColor(ThemeStore.accentColor(requireContext())) + setIndicatorTextColor(ThemeStore.accentColor(requireContext())) + setCurrentIndicateLineTextColor( + resolveColor( + requireContext(), + attr.textColorPrimary + ) + ) + setNoLrcTextColor(resolveColor(requireContext(), attr.textColorPrimary)) setOnPlayIndicatorLineListener(object : LrcView.OnPlayIndicatorLineListener { override fun onPlay(time: Long, content: String) { MusicPlayerRemote.seekTo(time.toInt()) 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 4691d829e..e44d8f876 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 @@ -56,9 +56,7 @@ class DeletePlaylistDialog : DialogFragment() { message(text = content) negativeButton(android.R.string.cancel) positiveButton(R.string.action_delete) { - if (activity == null) - return@positiveButton - PlaylistsUtil.deletePlaylists(activity!!, playlists) + PlaylistsUtil.deletePlaylists(requireContext(), playlists) } negativeButton(android.R.string.cancel) } diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/adaptive/AdaptivePlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/adaptive/AdaptivePlaybackControlsFragment.kt index f78402ac6..77b81d075 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/adaptive/AdaptivePlaybackControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/adaptive/AdaptivePlaybackControlsFragment.kt @@ -106,7 +106,7 @@ class AdaptivePlaybackControlsFragment : AbsPlayerControlsFragment() { override fun setDark(color: Int) { if (ColorUtil.isColorLight( ATHUtil.resolveColor( - context, + requireContext(), android.R.attr.windowBackground ) ) diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/card/CardPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/card/CardPlaybackControlsFragment.kt index 0d3df1bf3..89c5d527f 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/card/CardPlaybackControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/card/CardPlaybackControlsFragment.kt @@ -113,7 +113,7 @@ class CardPlaybackControlsFragment : AbsPlayerControlsFragment() { if (ColorUtil.isColorLight( ATHUtil.resolveColor( - context, + requireContext(), android.R.attr.windowBackground ) ) diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/fit/FitFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/fit/FitFragment.kt index 44461b376..e961ce6ee 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/fit/FitFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/fit/FitFragment.kt @@ -39,7 +39,7 @@ class FitFragment : AbsPlayerFragment() { } override fun toolbarIconColor(): Int { - return ATHUtil.resolveColor(context, R.attr.colorControlNormal) + return ATHUtil.resolveColor(requireContext(), R.attr.colorControlNormal) } override fun onColorChanged(color: Int) { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/fit/FitPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/fit/FitPlaybackControlsFragment.kt index 7dfea6d4c..ab7bafd62 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/fit/FitPlaybackControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/fit/FitPlaybackControlsFragment.kt @@ -113,11 +113,11 @@ class FitPlaybackControlsFragment : AbsPlayerControlsFragment() { } override fun setDark(color: Int) { - val colorBg = ATHUtil.resolveColor(activity, android.R.attr.colorBackground) + val colorBg = ATHUtil.resolveColor(requireContext(), android.R.attr.colorBackground) if (ColorUtil.isColorLight(colorBg)) { - lastPlaybackControlsColor = MaterialValueHelper.getSecondaryTextColor(activity, true) + lastPlaybackControlsColor = MaterialValueHelper.getSecondaryTextColor(requireContext(), true) lastDisabledPlaybackControlsColor = - MaterialValueHelper.getSecondaryDisabledTextColor(activity, true) + MaterialValueHelper.getSecondaryDisabledTextColor(requireContext(), true) } else { lastPlaybackControlsColor = MaterialValueHelper.getPrimaryTextColor(activity, false) lastDisabledPlaybackControlsColor = diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/flat/FlatPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/flat/FlatPlaybackControlsFragment.kt index d21e0401b..b67cb8fb2 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/flat/FlatPlaybackControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/flat/FlatPlaybackControlsFragment.kt @@ -14,7 +14,6 @@ import code.name.monkey.appthemehelper.util.TintHelper import code.name.monkey.retromusic.R import code.name.monkey.retromusic.extensions.hide import code.name.monkey.retromusic.extensions.ripAlpha -import code.name.monkey.retromusic.extensions.setRange import code.name.monkey.retromusic.extensions.show import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment import code.name.monkey.retromusic.helper.MusicPlayerRemote @@ -79,16 +78,18 @@ class FlatPlaybackControlsFragment : AbsPlayerControlsFragment(), Callback { } override fun setDark(color: Int) { - val colorBg = ATHUtil.resolveColor(activity, android.R.attr.colorBackground) + val colorBg = ATHUtil.resolveColor(requireContext(), android.R.attr.colorBackground) val isDark = ColorUtil.isColorLight(colorBg) if (isDark) { - lastPlaybackControlsColor = MaterialValueHelper.getSecondaryTextColor(activity, true) + lastPlaybackControlsColor = + MaterialValueHelper.getSecondaryTextColor(requireContext(), true) lastDisabledPlaybackControlsColor = - MaterialValueHelper.getSecondaryDisabledTextColor(activity, true) + MaterialValueHelper.getSecondaryDisabledTextColor(requireContext(), true) } else { - lastPlaybackControlsColor = MaterialValueHelper.getPrimaryTextColor(activity, false) + lastPlaybackControlsColor = + MaterialValueHelper.getPrimaryTextColor(requireContext(), false) lastDisabledPlaybackControlsColor = - MaterialValueHelper.getPrimaryDisabledTextColor(activity, false) + MaterialValueHelper.getPrimaryDisabledTextColor(requireContext(), false) } val colorFinal = if (PreferenceUtil.getInstance(requireContext()).adaptiveColor) { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/flat/FlatPlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/flat/FlatPlayerFragment.kt index ed558b3a9..1e3a0ffb7 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/flat/FlatPlayerFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/flat/FlatPlayerFragment.kt @@ -100,7 +100,7 @@ class FlatPlayerFragment : AbsPlayerFragment() { return if (PreferenceUtil.getInstance(requireContext()).adaptiveColor) MaterialValueHelper.getPrimaryTextColor(requireContext(), isLight) else - ATHUtil.resolveColor(context, R.attr.colorControlNormal) + ATHUtil.resolveColor(requireContext(), R.attr.colorControlNormal) } override fun onColorChanged(color: Int) { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/full/FullPlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/full/FullPlayerFragment.kt index 2af78fe8e..dabc9197f 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/full/FullPlayerFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/full/FullPlayerFragment.kt @@ -128,7 +128,7 @@ class FullPlayerFragment : AbsPlayerFragment(), MusicProgressViewUpdateHelper.Ca private fun setUpPlayerToolbar() { playerToolbar.apply { - setNavigationOnClickListener { activity!!.onBackPressed() } + setNavigationOnClickListener { requireActivity().onBackPressed() } } } diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/normal/PlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/normal/PlayerFragment.kt index db186aa53..611f76d14 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/normal/PlayerFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/normal/PlayerFragment.kt @@ -70,7 +70,7 @@ class PlayerFragment : AbsPlayerFragment() { } override fun toolbarIconColor(): Int { - return ATHUtil.resolveColor(context, R.attr.colorControlNormal) + return ATHUtil.resolveColor(requireContext(), R.attr.colorControlNormal) } override fun onColorChanged(color: Int) { @@ -80,7 +80,7 @@ class PlayerFragment : AbsPlayerFragment() { ToolbarContentTintHelper.colorizeToolbar( playerToolbar, - ATHUtil.resolveColor(context, R.attr.colorControlNormal), + ATHUtil.resolveColor(requireContext(), R.attr.colorControlNormal), requireActivity() ) @@ -131,7 +131,7 @@ class PlayerFragment : AbsPlayerFragment() { ToolbarContentTintHelper.colorizeToolbar( playerToolbar, - ATHUtil.resolveColor(context, R.attr.colorControlNormal), + ATHUtil.resolveColor(requireContext(), R.attr.colorControlNormal), requireActivity() ) } diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/simple/SimplePlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/simple/SimplePlayerFragment.kt index 525b5f817..d31a8206f 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/simple/SimplePlayerFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/simple/SimplePlayerFragment.kt @@ -96,7 +96,7 @@ class SimplePlayerFragment : AbsPlayerFragment() { playerToolbar.setOnMenuItemClickListener(this) ToolbarContentTintHelper.colorizeToolbar( playerToolbar, - ATHUtil.resolveColor(context, R.attr.colorControlNormal), + ATHUtil.resolveColor(requireContext(), R.attr.colorControlNormal), requireActivity() ) } diff --git a/app/src/main/java/code/name/monkey/retromusic/preferences/AlbumCoverStylePreferenceDialog.kt b/app/src/main/java/code/name/monkey/retromusic/preferences/AlbumCoverStylePreferenceDialog.kt index 89592f284..cb24d941f 100644 --- a/app/src/main/java/code/name/monkey/retromusic/preferences/AlbumCoverStylePreferenceDialog.kt +++ b/app/src/main/java/code/name/monkey/retromusic/preferences/AlbumCoverStylePreferenceDialog.kt @@ -74,10 +74,10 @@ class AlbumCoverStylePreferenceDialog : PreferenceDialogFragmentCompat(), override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { @SuppressLint("InflateParams") val view = - LayoutInflater.from(activity) + LayoutInflater.from(requireContext()) .inflate(R.layout.preference_dialog_now_playing_screen, null) val viewPager = view.findViewById(R.id.now_playing_screen_view_pager) - viewPager.adapter = AlbumCoverStyleAdapter(activity!!) + viewPager.adapter = AlbumCoverStyleAdapter(requireContext()) viewPager.addOnPageChangeListener(this) viewPager.pageMargin = ViewUtil.convertDpToPixel(32f, resources).toInt() viewPager.currentItem = PreferenceUtil.getInstance(requireContext()).albumCoverStyle.ordinal diff --git a/app/src/main/java/code/name/monkey/retromusic/preferences/NowPlayingScreenPreferenceDialog.kt b/app/src/main/java/code/name/monkey/retromusic/preferences/NowPlayingScreenPreferenceDialog.kt index 2ef3b5af4..1638d21ed 100644 --- a/app/src/main/java/code/name/monkey/retromusic/preferences/NowPlayingScreenPreferenceDialog.kt +++ b/app/src/main/java/code/name/monkey/retromusic/preferences/NowPlayingScreenPreferenceDialog.kt @@ -82,7 +82,7 @@ class NowPlayingScreenPreferenceDialog : PreferenceDialogFragmentCompat(), } override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { - val view = LayoutInflater.from(activity) + val view = LayoutInflater.from(requireContext()) .inflate(R.layout.preference_dialog_now_playing_screen, null) val viewPager = view.findViewById(R.id.now_playing_screen_view_pager) ?: throw IllegalStateException("Dialog view must contain a ViewPager with id 'now_playing_screen_view_pager'") @@ -101,7 +101,7 @@ class NowPlayingScreenPreferenceDialog : PreferenceDialogFragmentCompat(), val result = getString(nowPlayingScreen.titleRes) + " theme is Pro version feature." Toast.makeText(context, result, Toast.LENGTH_SHORT).show() - NavigationUtil.goToProVersion(activity!!) + NavigationUtil.goToProVersion(requireContext()) } else { PreferenceUtil.getInstance(requireContext()).nowPlayingScreen = nowPlayingScreen } diff --git a/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/ATHUtil.kt b/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/ATHUtil.kt index be81103dc..1433f6691 100755 --- a/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/ATHUtil.kt +++ b/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/ATHUtil.kt @@ -13,25 +13,12 @@ object ATHUtil { } @JvmOverloads - fun resolveColor(context: Context?, @AttrRes attr: Int, fallback: Int = 0): Int { - val a = context!!.theme.obtainStyledAttributes(intArrayOf(attr)) + fun resolveColor(context: Context, @AttrRes attr: Int, fallback: Int = 0): Int { + val a = context.theme.obtainStyledAttributes(intArrayOf(attr)) try { return a.getColor(0, fallback) } finally { a.recycle() } } - - fun inClassPath(clsName: String): Class<*> { - try { - return Class.forName(clsName) - } catch (t: Throwable) { - throw IllegalStateException( - String.format( - "%s is not in your class path! You must include the associated library.", - clsName - ) - ) - } - } } \ No newline at end of file diff --git a/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/DrawableUtil.kt b/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/DrawableUtil.kt deleted file mode 100755 index 5dd3f1ff4..000000000 --- a/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/DrawableUtil.kt +++ /dev/null @@ -1,22 +0,0 @@ -package code.name.monkey.appthemehelper.util - -import android.graphics.drawable.ColorDrawable -import android.graphics.drawable.Drawable -import android.graphics.drawable.TransitionDrawable -import androidx.annotation.ColorInt - -object DrawableUtil { - - fun createTransitionDrawable(@ColorInt startColor: Int, @ColorInt endColor: Int): TransitionDrawable { - return createTransitionDrawable(ColorDrawable(startColor), ColorDrawable(endColor)) - } - - fun createTransitionDrawable(start: Drawable, end: Drawable): TransitionDrawable { - val drawables = arrayOfNulls(2) - - drawables[0] = start - drawables[1] = end - - return TransitionDrawable(drawables) - } -} diff --git a/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/MaterialUtil.kt b/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/MaterialUtil.kt index 53c2be80c..388e3e376 100644 --- a/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/MaterialUtil.kt +++ b/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/MaterialUtil.kt @@ -10,6 +10,7 @@ import com.google.android.material.textfield.TextInputLayout object MaterialUtil { @JvmOverloads + @JvmStatic fun setTint( button: MaterialButton, background: Boolean = true, color: Int = ThemeStore.accentColor(button.context) @@ -37,6 +38,8 @@ object MaterialUtil { } } + @JvmOverloads + @JvmStatic fun setTint(textInputLayout: TextInputLayout, background: Boolean = true) { val context = textInputLayout.context val accentColor = ThemeStore.accentColor(context) @@ -52,6 +55,8 @@ object MaterialUtil { } } + @JvmOverloads + @JvmStatic fun setTint( button: DialogActionButton, color: Int = ThemeStore.accentColor(button.context),