diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/LockScreenActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/LockScreenActivity.kt index 8a7d50469..9691ba676 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/LockScreenActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/LockScreenActivity.kt @@ -15,10 +15,10 @@ package code.name.monkey.retromusic.activities import android.app.KeyguardManager -import android.content.Context import android.os.Build import android.os.Bundle import android.view.WindowManager +import androidx.core.content.getSystemService import androidx.core.view.ViewCompat import code.name.monkey.appthemehelper.util.VersionUtils import code.name.monkey.retromusic.R @@ -63,8 +63,8 @@ class LockScreenActivity : AbsMusicServiceActivity() { override fun onSlideClosed(): Boolean { if (VersionUtils.hasOreo()) { val keyguardManager = - getSystemService(Context.KEYGUARD_SERVICE) as KeyguardManager - keyguardManager.requestDismissKeyguard(this@LockScreenActivity, null) + getSystemService() + keyguardManager?.requestDismissKeyguard(this@LockScreenActivity, null) } finish() return true @@ -86,8 +86,8 @@ class LockScreenActivity : AbsMusicServiceActivity() { private fun lockScreenInit() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) { setShowWhenLocked(true) - val keyguardManager: KeyguardManager = getSystemService(KeyguardManager::class.java) - keyguardManager.requestDismissKeyguard(this, null) + val keyguardManager = getSystemService() + keyguardManager?.requestDismissKeyguard(this, null) } else { this.window.addFlags( WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD or diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/bugreport/BugReportActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/bugreport/BugReportActivity.kt index c446fdcfd..22b66929e 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/bugreport/BugReportActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/bugreport/BugReportActivity.kt @@ -29,6 +29,7 @@ import android.widget.Toast import androidx.annotation.StringDef import androidx.annotation.StringRes import androidx.appcompat.app.AlertDialog +import androidx.core.content.getSystemService import code.name.monkey.appthemehelper.ThemeStore import code.name.monkey.appthemehelper.util.MaterialUtil import code.name.monkey.appthemehelper.util.TintHelper @@ -161,9 +162,9 @@ open class BugReportActivity : AbsThemeActivity() { } private fun copyDeviceInfoToClipBoard() { - val clipboard = getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager + val clipboard = getSystemService() val clip = ClipData.newPlainText(getString(R.string.device_info), deviceInfo?.toMarkdown()) - clipboard.setPrimaryClip(clip) + clipboard?.setPrimaryClip(clip) Toast.makeText( this@BugReportActivity, R.string.copied_device_info_to_clipboard, diff --git a/app/src/main/java/code/name/monkey/retromusic/appshortcuts/DynamicShortcutManager.kt b/app/src/main/java/code/name/monkey/retromusic/appshortcuts/DynamicShortcutManager.kt index 6582d408d..a943ed0c8 100644 --- a/app/src/main/java/code/name/monkey/retromusic/appshortcuts/DynamicShortcutManager.kt +++ b/app/src/main/java/code/name/monkey/retromusic/appshortcuts/DynamicShortcutManager.kt @@ -21,14 +21,15 @@ import android.content.pm.ShortcutInfo import android.content.pm.ShortcutManager import android.graphics.drawable.Icon import android.os.Build +import androidx.core.content.getSystemService import code.name.monkey.retromusic.appshortcuts.shortcuttype.LastAddedShortcutType import code.name.monkey.retromusic.appshortcuts.shortcuttype.ShuffleAllShortcutType import code.name.monkey.retromusic.appshortcuts.shortcuttype.TopTracksShortcutType @TargetApi(Build.VERSION_CODES.N_MR1) class DynamicShortcutManager(private val context: Context) { - private val shortcutManager: ShortcutManager = - this.context.getSystemService(ShortcutManager::class.java) + private val shortcutManager: ShortcutManager? = + this.context.getSystemService() private val defaultShortcuts: List get() = listOf( @@ -39,12 +40,12 @@ class DynamicShortcutManager(private val context: Context) { fun initDynamicShortcuts() { // if (shortcutManager.dynamicShortcuts.size == 0) { - shortcutManager.dynamicShortcuts = defaultShortcuts + shortcutManager?.dynamicShortcuts = defaultShortcuts // } } fun updateDynamicShortcuts() { - shortcutManager.updateShortcuts(defaultShortcuts) + shortcutManager?.updateShortcuts(defaultShortcuts) } companion object { @@ -66,7 +67,7 @@ class DynamicShortcutManager(private val context: Context) { } fun reportShortcutUsed(context: Context, shortcutId: String) { - context.getSystemService(ShortcutManager::class.java).reportShortcutUsed(shortcutId) + context.getSystemService()?.reportShortcutUsed(shortcutId) } } } 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 ffd869495..954ad2dad 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 @@ -17,7 +17,6 @@ package code.name.monkey.retromusic.dialogs import android.app.AlarmManager import android.app.Dialog import android.app.PendingIntent -import android.content.Context import android.content.Intent import android.os.Bundle import android.os.CountDownTimer @@ -26,6 +25,7 @@ import android.widget.CheckBox import android.widget.SeekBar import android.widget.TextView import android.widget.Toast +import androidx.core.content.getSystemService import androidx.fragment.app.DialogFragment import code.name.monkey.appthemehelper.util.VersionUtils import code.name.monkey.retromusic.R @@ -93,8 +93,8 @@ class SleepTimerDialog : DialogFragment() { val pi = makeTimerPendingIntent(PendingIntent.FLAG_CANCEL_CURRENT) val nextSleepTimerElapsedTime = SystemClock.elapsedRealtime() + minutes * 60 * 1000 PreferenceUtil.nextSleepTimerElapsedRealTime = nextSleepTimerElapsedTime.toInt() - val am = requireContext().getSystemService(Context.ALARM_SERVICE) as AlarmManager - am.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, nextSleepTimerElapsedTime, pi) + val am = requireContext().getSystemService() + am?.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, nextSleepTimerElapsedTime, pi) Toast.makeText( requireContext(), @@ -105,9 +105,8 @@ class SleepTimerDialog : DialogFragment() { .setNegativeButton(android.R.string.cancel) { _, _ -> val previous = makeTimerPendingIntent(PendingIntent.FLAG_NO_CREATE) if (previous != null) { - val am = - requireContext().getSystemService(Context.ALARM_SERVICE) as AlarmManager - am.cancel(previous) + val am = requireContext().getSystemService() + am?.cancel(previous) previous.cancel() Toast.makeText( requireContext(), diff --git a/app/src/main/java/code/name/monkey/retromusic/extensions/FragmentExtensions.kt b/app/src/main/java/code/name/monkey/retromusic/extensions/FragmentExtensions.kt index 734b60243..a4082a824 100644 --- a/app/src/main/java/code/name/monkey/retromusic/extensions/FragmentExtensions.kt +++ b/app/src/main/java/code/name/monkey/retromusic/extensions/FragmentExtensions.kt @@ -22,6 +22,7 @@ import android.widget.Toast import androidx.annotation.* import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.content.res.AppCompatResources +import androidx.core.content.getSystemService import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentManager import androidx.navigation.fragment.NavHostFragment @@ -41,7 +42,7 @@ val Context.generalThemeValue fun Context.isSystemDarkModeEnabled(): Boolean { val isBatterySaverEnabled = - (getSystemService(Context.POWER_SERVICE) as PowerManager?)?.isPowerSaveMode ?: false + (getSystemService())?.isPowerSaveMode ?: false val isDarkModeEnabled = (resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK) == Configuration.UI_MODE_NIGHT_YES return isBatterySaverEnabled or isDarkModeEnabled diff --git a/app/src/main/java/code/name/monkey/retromusic/extensions/ViewExtensions.kt b/app/src/main/java/code/name/monkey/retromusic/extensions/ViewExtensions.kt index 38f9c64ed..d4e759619 100644 --- a/app/src/main/java/code/name/monkey/retromusic/extensions/ViewExtensions.kt +++ b/app/src/main/java/code/name/monkey/retromusic/extensions/ViewExtensions.kt @@ -16,7 +16,6 @@ package code.name.monkey.retromusic.extensions import android.animation.Animator import android.animation.ObjectAnimator -import android.content.Context import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -27,6 +26,7 @@ import androidx.annotation.LayoutRes import androidx.annotation.Px import androidx.core.animation.doOnEnd import androidx.core.animation.doOnStart +import androidx.core.content.getSystemService import androidx.core.view.* import code.name.monkey.appthemehelper.ThemeStore import code.name.monkey.appthemehelper.util.TintHelper @@ -95,8 +95,8 @@ fun View.focusAndShowKeyboard() { // We still post the call, just in case we are being notified of the windows focus // but InputMethodManager didn't get properly setup yet. val imm = - context.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager - imm.showSoftInput(this, InputMethodManager.SHOW_IMPLICIT) + context.getSystemService() + imm?.showSoftInput(this, InputMethodManager.SHOW_IMPLICIT) } } } diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/other/VolumeFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/other/VolumeFragment.kt index 89d3f5301..67f1b7d1f 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/other/VolumeFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/other/VolumeFragment.kt @@ -14,7 +14,6 @@ */ package code.name.monkey.retromusic.fragments.other -import android.content.Context import android.graphics.Color import android.graphics.PorterDuff import android.media.AudioManager @@ -23,6 +22,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.SeekBar +import androidx.core.content.getSystemService import androidx.fragment.app.Fragment import code.name.monkey.appthemehelper.ThemeStore import code.name.monkey.retromusic.R @@ -42,7 +42,7 @@ class VolumeFragment : Fragment(), SeekBar.OnSeekBarChangeListener, OnAudioVolum private var audioVolumeObserver: AudioVolumeObserver? = null private val audioManager: AudioManager - get() = requireContext().getSystemService(Context.AUDIO_SERVICE) as AudioManager + get() = requireContext().getSystemService()!! override fun onCreateView( inflater: LayoutInflater, diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/circle/CirclePlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/circle/CirclePlayerFragment.kt index 486f44dc5..1763c7351 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/circle/CirclePlayerFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/circle/CirclePlayerFragment.kt @@ -16,7 +16,6 @@ package code.name.monkey.retromusic.fragments.player.circle import android.animation.ObjectAnimator import android.annotation.SuppressLint -import android.content.Context import android.graphics.Color import android.graphics.PorterDuff import android.graphics.drawable.ColorDrawable @@ -28,6 +27,7 @@ import android.view.animation.Animation import android.view.animation.LinearInterpolator import android.widget.SeekBar import androidx.appcompat.widget.Toolbar +import androidx.core.content.getSystemService import code.name.monkey.appthemehelper.ThemeStore import code.name.monkey.appthemehelper.util.ColorUtil import code.name.monkey.appthemehelper.util.MaterialValueHelper @@ -70,7 +70,7 @@ class CirclePlayerFragment : AbsPlayerFragment(R.layout.fragment_circle_player), private var audioVolumeObserver: AudioVolumeObserver? = null private val audioManager: AudioManager - get() = requireContext().getSystemService(Context.AUDIO_SERVICE) as AudioManager + get() = requireContext().getSystemService()!! private var _binding: FragmentCirclePlayerBinding? = null private val binding get() = _binding!! diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/tiny/TinyPlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/tiny/TinyPlayerFragment.kt index a2cdc784e..92ac39bb2 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/tiny/TinyPlayerFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/tiny/TinyPlayerFragment.kt @@ -24,6 +24,7 @@ import android.view.MotionEvent import android.view.View import android.view.animation.LinearInterpolator import androidx.appcompat.widget.Toolbar +import androidx.core.content.getSystemService import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper import code.name.monkey.retromusic.R import code.name.monkey.retromusic.databinding.FragmentTinyPlayerBinding @@ -281,7 +282,7 @@ class TinyPlayerFragment : AbsPlayerFragment(R.layout.fragment_tiny_player), @Suppress("Deprecation") private fun vibrate() { - val v = requireContext().getSystemService(Context.VIBRATOR_SERVICE) as Vibrator? + val v = requireContext().getSystemService() if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { v?.vibrate(VibrationEffect.createOneShot(10, VibrationEffect.DEFAULT_AMPLITUDE)) } else { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt index 4e09645d1..618afee30 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt @@ -15,7 +15,6 @@ package code.name.monkey.retromusic.fragments.search import android.content.ActivityNotFoundException -import android.content.Context import android.content.Intent import android.content.res.ColorStateList import android.os.Bundle @@ -26,6 +25,7 @@ import android.view.View import android.view.ViewGroup import android.view.inputmethod.InputMethodManager import androidx.annotation.IdRes +import androidx.core.content.getSystemService import androidx.core.view.* import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView @@ -231,9 +231,9 @@ class SearchFragment : AbsMainActivityFragment(R.layout.fragment_search), TextWa private fun hideKeyboard(view: View?) { if (view != null) { - val imm: InputMethodManager = - requireContext().getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager - imm.hideSoftInputFromWindow(view.windowToken, 0) + val imm = + requireContext().getSystemService() + imm?.hideSoftInputFromWindow(view.windowToken, 0) } } diff --git a/app/src/main/java/code/name/monkey/retromusic/service/MediaButtonIntentReceiver.kt b/app/src/main/java/code/name/monkey/retromusic/service/MediaButtonIntentReceiver.kt index 54e3e5e4e..e5d39479d 100644 --- a/app/src/main/java/code/name/monkey/retromusic/service/MediaButtonIntentReceiver.kt +++ b/app/src/main/java/code/name/monkey/retromusic/service/MediaButtonIntentReceiver.kt @@ -26,6 +26,7 @@ import android.os.PowerManager.WakeLock import android.util.Log import android.view.KeyEvent import androidx.core.content.ContextCompat +import androidx.core.content.getSystemService import code.name.monkey.retromusic.BuildConfig import code.name.monkey.retromusic.service.MusicService.Companion.ACTION_PAUSE import code.name.monkey.retromusic.service.MusicService.Companion.ACTION_PLAY @@ -169,8 +170,8 @@ class MediaButtonIntentReceiver : BroadcastReceiver() { private fun acquireWakeLockAndSendMessage(context: Context, msg: Message, delay: Long) { if (wakeLock == null) { val appContext = context.applicationContext - val pm = appContext.getSystemService(Context.POWER_SERVICE) as PowerManager - wakeLock = pm.newWakeLock( + val pm = appContext.getSystemService() + wakeLock = pm?.newWakeLock( PowerManager.PARTIAL_WAKE_LOCK, "RetroMusicApp:Wakelock headset button" ) diff --git a/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.kt b/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.kt index 4fd4e9db6..990f611e9 100644 --- a/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.kt +++ b/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.kt @@ -3,8 +3,8 @@ package code.name.monkey.retromusic.util import android.content.SharedPreferences.OnSharedPreferenceChangeListener import android.net.ConnectivityManager import android.net.NetworkInfo -import androidx.core.content.ContextCompat import androidx.core.content.edit +import androidx.core.content.getSystemService import androidx.preference.PreferenceManager import androidx.viewpager.widget.ViewPager import code.name.monkey.appthemehelper.util.VersionUtils @@ -332,10 +332,7 @@ object PreferenceUtil { return when (autoDownloadImagesPolicy) { "always" -> true "only_wifi" -> { - val connectivityManager = ContextCompat.getSystemService( - App.getContext(), - ConnectivityManager::class.java - ) + val connectivityManager = App.getContext().getSystemService() var netInfo: NetworkInfo? = null if (connectivityManager != null) { netInfo = connectivityManager.activeNetworkInfo diff --git a/app/src/main/java/code/name/monkey/retromusic/volume/AudioVolumeObserver.kt b/app/src/main/java/code/name/monkey/retromusic/volume/AudioVolumeObserver.kt index 72c1ebb04..ad8247866 100644 --- a/app/src/main/java/code/name/monkey/retromusic/volume/AudioVolumeObserver.kt +++ b/app/src/main/java/code/name/monkey/retromusic/volume/AudioVolumeObserver.kt @@ -17,10 +17,11 @@ import android.content.Context import android.media.AudioManager import android.os.Handler import android.provider.Settings +import androidx.core.content.getSystemService class AudioVolumeObserver(private val context: Context) { private val mAudioManager: AudioManager = - context.getSystemService(Context.AUDIO_SERVICE) as AudioManager + context.getSystemService()!! private var contentObserver: AudioVolumeContentObserver? = null fun register(audioStreamType: Int, listener: OnAudioVolumeChangedListener) {