Code Cleanup

This commit is contained in:
Prathamesh More 2022-05-12 00:06:01 +05:30
parent 8d81424365
commit 5f5bddf5e9
7 changed files with 52 additions and 71 deletions

View file

@ -31,7 +31,6 @@ import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.activities.base.AbsMusicServiceActivity
import code.name.monkey.retromusic.databinding.ActivityPermissionBinding
import code.name.monkey.retromusic.extensions.*
import code.name.monkey.retromusic.util.RingtoneManager
class PermissionActivity : AbsMusicServiceActivity() {
private lateinit var binding: ActivityPermissionBinding
@ -50,7 +49,7 @@ class PermissionActivity : AbsMusicServiceActivity() {
if (VersionUtils.hasMarshmallow()) {
binding.audioPermission.show()
binding.audioPermission.setButtonClick {
if (RingtoneManager.requiresDialog(this@PermissionActivity)) {
if (hasAudioPermission()) {
val intent = Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS)
intent.data = ("package:" + applicationContext.packageName).toUri()
startActivity(intent)
@ -99,7 +98,8 @@ class PermissionActivity : AbsMusicServiceActivity() {
}
private fun hasStoragePermission(): Boolean {
return ActivityCompat.checkSelfPermission(this , Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED
return ActivityCompat.checkSelfPermission(this,
Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED
}
@RequiresApi(Build.VERSION_CODES.M)

View file

@ -31,6 +31,7 @@ import code.name.monkey.retromusic.extensions.*
import code.name.monkey.retromusic.util.PreferenceUtil
import code.name.monkey.retromusic.util.theme.getNightMode
import code.name.monkey.retromusic.util.theme.getThemeResValue
import com.google.android.play.core.splitcompat.SplitCompat
import java.util.*
abstract class AbsThemeActivity : ATHToolbarActivity(), Runnable {
@ -122,5 +123,6 @@ abstract class AbsThemeActivity : ATHToolbarActivity(), Runnable {
Locale.forLanguageTag(code)
}
super.attachBaseContext(LanguageContextWrapper.wrap(newBase, locale))
SplitCompat.install(this)
}
}

View file

@ -180,11 +180,14 @@ abstract class AbsPlayerFragment(@LayoutRes layout: Int) : AbsMusicServiceFragme
return true
}
R.id.action_set_as_ringtone -> {
if (RingtoneManager.requiresDialog(requireActivity())) {
RingtoneManager.getDialog(requireActivity())
requireContext().run {
if (RingtoneManager.requiresDialog(this)) {
RingtoneManager.showDialog(this)
} else {
RingtoneManager.setRingtone(this, song)
}
val ringtoneManager = RingtoneManager(requireActivity())
ringtoneManager.setRingtone(song)
}
return true
}
R.id.action_go_to_genre -> {
@ -379,9 +382,7 @@ fun goToArtist(activity: Activity) {
findNavController(R.id.fragment_container).navigate(
R.id.artistDetailsFragment,
bundleOf(EXTRA_ARTIST_ID to song.artistId),
navOptions {
launchSingleTop = true
},
null,
null
)
}
@ -402,9 +403,7 @@ fun goToAlbum(activity: Activity) {
findNavController(R.id.fragment_container).navigate(
R.id.albumDetailsFragment,
bundleOf(EXTRA_ALBUM_ID to song.albumId),
navOptions {
launchSingleTop = true
},
null,
null
)
}

View file

@ -66,7 +66,7 @@ class UserInfoFragment : Fragment() {
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
savedInstanceState: Bundle?,
): View {
sharedElementEnterTransition = MaterialContainerTransform().apply {
drawingViewId = R.id.fragment_container
@ -229,7 +229,7 @@ class UserInfoFragment : Fragment() {
model: Any?,
target: Target<Bitmap>?,
dataSource: DataSource?,
isFirstResource: Boolean
isFirstResource: Boolean,
): Boolean {
resource?.let { saveImage(it, USER_BANNER) }
return false
@ -239,7 +239,7 @@ class UserInfoFragment : Fragment() {
e: GlideException?,
model: Any?,
target: Target<Bitmap>?,
isFirstResource: Boolean
isFirstResource: Boolean,
): Boolean {
return false
}
@ -251,15 +251,11 @@ class UserInfoFragment : Fragment() {
lifecycleScope.launch(Dispatchers.IO) {
val appDir = requireContext().filesDir
val file = File(appDir, fileName)
var successful = false
runCatching {
var successful: Boolean
file.outputStream().buffered().use {
successful = ImageUtil.resizeBitmap(bitmap, 2048)
.compress(Bitmap.CompressFormat.WEBP, 100, it)
}
}.onFailure {
it.printStackTrace()
}
if (successful) {
withContext(Dispatchers.Main) {
showToast(R.string.message_updated)
@ -279,7 +275,7 @@ class UserInfoFragment : Fragment() {
model: Any?,
target: Target<Bitmap>?,
dataSource: DataSource?,
isFirstResource: Boolean
isFirstResource: Boolean,
): Boolean {
resource?.let { saveImage(it, USER_PROFILE) }
return false
@ -289,7 +285,7 @@ class UserInfoFragment : Fragment() {
e: GlideException?,
model: Any?,
target: Target<Bitmap>?,
isFirstResource: Boolean
isFirstResource: Boolean,
): Boolean {
return false
}

View file

@ -139,9 +139,7 @@ class SongsFragment : AbsRecyclerViewCustomGridSizeFragment<SongAdapter, GridLay
CastButtonFactory.setUpMediaRouteButton(requireContext(), menu, R.id.action_cast)
}
private fun setUpSortOrderMenu(
sortOrderMenu: SubMenu
) {
private fun setUpSortOrderMenu(sortOrderMenu: SubMenu) {
val currentSortOrder: String? = getSortOrder()
sortOrderMenu.clear()
sortOrderMenu.add(
@ -211,9 +209,7 @@ class SongsFragment : AbsRecyclerViewCustomGridSizeFragment<SongAdapter, GridLay
sortOrderMenu.setGroupCheckable(0, true, true)
}
private fun setupLayoutMenu(
subMenu: SubMenu
) {
private fun setupLayoutMenu(subMenu: SubMenu) {
when (itemLayoutRes()) {
R.layout.item_card -> subMenu.findItem(R.id.action_layout_card).isChecked = true
R.layout.item_grid -> subMenu.findItem(R.id.action_layout_normal).isChecked = true
@ -227,9 +223,7 @@ class SongsFragment : AbsRecyclerViewCustomGridSizeFragment<SongAdapter, GridLay
}
}
private fun setUpGridSizeMenu(
gridSizeMenu: SubMenu
) {
private fun setUpGridSizeMenu(gridSizeMenu: SubMenu) {
when (getGridSize()) {
1 -> gridSizeMenu.findItem(R.id.action_grid_size_1).isChecked = true
2 -> gridSizeMenu.findItem(R.id.action_grid_size_2).isChecked = true
@ -274,9 +268,7 @@ class SongsFragment : AbsRecyclerViewCustomGridSizeFragment<SongAdapter, GridLay
return super.onMenuItemSelected(item)
}
private fun handleSortOrderMenuItem(
item: MenuItem
): Boolean {
private fun handleSortOrderMenuItem(item: MenuItem): Boolean {
val sortOrder: String = when (item.itemId) {
R.id.action_song_sort_order_asc -> SongSortOrder.SONG_A_Z
R.id.action_song_sort_order_desc -> SongSortOrder.SONG_Z_A
@ -297,9 +289,7 @@ class SongsFragment : AbsRecyclerViewCustomGridSizeFragment<SongAdapter, GridLay
return false
}
private fun handleLayoutResType(
item: MenuItem
): Boolean {
private fun handleLayoutResType(item: MenuItem): Boolean {
val layoutRes = when (item.itemId) {
R.id.action_layout_normal -> R.layout.item_grid
R.id.action_layout_card -> R.layout.item_card
@ -317,9 +307,7 @@ class SongsFragment : AbsRecyclerViewCustomGridSizeFragment<SongAdapter, GridLay
return false
}
private fun handleGridSizeMenuItem(
item: MenuItem
): Boolean {
private fun handleGridSizeMenuItem(item: MenuItem): Boolean {
val gridSize = when (item.itemId) {
R.id.action_grid_size_1 -> 1
R.id.action_grid_size_2 -> 2

View file

@ -55,10 +55,9 @@ object SongMenuHelper : KoinComponent {
when (menuItemId) {
R.id.action_set_as_ringtone -> {
if (RingtoneManager.requiresDialog(activity)) {
RingtoneManager.getDialog(activity)
RingtoneManager.showDialog(activity)
} else {
val ringtoneManager = RingtoneManager(activity)
ringtoneManager.setRingtone(song)
RingtoneManager.setRingtone(activity, song)
}
return true
}

View file

@ -27,10 +27,10 @@ import code.name.monkey.retromusic.model.Song
import code.name.monkey.retromusic.util.MusicUtil.getSongFileUri
import com.google.android.material.dialog.MaterialAlertDialogBuilder
class RingtoneManager(val context: Context) {
fun setRingtone(song: Song) {
val resolver = context.contentResolver
object RingtoneManager {
fun setRingtone(context: Context, song: Song) {
val uri = getSongFileUri(song.id)
val resolver = context.contentResolver
try {
val cursor = resolver.query(
@ -52,8 +52,6 @@ class RingtoneManager(val context: Context) {
}
}
companion object {
fun requiresDialog(context: Context): Boolean {
if (VersionUtils.hasMarshmallow()) {
if (!Settings.System.canWrite(context)) {
@ -63,7 +61,7 @@ class RingtoneManager(val context: Context) {
return false
}
fun getDialog(context: Context) {
fun showDialog(context: Context) {
return MaterialAlertDialogBuilder(context, R.style.MaterialAlertDialogTheme)
.setTitle(R.string.dialog_title_set_ringtone)
.setMessage(R.string.dialog_message_set_ringtone)
@ -75,5 +73,4 @@ class RingtoneManager(val context: Context) {
.setNegativeButton(android.R.string.cancel, null)
.create().show()
}
}
}